我有一個 Power Query 查詢,它使用輔助函數查詢從工作簿中的表中提取參數。例如,要按日期範圍過濾,我使用
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each [EventDatetime] >= fnGetParameterValue("EventStartDate") and [EventDatetime] <= fnGetParameterValue("EventEndDate"))
我想做的是僅在 fnGetParameterValue("AccountNumber") 傳回的值不是空字串時進行過濾。
我嘗試在日期過濾步驟之後插入此步驟:
#"Filtered Rows1" = if fnGetParameterValue("AccountNumber") = "" then #"Filtered Rows" else Table.SelectRows(#"Filtered Rows", each [AccountNumber] = fnGetParameterValue("AccountNumber"))
我似乎沒有語法錯誤,但我沒有得到任何數據。
如何有條件地過濾資料?
答案1
我將使用您的函數(例如 [AccountNumber Filter] )並使用您的 if 邏輯新增中間步驟來新增列,如下所示:
if fnGetParameterValue("AccountNumber") = "" then [AccountNumber] else fnGetParameterValue("AccountNumber")
然後我會在過濾步驟中使用該新列,例如
[AccountNumber] = [AccountNumber Filter]
中間步驟對於審查/測試等也將更加清晰。