Power BI DAX 未计算同比 (YoY%) 变化
Power BI DAX not calculating Year over Year (YoY%) change
我有以下 DAX 代码:
VAR __PREV_YEAR =
CALCULATE(
SUM('data'[Inbounds]),
DATEADD('MonthLookup'[YearMonth].[Date], -1, YEAR)
)
RETURN
DIVIDE(SUM('data'[Inbounds]) - __PREV_YEAR, __PREV_YEAR)
月份查找 Table 如下所示:
MonthLookup Table
数据也有 YearMonth 列:
YearMonth Column
但是,基于 MonthLookup 的 DateAdd 的 DAX 代码显示为 0%,而在数据表 YearMonth 上设置 DateAdd 会导致错误。
DAX YoY% change error
如果您创建一个 Calendar/Dates table(PowerBI 有一个自动功能可以快速创建一个),它在数据日期范围内的每一天都有一个日期,那么 PowerBI 日期逻辑效果最好。 (很多例子,如果你 google 这样做)。然后您可以从数据 table 加入您的日期。完成后,您可以将 powerBI 中的所有期间函数用于前期值。 https://docs.microsoft.com/en-us/dax/time-intelligence-functions-dax.
你的计算应该是这样的:
YOY=
VAR PriorYear = Calculate(SUM('data'[Inbounds]),PREVIOUSYEAR('Dates'[Date]))
RETURN TOTALYTD(SUM('data'[Inbounds]),'Dates'[Date])-PriorYear
一个典型的日期 table 可能看起来像这样:
我有以下 DAX 代码:
VAR __PREV_YEAR =
CALCULATE(
SUM('data'[Inbounds]),
DATEADD('MonthLookup'[YearMonth].[Date], -1, YEAR)
)
RETURN
DIVIDE(SUM('data'[Inbounds]) - __PREV_YEAR, __PREV_YEAR)
月份查找 Table 如下所示:
MonthLookup Table
数据也有 YearMonth 列:
YearMonth Column
但是,基于 MonthLookup 的 DateAdd 的 DAX 代码显示为 0%,而在数据表 YearMonth 上设置 DateAdd 会导致错误。 DAX YoY% change error
如果您创建一个 Calendar/Dates table(PowerBI 有一个自动功能可以快速创建一个),它在数据日期范围内的每一天都有一个日期,那么 PowerBI 日期逻辑效果最好。 (很多例子,如果你 google 这样做)。然后您可以从数据 table 加入您的日期。完成后,您可以将 powerBI 中的所有期间函数用于前期值。 https://docs.microsoft.com/en-us/dax/time-intelligence-functions-dax.
你的计算应该是这样的:
YOY=
VAR PriorYear = Calculate(SUM('data'[Inbounds]),PREVIOUSYEAR('Dates'[Date]))
RETURN TOTALYTD(SUM('data'[Inbounds]),'Dates'[Date])-PriorYear
一个典型的日期 table 可能看起来像这样: