【发布时间】:2021-11-05 14:10:51
【问题描述】:
我尝试使用 ADDCOLUMNS() 到 CALENDARAUTO() 表在 PBI Desktop 中创建 DAX 计算表。所有计算的列都工作得很好,除了随机的少数计算在使用[Date] 列时出现问题并给出错误:
无法找到列“日期”或不能在此表达式中使用。
参数不是修正类型
此计算(加上其他十几个)已成功计算:
- "SortDesc_Date"
"SortDesc_Date", - DATEDIFF(date(9999, 12, 31), [Date], DAY)
这 3 个计算失败:
- “Mo_startDate”
"Mo_startDate", STARTOFMONTH([Date])
- “Yr_startDate”
"Yr_startDate", STARTOFYEAR([Date])
- “SortDesc_YrMo”
"SortDesc_YrMo", - DATEDIFF(date(9999, 12, 31), STARTOFMONTH([Date]), MONTH)
有没有人知道为什么这些列有计算错误?
脚本(更新)
在更正列以替代时间智能函数的使用后工作。
Calendar (v3) =
-- var_MoName = FORMAT([Date], "MMM")
-- var_MoStartDate = EOMONTH([Date],-1) + 1
ADDCOLUMNS (
CALENDARAUTO (),
"DateKey", FORMAT([Date], "YYYY") & FORMAT([Date], "MM") & FORMAT([Date], "DD")
, "Year", YEAR([Date])
, "Mo", MONTH([Date])
, "day", DAY([Date])
, "Mo Name", FORMAT([Date], "MMM")
, "Mo-Yr", FORMAT([Date], "MMM") &"-"& FORMAT([Date],"YY")
, "Mo_startDate", EOMONTH([Date],-1) + 1
, "Yr_startDate", DATE(YEAR([Date]),1,1)
, "Qtr", QUARTER([Date])
, "Qtr Name", "Qtr " & FORMAT([Date], "Q")
, "Yr Name", "YR " & FORMAT([Date], "YYYY")
, "Mo_endDate", EOMONTH([Date],0)
, "SortDesc_YrMo", - DATEDIFF(date(9999, 12, 31), EOMONTH([Date],-1)+1, MONTH)
, "SortDesc_Date", - DATEDIFF(date(9999, 12, 31), [Date], DAY)
, "Date (DESC)", [Date]
, "Mo-Yr (DESC)", FORMAT([Date], "MMM") &"-"& FORMAT([Date],"YY")
)
【问题讨论】: