2016-09-15 118 views
1

我已經根據我的源數據在PowerQuery中構建了幾個額外的列。 這包括兩個僅返回「TRUE」或「FALSE」的「TextContains」列。 我現在想的附加列突出不同的服務類型和使用這樣的:PowerQuery - 檢查列值是否等於true

if [PSTag] = "PS" then "PS" 
else if [Trainingskit] = "TrainingsKit" then "Training" 
else if [Training] = "Training" then "Training" 
else if [HardwareService] = "TRUE" then "HardwareService" 
else if [TelephoneService] = "TRUE" then "TelephoneService" else "NonService" 

它工作正常前三IF語句,但不包含列在所有的工作只是「真」或者「假」。 前三個包含例如「PS」或「NonPS」或「訓練」或「非訓練」

我確定我「只是」缺少一個非常基本的。

任何幫助,高度讚賞。

回答

3

只包含TRUE或FALSE的列可能是「True/False」數據類型。它們的值在查詢預覽窗口中以斜體字體顯示。

如果您的[HardwareService]和[TelephoneService]列出現這種情況,我會刪除引號,例如寫這樣的東西:

... if [HardwareService] = true then ... 
+0

我試過,但它沒有奏效。然後我再次嘗試使用true而不是TRUE,並且它工作,非常感謝您指出。 – f0rd42

+1

對此抱歉。正如Carl指出的那樣,「M」語言是區分大小寫的,並且關於如何顯示TRUE/FALSE與如何在表達式中輸入正確/錯誤不一致。 –

+0

霍尼工作!有趣的是,內部值似乎是「真」,但寫爲「真」,所以在內部使用的內容(以及需要用作過濾器的內容)和寫入列的內容(可見)之間沒有匹配。 – f0rd42