簡體   English   中英

電源查詢

[英]Power Query excel

我正在嘗試在電源查詢中使用 if 公式。 例如,如果 Column 包含“guy”,則值為 male,false 值為“female”。 我嘗試了不同的方法,但找不到在冪查詢中使用的正確公式。 誰能幫幫我嗎?

如果您將其輸入到“ Add Custom Column ”對話框中,則類似於(不區分大小寫):

= if Text.Contains([Column],"guy", Comparer.OrdinalIgnoreCase) then "male" else "female"

聽起來您想根據該列中的現有值有條件地替換該列中的值? 如果是這樣,您可以在 Power Query 中使用 Table.ReplaceValue function:

= Table.ReplaceValue(Source,
each [Gender],
each if [Gender] = "guy" then "male" else "female",
Replacer.ReplaceText,{"Gender"})

正如您所說,這會將“guy”的所有值更改為“male”,並將所有其他值更改為“female”。

您還可以通過簡單地引用列名而不是指定新值來保留不符合條件的值:

= Table.ReplaceValue(Source,
each [Gender],
each if [Gender] = "guy" then "male" else [Gender],
Replacer.ReplaceText,{"Gender"})

創建一個包含名為 Gender 的列的表,並將其加載到電源查詢中。 右鍵單擊列 header 並選擇替換值以獲取 UI 來為您構建語句,然后將生成的代碼替換為上述修改並應用於您的實際需求。 關鍵是使用each表達式告訴 Power Query 在行值級別進行測試。 如果省略each ,您將看到錯誤:

“Expression.Error:有一個未知的標識符。您是否在“每個”表達式之外使用了 _[field] 的 [field] 簡寫?

= Table.AddColumn(#"Changed Type","ColumnName",each if[Column] ="""Guy""" then"""Male""" else"""Female""")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM