我的查询中有两个需求首先:根据我的度量有一个排序的产品列表。销售量较高的产品应该首先出现。
ProductCode Sales
----------- ------------
123 18
332 17
245 16
656 15
第二:在我的预排序产品列表中累积总和。
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 个产品