3

mdxsintaxysのかなり初心者です。

可能であれば、mdxを使用して解決できるようにする必要があるという次の要件があります。金額が「X」より大きいSALEトランザクションの数、金額が「Y」より小さいSALEトランザクションの数、金額が「Z」より大きいCREDITトランザクションの数を表示する必要があります。等々。私のキューブには、集計関数「sum」を持つ「amount」と呼ばれるメジャーと、集計関数「count」を持つtransactionNumberと、時間ディメンション、transactionTypeディメンションなどがあります。

X、Y、Zはダイナミクス値であり、ユーザーによって構成されます。これらの値を読み取り、クエリを作成して、xmlaで実行する必要があります。

次の結果セットを待っています

                  Greater than > 200 USD       less than < 0.10       total

          SALE            150                         10               300
          CREDIT          200                         30               600
          VODI            10                           2                60

あなたが私に提供できるどんな助けでも、私はそれを感謝します

4

1 に答える 1

3

これは、トランザクションレベルの属性がある場合にのみ可能です。そうでない場合、メジャーはより高いレベルに事前に集計されます。

[トランザクションID]属性のようなものがある場合は、次のようなクエリを作成できます。

WITH 
  MEMBER Measures.[Greater than 200 USD] as 
    SUM(Filter([Transaction ID].[Transaction ID].[Transaction ID], Measures.Amount > 200)
       , Measures.Count)
  MEMBER Measures.[Less than 0.10 USD] as 
    SUM(Filter([Transaction ID].[Transaction ID].[Transaction ID], Measures.Amount > 200)
       , Measures.Count)
  MEMBER Measures.Total as Measures.Count
SELECT
  {Measures.[Greater than 200 USD]
    ,Measures.[Less than 0.10 USD]
    ,Measures.[Total]} ON columns
 , [Transaction Type].[Transaction Type].[Transaction Type] ON Rows
FROM <Cube>
于 2010-03-09T03:20:22.587 に答える