2017-09-11 15 views
0

4つの基準に基づいて合計を作成しようとしていますが、動作させるようには見えない - 残念ながら、PowerpivotとDAXのどちらも非常に新しいです。Powerpivot DAXの行の値に基づいた合計

私は、17個の実際のデータと計算された合計17個の列を持つクエリを持っています。

4つの基準に基づいて累計を取得したいと考えています。 私もこれまで取り組ん1つの基準を取得することができていない:

CALCULATE(
    SUM(Tonnes), 
    Filter(Query,[Deliveryid]=[Deliveryid]) 
    ) 

は、基本的には各deliveryidのすべてのトンを合計する - これはピボットにシンプルですが、私は最終的にはすべてのためにこれをやってみたいです行の日付値の前の日付と各商品と配送先住所など

助けていただければ幸いです。

+1

は、私は非常にこのサイトをお勧めします。 –

+0

ありがとうニック。いいね。どんなリソースでもDAXにはまだまだ新機能! – ABowering

+1

申し訳ありません私はあなたの質問に答えることができません - まだ自分自身を学ぶ。しかし、私は難しい方法を学びました。SQL式とは異なり、列を結合すると、式で使用する列(実際の列または次元の列)に大きな違いが生じます。 –

答えて

1

各Deliveryidのすべてのトンを合計する特定の要件に関しては、あなたは近いです。試してみてください:=CALCULATE(SUMX(Table1,[Tonnes]),FILTER(Table1,[Deliveryid]=EARLIER([Deliveryid])))。これは、各DeliveryidのTonnesを合計します。

現在の日付より前の日付について、各DeliveryIDのすべてのトンを合計することを希望する場合は、=CALCULATE(SUMX(Table1,[Tonnes]),FILTER(FILTER(Table1,[Deliveryid]=EARLIER([Deliveryid])),[Date]<EARLIER([Date])))を試してください。 (上記の最初のコード項目で作られた)

TotalTonnesForDeliveryidは単にDeliveryidによってトンを合計:

下の表は、これらが(私はうまくいけば、これは、より理解しやすくするために非常に長い列タイトルを使用)何をすべきかを示して役立つかもしれません。以下の表では、DeliveryID 1のTotalTonnesForDeliveryidが91トン... 38(2011年1月1日から)+ 23(2011年1月3日から)+ 30(2011年1月6日から)であることがわかります。

TotalTonnesForDeliveryBeforeCurrentDate(上記の2番目のコード項目で作成)は、現在の日付より前の日付のDeliveryIDであるのみで合計トン数です。 TotalTonnesForDeliveryBeforeCurrentDateがDeliveryidの最初の発生時に空白を表示する理由は、事前配信がなかったためです。特定のDeliveryIDに対して複数の配送が行われた場合、Deliveryidの後続のそれぞれは、前の日付のトンの蓄積を示します。したがって、Deliveryid 1の場合:最初の納品日(2011年1月1日)は、空のTotalTonnesForDeliveryidBeforeCurrentDate(前回の納品がなかったため)を示します。 2番目の配達日(2011年1月3日)は38トン(2011年1月1日に配達されたもの)です。 3番目の配達日(2011年1月6日)は61トン(最初の配達の場合は38、2番目の配達の場合は23)です。 http://www.daxpatterns.comそれは、それが簡単に見えるのですが、私はそれは間違いではありません保証しましょうが、それは間違いなく学習の価値がある:

enter image description here

関連する問題