我在 power bi 的 dax 逻辑中面临一个问题,该逻辑为我提供了所选日期的数据总和,例如,我从日期切片器中选择了 1 月 6 日和 1 月 18 日,它将合计 6 日之间的值以及 1 月 18 日...以下是我在 Power BI 中使用的逻辑:
PY Sales W =
VAR SelectedStartDate = MIN('Cal'[Date])
VAR SelectedEndDate = MAX('Cal'[Date])
VAR PreviousYearStartDate = SelectedStartDate - 364
VAR PreviousYearEndDate = SelectedEndDate - 364
RETURN
SUMX(
VALUES('Cal'[FiscalWeek]),
VAR WeekSales =
CALCULATE(
[CY Sales1],
FILTER(
ALL('Cal'),
'Cal'[Date] >= PreviousYearStartDate &&
'Cal'[Date] <= PreviousYearEndDate &&
'Cal'[FiscalWeek] = EARLIER('Cal'[FiscalWeek]) &&
'Cal'[IsPast] = TRUE()
)
)
RETURN
IF(ISBLANK(WeekSales), BLANK(), WeekSales)
your text
我尝试了多种解决方案,有些给我空白。我使用这个逻辑进行日常比较
PY 销售额 = CY 销售额(去年)
我在 PY Sales 中期待的是我前一年同一天的数据
我怀疑
'Cal'[FiscalWeek] = EARLIER('Cal'[FiscalWeek]) &&
是导致问题的部分。 EARLIER
通常用于存在行上下文的计算列。你需要它吗?您想显示基于同一(完整)财政周的 PY 数字吗?
您可以使用DAX时间智能函数并将其简化为:
PY Sales W =
CALCULATE(
[CY Sales1],
SAMEPERIODLASTYEAR('Cal'[Date])
)