考虑下表:
Group ID Date
1001 2014-01-05
1001 2014-01-12
1001 2014-01-22
1002 2014-01-15
1002 2014-01-19
如何在几天内计算一组内的持续时间?持续时间定义为日期[k] - 日期[0]
例如:所需的表应如下所示:
Group ID Date Duration
1001 2014-01-05 0
1001 2014-01-12 7
1001 2014-01-22 17
1002 2014-01-15 0
1002 2014-01-19 4
我尝试使用MINX返回群组的第一个日期值:
= MINX(过滤器(表;表[组ID] =表[组ID]);表[日期])
但返回的值是整个表的最小值,就像 FILTER 返回整个表一样。
答案 0 :(得分:1)
目前尚不清楚您是否正在尝试生成计算列或度量值 - 您可能应该尝试更晚但可以以任何方式完成。
计算的列只是:
= [Date] - CALCULATE(MIN(Table[Date]), FILTER(Table, Table[Group_ID] = EARLIER(Table[Group_ID])))
措施更强大!你可以得到这个日期
[Raw Measure] = MAX(Table[Date]) - CALCULATE(MIN(Table[Date]), ALL(Table[Date]))
这是有效的,因为ALL()在Date列上打开过滤器上下文,同时在组上保留过滤器。
您需要迭代此度量,因为它会反对总数,在此示例中您可以使用:
[Iterated Measure] = SUMX(Table, [Raw Measure])
答案 1 :(得分:0)
可能取决于你需要做什么,但是......
= MAX(表[日期]) - MIN(表[日期])理论上可以在行上使用GroupID吗?