Power BI DAX报错:无法转换为标量值问题求助
DAX表达式报错“无法将多个列转换为标量值”的解决办法
你遇到的问题核心是返回值类型不匹配:
SUMMARIZE函数的返回结果是一个表(包含Date列和计算出的Distinct列)- 如果你是在创建度量值,Power BI要求度量值必须返回单个标量值(比如数字、文本等),表类型的返回值就会触发这个报错
对应解决方法:
情况1:你需要创建计算表
直接在Power BI的「建模」选项卡中点击「新建计算表」,粘贴你的代码即可,计算表支持返回表类型的结果,不会报错。
情况2:你需要创建度量值
不需要用SUMMARIZE,直接用基础聚合函数就能实现需求:
Distinct Identity Count = DISTINCTCOUNT(MailboxStatisticsHistorical[Identity])
之后在视觉对象中添加MailboxStatisticsHistorical[Date]列和这个度量值,Power BI会自动按日期分组计算每日的唯一Identity数量。
如果确实需要在度量值中使用SUMMARIZE(比如复杂场景),必须用标量函数包裹表结果,例如用SUMX汇总分组后的数值:
Summarize Measure = SUMX( SUMMARIZE( MailboxStatisticsHistorical, MailboxStatisticsHistorical[Date], "Distinct", DISTINCTCOUNT(MailboxStatisticsHistorical[Identity]) ), [Distinct] )
但这种写法对于你的基础需求来说完全没必要,推荐直接用DISTINCTCOUNT的写法。
内容的提问来源于stack exchange,提问作者Lord Helmet
相关产品推荐
相关产品推荐

