是否可以使用DAX根据PowerPivot表中字段的最新值获取不同的行数?
我有一个交易表,可以跟踪专业人员的雇用和调动日期。我想根据他们最近的办公室计算专业人员的数量。通过这种方式,作为通过组织转移的专业人士,我们可以看到他们在特定时刻的位置。
交易表:
Name | Action | EffectiveDate | Office
-----------------------------------------
Peter | Hire | 1/10/2014 | STL
John | Hire | 2/5/2014 | STL
John | Transfer | 3/2/2014 | LAX
Jason | Hire | 6/4/2014 | STL
John | Transfer | 9/10/2014 | CHI
期望的输出:
Office | Distinct Count
-----------------------
CHI | 1
STL | 2
-----------------------
Total | 3
我创建了一个使用DISTINCTCOUNT函数的度量。有了这个,我就能得到正确的总计,但个别办公室的总计不是我想要的。我知道我下面的公式正在做我所要求的。但是,我不确定如何使其仅根据最近的生效日期返回专业办公室
DistinctCount:=DISTINCTCOUNT(TransactionTable[Name])
这是使用我创建 的DistinctCount度量的输出
我假设我将不得不使用CALCULATE函数并应用FILTER函数来获取不同专业人士最近的办公室,但我不确定它会是什么样子。
DistinctCountPerOffice:=CALCULATE (
DISTINCTCOUNT(TransactionTable[Name]),
FILTER (
?.....?
)
)
此外,我们希望这些数据按月份或季度进行时间分段。这将使我们能够看到每个办公室随时间的累积计数。我们有一个定义月份、季度和年份的日期表。
日期表:
CalendarDate | Month Key | Month Name | Quarter Name | Year
-----------------------------------------------------------
1/1/2014 | 1.00 | Jan | Q1 | 2014
1/2/2014 | 1.00 | Jan | Q1 | 2014
...
2/1/2014 | 2.00 | Feb | Q1 | 2014
....
8/1/2014 | 8.00 | Aug | Q3 | 2014
..
9/2/2014 | 9.00 | Sep | Q3 | 2014
..
12/16/2014 | 12.00 | Dec | Q4 | 2014
我已经能够完成这方面的时间分段,但计数不是基于专业人员最近的办公室
Cumulative DistinctCount:=CALCULATE (
DISTINCTCOUNT(TransactionTable[Name]),
FILTER (
ALL ( 'Dates'[CalendarDate] ),
'Dates'[CalendarDate] <= MAX (Dates[CalendarDate] )
)
)
然而,我的公式再次并非旨在仅获得专业人士最近的办公室。然而,总计是正确的。
下面是我们希望看到但无法获得的输出。
使用数月累积总计的期望输出:
Month | CHI | LAX | STL
-----------------------
Jan | 0 | 0 | 1
Feb | 0 | 0 | 2
Mar | 0 | 1 | 1
Apr | 0 | 1 | 1
May | 0 | 1 | 1
Jun | 0 | 1 | 2
Jul | 0 | 1 | 2
Aug | 0 | 1 | 2
Sep | 1 | 0 | 2
Oct | 1 | 0 | 2
Nov | 1 | 0 | 2
Dec | 1 | 0 | 2