Powerbi 如有需要,&;(多条件)变量数据类型错误
我有关于条件的疑问。带有&(和) 当我使用单if条件时,如:Powerbi 如有需要,&;(多条件)变量数据类型错误,powerbi,dax,Powerbi,Dax,我有关于条件的疑问。带有&(和) 当我使用单if条件时,如: Column = IF ( 'For PwerBi'[Cert type for TAT] = "Midterm Routine" && INT ( 24 * 'For PwerBi'[TAT excluding weekends_holidays] ) > 8, ">8Hrs", "NA" ) Column = IF ( 'For PwerBi'[Cert
Column =
IF (
'For PwerBi'[Cert type for TAT] = "Midterm Routine"
&& INT ( 24 * 'For PwerBi'[TAT excluding weekends_holidays] ) > 8,
">8Hrs",
"NA"
)
Column =
IF (
'For PwerBi'[Cert type for TAT] = "Midterm Routine"
&& INT ( 24 * 'For PwerBi'[TAT excluding weekends_holidays] ) < 8,
INT ( 24 * [TAT excluding weekends_holidays] ),
"NA"
)
我没有得到一个错误和输出来
但是,当我添加一个IF条件时,如:
Column =
IF (
'For PwerBi'[Cert type for TAT] = "Midterm Routine"
&& INT ( 24 * 'For PwerBi'[TAT excluding weekends_holidays] ) > 8,
">8Hrs",
"NA"
)
Column =
IF (
'For PwerBi'[Cert type for TAT] = "Midterm Routine"
&& INT ( 24 * 'For PwerBi'[TAT excluding weekends_holidays] ) < 8,
INT ( 24 * [TAT excluding weekends_holidays] ),
"NA"
)
列=
如果(
“对于PwerBi”[TAT的证书类型]=“期中例行程序”
&&INT(24*‘适用于普韦尔比’[TAT不包括周末和节假日]<8,
INT(24*[TAT不包括周末和节假日],
“不适用”
)
这给了我一个错误:
“不能使用产生变量数据类型的表达式来定义
计算列。”
我不明白这个错误的意思。为什么会出现
这是我原来的dax公式-
Column 2 = IF('For PwerBi'[Cert type for TAT]="MR" && INT(24*'For PwerBi'[TAT excluding weekends_holidays])>8,">8Hrs",
IF('For PwerBi'[Cert type for TAT]="MR" && INT(24*'For PwerBi'[TAT excluding weekends_holidays])<=8,FORMAT( INT ( 24 * [TAT excluding weekends_holidays] ), "0" ),
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]<TIMEVALUE("00:30:00"),"<30Min",
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]>=TIMEVALUE("00:30:00") && 'For PwerBi'[TAT excluding weekends_holidays]<TIMEVALUE("01:00:00"),"30 Min - 1 Hr",
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]>=TIMEVALUE("01:00:00") && 'For PwerBi'[TAT excluding weekends_holidays]<TIMEVALUE("01:30:00"),"1 Hr - 1.5 Hr",
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]>=TIMEVALUE("01:30:00") && 'For PwerBi'[TAT excluding weekends_holidays]<TIMEVALUE("02:00:00"),"1.5 Hr - 2 Hr",
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]>=TIMEVALUE("02:00:00") && 'For PwerBi'[TAT excluding weekends_holidays]<TIMEVALUE("02:30:00"),"2 Hr - 2.5 Hr",
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]>=TIMEVALUE("02:30:00") && 'For PwerBi'[TAT excluding weekends_holidays]<TIMEVALUE("03:00:00"),"2.5 Hr - 3 Hr",
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]>=TIMEVALUE("03:00:00") && 'For PwerBi'[TAT excluding weekends_holidays]<TIMEVALUE("03:30:00"),"3 Hr - 3.5 Hr",
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]>=TIMEVALUE("03:30:00") && 'For PwerBi'[TAT excluding weekends_holidays]<TIMEVALUE("04:00:00"),"3.5 Hr - 4 Hr",
IF('For PwerBi'[Cert type for TAT]="MRR" && 'For PwerBi'[TAT excluding weekends_holidays]>=TIMEVALUE("04:00:00"),"> 4 Hr",
IF('For PwerBi'[Cert type for TAT]="Rnw" && INT(24*'For PwerBi'[TAT excluding weekends_holidays])<8,"< 8 Hrs",
IF('For PwerBi'[Cert type for TAT]="Rnw" && INT(24*'For PwerBi'[TAT excluding weekends_holidays])>=8 && INT(24*'For PwerBi'[TAT excluding weekends_holidays])<16,"8 - 16 hrs",
IF('For PwerBi'[Cert type for TAT]="Rnw" && INT(24*'For PwerBi'[TAT excluding weekends_holidays])>=16 && INT(24*'For PwerBi'[TAT excluding weekends_holidays])<24,"16 - 24 hrs",
IF('For PwerBi'[Cert type for TAT]="Rnw" && INT(24*'For PwerBi'[TAT excluding weekends_holidays])>=24 && INT(24*'For PwerBi'[TAT excluding weekends_holidays])<36,"24 hrs - 36 hrs",
IF('For PwerBi'[Cert type for TAT]="Rnw" && INT(24*'For PwerBi'[TAT excluding weekends_holidays])>=36 && INT(24*'For PwerBi'[TAT excluding weekends_holidays]),"36 hrs - 48 hrs",
IF('For PwerBi'[Cert type for TAT]="Rnw" && INT(24*'For PwerBi'[TAT excluding weekends_holidays])>=48,"> 48 hrs",
IF('For PwerBi'[Cert type for TAT]="NA","NA",INT(24*'For PwerBi'[TAT excluding weekends_holidays])))))))))))))))))))
Column 2=IF('对于PwerBi'[TAT的证书类型]=“MR”&&INT(对于PwerBi'[TAT不包括周末和节假日])>8,“>8小时”,
如果('PwerBi'[TAT的证书类型]=“MR”&&INT(PwerBi'[TAT不包括周末和节假日])为48,“>48小时”,
如果(‘对于普韦尔比’[TAT的证书类型】=“NA”、“NA”、INT(24*‘对于普韦尔比’[TAT,不包括周末和节假日])()()()()()(()()(
您的度量值不能同时输出数字和文本。你必须选择其中一个。在第一个度量中,两个结果都是文本。在第二种情况下,True
结果是一个数字,False
结果是文本
要解决此问题,可以使用以下命令将数字转换为文本:
列=
如果(
“对于PwerBi”[TAT的证书类型]=“期中例行程序”
&&INT(24*‘适用于普韦尔比’[TAT不包括周末和节假日]<8,
格式(整数(24*[TAT不包括周末和节假日],“0”),
“不适用”
)
你好,谢谢亚历克西斯的回复和指导。我想在这里分享我的原始配方。。我在同一个地方遇到了一个错误。错误-“生成变量数据类型的表达式不能用于定义计算列。”@PowerBiBeginer答案相同。您需要生成所有输出文本,这意味着格式化最后一行的输出。