0

私はDAXでこれをやろうとしていますが、正しい個別のカウントを取得できません...

AccountID   OrderDate   Product     SalesAmount DiscountAmount
1023        Nov-14      Product001  $0          $5.00
1045        Nov-14      Product001  $30.00  $10.00
1023        Nov-14      Product002  $1.00       $0  
1089        Nov-14      Product001  $0          $5.00
2045        Nov-14      Product001  $50.00  $25.00
1045        Nov-14      Product001  $(30.00)    $0 

Q1. 総売上額が 0 ドルの個別の顧客をカウントするにはどうすればよいですか (回答は 2、1045、1089 です) - こちらを参照してください。アカウントの総売上額が 0 ドルではないため、1023 を無視します。

メジャーを作成しようとしました:

TotalCustomers:=CALCULATE(DISTINCTCOUNT(Table1[AccountID]), 'Table1')

そして、これを追加しました:

ZeroCustomers:=CALCULATE([TotalCustomers], FILTER('Table1', [Sum of SalesAmount]<>0))

しかし、アカウント 1023 がカウントされ、ZeroCutomers に対して「3」が返されます

Q2. 合計販売額が 0 ドルの顧客の割引額を合計するにはどうすればよいですか (15 ドルと答えてください)。

これは第 1 四半期の延長です。第 1 四半期を把握したら、おそらくこれを把握できます。

もう 1 つの選択肢は、AccountID によって既に要約されている新しいテーブルを作成することですが、製品やその他のディメンションでスライスしたいので、スライサーを使用することはできません。

どんな助けでも大歓迎です!

ありがとう!

4

2 に答える 2

1

どうですか:

ZeroCustomers:=CALCULATE(DISTINCTCOUNT(Table1[AccountID]), ALL(Table1), [Sum of SalesAmount]<>0))

ZeroCustomersDiscount:=CALCULATE(SUM([DiscountAmount]), ALL(Table1), [Sum of SalesAmount]<>0))

DAX がフィルターとグループ化を処理する方法が原因で、以前の試みはうまくいかなかったと思います。もっと詳しく説明できればいいのですが、まだまだ勉強中です。

于 2015-08-12T12:27:01.230 に答える
0

私はそれを理解したかもしれません:

Q1

ZeroCustomers:=COUNTROWS (
    FILTER (
        ADDCOLUMNS (
            VALUES ( Table1[AccountID] ),
            "TotalSalesAmount", CALCULATE ( SUM ( [SalesAmount] ) )
        ),
        [TotalSalesAmount] = 0
    )
)

Q2

ZeroCustomerDiscount:=CALCULATE(SUM([DiscountAmount]),
    FILTER (
        ADDCOLUMNS (
            VALUES ( Table1[AccountID] ),
            "TotalSalesAmount", CALCULATE ( SUM ( [SalesAmount] ) )
        ),
        [TotalSalesAmount] = 0
    )
)

同じことを達成するより良い方法がある場合は、コメント/返信してください。これが他の人に役立つことを願っています!

于 2015-04-03T17:19:56.457 に答える