我有一个SSAS表格模型,我试图使用DAX表达式计算年度年度指标。我有一个名为fact_transaction的表和一个名为dimdate的表,它与我正在尝试的计算相关。 dimdate表具有日期键,日期字段,年份字段,月份字段,期间字段和季度字段。由于需要使用财务期而非数月,SAMEPERIODLASTYEAR将无法用于我的计算。
财务期间与一年中的月份不直接对应,长度可能最多相差2天。有没有办法计算这个而不会太复杂?在SQL查询中,我只是将它与[Year] = [YEAR] -1和Period = Period(以及关系中使用的各种帐户字段)连接起来。不太确定如何在DAX中执行此操作。
答案 0 :(得分:0)
是的,您应该可以在DAX中使用过滤器执行非常类似的操作。如果没有更多细节,很难准确地写出你需要的东西,但也许可以尝试这样的东西:
YoY Metric =
VAR CurrentYear = SELECTEDVALUE(DimDate[Year])
VAR CurrentPeriod = SELECTEDVALUE(DimDate[Period])
RETURN CALCULATE([Expression],
FILTER(ALL(DimDate),
DimDate[Year] = CurrentYear - 1 &&
DimDate[Period] = CurrentPeriod))
修改强>
如果SELECTEDVALUE
不可用,则定义如下变量:
VAR CurrentYear = IF(HASONEVALUE(DimDate[Year]), VALUES(DimDate[Year]))
VAR CurrentPeriod = IF(HASONEVALUE(DimDate[Period]), VALUES(DimDate[Period]))