使用DAX列 2 = IF([lie]=VALUE("2000/01/01"),[部品出荷],IF([lie]=VALUE("2050/01/01"),[部品出荷],[lie])),报不能使用生成变量数据类型的表达式来定义计算列。
时间: 2023-12-01 19:02:27 浏览: 135
根据报错提示,是因为生成变量和计算列的数据类型不匹配,无法使用生成变量数据类型的表达式来定义计算列。
要解决这个问题,可以使用计算列公式来代替生成变量表达式,例如:
```
IF([lie]=VALUE("2000/01/01"),[部品出荷],IF([lie]=VALUE("2050/01/01"),[部品出荷],[lie]))
```
将这个公式直接应用到计算列中,而不是使用生成变量表达式。这样就可以避免数据类型不匹配的问题了。
相关问题
使用以上DAX函数列 2 = IF([lie]="2000/01/01",[部品出荷],IF([lie]="2050/01/01",[部品出荷],[lie])),报DAX 比较操作不支持将类型为 Date 的值和类型为 Text 的值进行比较。请考虑使用 VALUE 或 FORMAT 函数转换其中的一个值。
根据报错提示,是因为IF函数中涉及到了类型为Date的值和类型为Text的值进行比较,而DAX不支持这种比较操作。
要解决这个问题,可以使用VALUE函数将类型为Text的值转换为类型为Date的值,例如:
```
IF([lie]=VALUE("2000/01/01"),[部品出荷],IF([lie]=VALUE("2050/01/01"),[部品出荷],[lie]))
```
这样就可以避免类型不匹配的问题了。
使用DAX公式度量值 2 = IF('库存预判'[日期]<DATE(2023, 6, 13),"true","false")提示该表达式引用多列。多列不能转换为标量值。
同样的,如果您在Power BI中使用DAX公式时出现“该表达式引用多列”的错误提示,可能是因为您的公式中引用了多个列,而IF函数只能返回一个标量值。这时需要将多个列的值进行聚合,可以使用SUM、AVERAGE等聚合函数。
根据您的需求,可以使用以下DAX公式来创建度量值:
```
度量值2 = IF(MIN('库存预判'[日期])<DATE(2023, 6, 13),"true","false")
```
以上公式中,MIN函数将表“库存预判”的列“日期”的最小值进行比较,如果小于指定日期(2023年6月13日),则返回“true”,否则返回“false”。您可以将公式中的“度量值2”替换为您想要使用的度量名称。
阅读全文