2016-09-15 280 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