DAX中SUMMARIZE函数报错:多列无法转换为标量值求助
问题解决:DAX 多列转标量报错
报错原因
你写的SUMMARIZE语句本身语法正确,但错误地将其用在了只能返回单个值(标量)的场景(比如新建计算列)。SUMMARIZE的返回结果是一个多行多列的表,而计算列要求每行只能输出一个单独的值,类型不匹配就触发了这个报错。
解决方案
根据你的需求(按Location分组计算温度平均值并得到一个表),你需要创建计算表而非计算列:
- 在Power BI/SSAS中,点击「建模」选项卡 → 「新建表」
- 粘贴以下代码即可生成目标表:
原代码适配版本
CumpleRequisitos = SUMMARIZE ( weatherausarreglao, weatherausarreglao[Location], "Max_Temp", AVERAGE(weatherausarreglao[MaxTemp]), "Min_Temp", AVERAGE(weatherausarreglao[MinTemp]) )
性能优化版本(推荐)
CumpleRequisitos = SUMMARIZECOLUMNS ( weatherausarreglao[Location], "Max_Temp", AVERAGE(weatherausarreglao[MaxTemp]), "Min_Temp", AVERAGE(weatherausarreglao[MinTemp]) )
执行后会生成一个新表,包含每个Location对应的平均最高温、平均最低温,完全符合你的需求。
内容的提问来源于stack exchange,提问作者kekkotwo
相关产品推荐
相关产品推荐

