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