2016-03-30 18 views
2

DAXを使用して、PowerPivotのグループ全体で値を取得しようとしています。PowerPivot DAX Text Windowingグループ全体の値を繰り返す機能

私は、この種のウィンドウ処理をグループの要約のために機能させることができましたが、今はテキスト値のためにそれを動作させようとしています。 注文 - -

は一例として、私は次の表を持っている私のPowerPivotモデルに次のように

 
OrderID ItemName Price IsSelected 
1   Printer 100   
1   Laptop  200  Y   
1   Ink  50    
2   Laptop  200    
2   Pen  10  Y 

私がモデルに計算列を追加したいと思います:

 
OrderID ItemName Price IsSelected Order_SelectedItem 
1   Printer 100     Laptop 
1   Laptop  200  Y   Laptop 
1   Ink  50     Laptop 
2   Laptop  200     Pen 
2   Pen  10  Y   Pen 

これを必要とする理由は、このモデルのユーザーは一般的に結果ピボットのOrderIDでグループ化し、このようなフィールドを持つと、注文の「選択された」アイテムありました。

VALUES機能があまりにも多くの行に戻ってくるように私は、

しかし
=IF(Orders[IsSelected]=1, [ItemName], BLANK()) 

は、BLANKは、次のように干渉している私のウィンドウ関数を前駆体として、計算されたコラム、SelectedItemNameを作成しようとしましたグループごと:

=CALCULATE(VALUES(Orders[SelectedItemName]); ALLEXCEPT(Orders; Orders[OrderID])) 

ALLNOBLANKROWがこれを固定するのに役立ちませんでした...私は上の要約、各種フィルタ、およびを使用しようとしましたが、私はちょうどそれをクラックするために管理していません。

シンプルなもの(類似の数値集計はかなり簡単です)のように思えますが、私は明白な解決策を見つけられませんでした。この特定の問題を持つ他の人は見つかりませんでした。

多くの感謝!

答えて

2

あなたは、あなたの計算列

=CALCULATE(
    FIRSTNONBLANK(Orders[ItemName],COUNTROWS(Orders)) 
    ,FILTER(Orders, [IsSelected] = "Y" 
        && Orders[OrderID] = EARLIER(Orders[OrderID])) 
) 
+0

ああにこのようなものを使用することができ、それはそれを行っています。ありがとう! –

関連する問題