如何在Power BI DAX的DATATABLE列中添加表达式计算值
问题解答
错误原因
DATATABLE函数的核心限制是:其定义的行数据必须是常量表达式,不能引用动态计算的变量(比如依赖筛选上下文的SUM('Orders'[Sales]))。你的total变量是基于数据集动态计算的结果,不属于常量范畴,因此触发了报错。
解决方案
要实现「静态行+动态计算值」的表,推荐使用UNION结合ROW函数来构建,这种方式支持插入动态计算的结果:
data table = VAR total = SUM('Orders'[Sales]) RETURN UNION( ROW("name", "ram", "amount", total, "city", "mohali"), ROW("name", "karan", "amount", 25, "city", "mohali"), ROW("name", "atul", "amount", 25, "city", "mohali"), ROW("name", "vaibhav", "amount", 25, "city", "mohali") )
补充说明
如果需要处理大量静态行,也可以先通过DATATABLE创建基础静态表,再通过SELECTCOLUMNS或MODIFYCOLUMNS替换指定行的动态值,但UNION+ROW的写法更直接直观,适合少量行的场景。
内容的提问来源于stack exchange,提问作者ak star
相关产品推荐
相关产品推荐

