在两个日期之间发生DAX

时间:2018-04-26 14:23:18

标签: dax powerpivot

我需要计算其开放日期和结束日期之间的每次出现。

例如,我有以下数据:

ID  beg_dte cmpt_dte
1   8/12/2011   6/29/2012
2   11/3/2011   8/31/2013

我需要知道是否有DAX公式来显示如下数据:

ID  2011    2012    2013
1    1       1       0
2    1       1       1

我尝试了以下DAX计算,但它只给出了最后一个日期,而不是所有日期之间的日期。

=CALCULATE(
COUNTROWS(
FILTER(
table,table[ID]
=CALCULATE(
max(table[ID]),all(table),table[ID] = EARLIER(table[ID]),table[CMPT_DTE] <= values(Calendar[DateKey])))),LASTDATE(Calendar[DateKey]))

1 个答案:

答案 0 :(得分:0)

如果你多年创建一个单独的表,然后将两个表加载到数据模型中,你可以创建一个像这样的数据透视表:

Pivot Table

在“值”框中使用以下度量的位置:

YearBoolean = IF((YEAR(MIN(Table1[beg_dte]))  <= MAX(Years[Year])) &&
                 (YEAR(MAX(Table1[cmpt_dte])) >= MAX(Years[Year])),
                 1, 0)