使用开关的左功能:"DAX Comparison operations do not support comparing values of type Integer with values of t



这是我第一次发布到stackoverflow,昨天刚刚进入PowerBI世界,因为我的公司使用Access和VB代码编写所有报告,我已经受够了。

我目前正在尝试创建一个新的列来写入序列号。这可以通过使用PNUM的前2或4位数字来实现。例如,系列20将由2003、2010或RH20\strong>1564、CH20=strong>3456等表示。对于我的新专栏,我希望所有这些结果都是20。

下面是我当前为本专栏编写的代码,使用SWITCH中的LEFT函数。我不明白什么时候标题中提到了这个错误。

FormulaCode2 = 
SWITCH(
LEFT('Overall Product Portfolio Planning'[PNUM],2 ="RH"),20,
LEFT('Overall Product Portfolio Planning'[PNUM],2 ="ZR"),20,
LEFT('Overall Product Portfolio Planning'[PNUM],2 ="CD"),20
)

注:起初,我尝试了最简单的方法,尝试创建一个列表的VAR,如{"a".."z"},以捕捉可能出现在系列前面的所有可能形式的AA-zz。然而,我走不了多远。我希望DAX使用通配符,这样放起来会容易得多??20岁,就这样算了!

如果有人阅读我的长篇解释,我将不胜感激。我希望能为这个社区做出贡献,尽我所能学习!谢谢

[PNUM]柱

您的语法有点错误。SWITCH的第一个参数是要检查的内容。

我想这就是你想要写的。

FormulaCode2 =
SWITCH (
LEFT ( 'Overall Product Portfolio Planning'[PNUM], 2 ),
"RH", 20,
"ZR", 20,
"CD", 20
)

另一方面,如果要提取第3个和第4个字符,则可以使用MID而不是LEFT。

MID ( 'Overall Product Portfolio Planning'[PNUM], 3, 2 )

最新更新