2

私はMDXにかなり慣れていませんが、新しいツールのサポートに行き詰まっており、最近やってきたリクエストについて質問があります。処方者がさまざまな領域に割り当てられている処方データのキューブがあります。私のクライアントは、テリトリーに割り当てられた処方者の数を計算する関数を望んでいたので、これを作成しました。

COUNT(
     FILTER([M_Prescriber].[Prescriber].[Prescriber].Members*[Measures].[M-TRx],
     [M_Market_Product].[Product].[All]
     )                              
)

これは、その期間に処方箋を書いた処方者の数を示します。クライアントが抱える問題は、当然、一部の処方者は毎月処方箋を書かないため、この関数が毎月異なる結果を生成することです。特定の月の処方データがあるかどうかを考慮せずに、テリトリーに割り当てられた処方者の数を返す方法はありますか?または、最新の期間でこの値を計算し、すべての期間でその値を使用できますか?

詳細をお知らせいただければお知らせください。

4

1 に答える 1

1

OK、私の理解が正しければ、各テリトリーにいる処方者メンバーを数えたいと考えており、どの処方者がどのテリトリーにいるかを説明する階層が既に構築されています。

以下は、Adventure Works に対する例です。

WITH MEMBER [Measures].[count] AS 
    Count([Customer].[Customer Geography].CurrentMember.Children)
SELECT
    [Measures].[count] ON COLUMNS,
    DrilldownLevel([Customer].[Customer Geography].[All Customers]) ON ROWS
FROM [Adventure Works];

結果:

                count
All Customers       6
Australia           5
Canada              6
France             17
Germany             6
United Kingdom      1
United States      36

これは、各ノード (階層内の州または州) の直接の子のみをカウントするため、すべての顧客のカウントは各国のカウントの総計ではありません。

あなたの場合、ROWS の選択を師団 -> 地区 -> テリトリー レベルに変更します。

少なくとも正しい軌道に乗るのに役立つことを願っています.

于 2013-03-07T18:17:14.173 に答える