我有2个表具有由'fiscalWeekEnddate'值定义的多到一个关系的表格,例如;
wordstable
FiscalWeekEndDate | WordGroup | IndexedVolume
01/01/2017 | Dining | 1,000
01/01/2017 | Shopping | 2,000
08/01/2017 | Dining | 2,000
08/01/2017 | Sports | 5,000
fiscaldateStable
FiscalWeekEndDate | FiscalWeek | FiscalMonth | FiscalQuarter | FiscalYear
01/01/2017 | 21 | 5 | 2 | 2017
08/01/2017 | 22 | 5 | 2 | 2017
我正在尝试在DAX(上一年(中创建一个简单的PY等效度量,该措施在各个级别的层次结构上都起作用 - 即适用于所选财政周,月,四分之一或一年的PY。我不想要ytd(迄今为止(的措施。
这就是我到目前为止的;
Previous Year Indexed Volume:=
CALCULATE([IndexedVolume],
FILTER(ALL('FiscalDatesTable'),'FiscalWeeksTable'[FiscalWeek]=
MAX('FiscalDatesTable'[FiscalWeek]) && 'FiscalDatesTable'[FiscalYear] =
MAX('FiscalDatesTable'[FiscalYear]) - 1))
正在返回这种类型的结果;
Fiscal Year 2017: 7,000
Fiscal Quarter 2: 7,000
Fiscal Month 5: 7,000
Fiscal Week 22: 7,000
Fiscal Week 21: 3,000
基本上,最高财政周的价值(22:7,000(将在月,季度或年度范围内退还。我知道这是由于我的DAX过滤器而出现的问题,但不确定还要尝试什么。
所需的结果将为我提供正确的上一年索引值值,而不管选择的时间维度如何。即,如下所示;
Fiscal Year 2017: 10,000
Fiscal Quarter 2: 10,000
Fiscal Month 5: 10,000
Fiscal Week 22: 7,000
Fiscal Week 21: 3,000
进行了几个小时的研究,我终于通过将'先前的fiscalweekenddate'引入逻辑中来破解它。
如果有人觉得它有用,这是方法。
Previous Year Indexed Volume:=
CALCULATE([IndexedVolume],
FILTER (
ALL ( 'FiscalDatesTable' ),
CONTAINS (
VALUES ( 'FiscalDatesTable'[PreviousYearFiscalWeekEndDate] ),
'FiscalDatesTable'[PreviousYearFiscalWeekEndDate],
'FiscalDatesTable'[FiscalWeekEndDate]
)
)
)