【问题标题】:DAX calculated table column error - PBI Desktop ADDCOLUMNS() to CALENDARAUTO()DAX 计算表列错误 - PBI 桌面 ADDCOLUMNS() 到 CALENDARAUTO()
【发布时间】: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")
)

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    STARTOFMONTHSTARTOFYEAR 是时间智能函数,它们需要一个日期 作为第一个参数,而不是单个日期值。它们旨在用于操作过滤器上下文而不是单个日期值的度量。

    您可以改用以下定义:

    "Mo_startDate", EOMONTH ( [Date], -1 ) + 1
    
    "Yr_startDate", DATE ( YEAR ( [Date] ), 1, 1 )
    

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多