私のクエリには 2 つのニーズがあります First : 私の measure.product に基づいて並べ替えられた製品リストを作成し、売上高が最初に表示されるようにする必要があります。
ProductCode Sales
----------- ------------
123 18
332 17
245 16
656 15
2 番目: 事前に並べ替えられた製品リストに累積合計を表示します。
ProductCode Sales ACC
----------- ------------ ----
123 18 18
332 17 35
245 16 51
656 15 66
上記の目標を達成するために、以下の MDX を書きました。
WITH
SET SortedProducts AS
Order([DIMProduct].[ProductCode].[ProductCode].AllMEMBERS,[Measures]. [Sales],BDESC)
MEMBER [Measures].[ACC] AS
Sum
(
Head
(
[SortedProducts],Rank([DIMProduct].[ProductCode].CurrentMember,[SortedProducts])
)
,[Measures].[Sales]
)
SELECT
{[Measures].[Sales] ,[Measures].[ACC]}
ON COLUMNS,
SortedProducts
ON ROWS
FROM [Model]
しかし、実行には約 3 分かかります。コードを最適化する方法について何か提案はありますか、それとも正常ですか?
合計で 9635 個の製品があります