Power BI日期表创建报错:表达式引用多列无法转换为标量值
解决DAX创建日期表时的报错问题
错误原因
你写的DAX语句里,"Quarter" & FORMAT([Date],"Q")这一行不符合ADDCOLUMNS的语法要求。ADDCOLUMNS的每一列定义必须是"列名", 计算表达式的格式,而你这里直接做了字符串拼接,导致DAX无法识别列名和对应的表达式,从而抛出“无法将多列转换为标量值”的错误。
修正后的DAX代码
Date = ADDCOLUMNS ( CALENDAR (DATE (2021, 01, 01), DATE (2030, 12, 30)), "DateAsInteger", FORMAT([Date], "YYYYMMDD"), "Year", YEAR([Date]), "YearMonthNumber", FORMAT([Date],"YYYY/MM"), "MonthNameShort", FORMAT([Date],"mmm"), "MonthNameLong", FORMAT([Date],"mmmm"), "Quarter", FORMAT([Date],"Q"), -- 修正列名定义 "YearQuarter", FORMAT([Date], "YYYY/Q#"), -- 简化格式写法 "MonthNumber", FORMAT([Date],"MM"), "DayOfWeekNumber", WEEKDAY([Date]), "DayOfWeek", FORMAT([Date],"dddd"), "DayOfWeekShort", FORMAT([Date], "ddd") )
关键说明
- 修正了
Quarter列的定义:明确指定列名为"Quarter",对应表达式为FORMAT([Date],"Q") - 优化了
YearQuarter的格式:直接用"YYYY/Q#"替代原有的嵌套FORMAT写法,结果一致但更简洁 - 所有列都严格遵循
"列名", 表达式的格式,确保DAX能正确解析
内容的提问来源于stack exchange,提问作者Rock Rock
相关产品推荐
相关产品推荐

