MDX总计错误

时间:2019-06-27 12:01:39

标签: sql ssas mdx

我在数据透视表中的总计总数错误。我需要帮助来解决这个问题。

“收盘数量”列显示正确的值,但“最后销售”和“ ABC零售价值”列显示错误的总计,如以下屏幕快照所示。 wrong Grand Total in Pivot table

LASTSALE列的实际值为1995 + 1195 + 2099 + 2099 = 7788,而不是2099。

和ABC零售价值列5985 + 1195 + 6297 + 4198 = 17675,而不是18891。

我正在使用以下提到的脚本:-

CREATE MEMBER CURRENTCUBE.[Measures].[Qty - Closing Stock]
 AS 0,
FORMAT_STRING = "#,##0.00;-#,##0.00", 
FORE_COLOR = iif([Measures].currentmember < 0, 255 /*Red*/,0), 
VISIBLE = 1 ,   DISPLAY_FOLDER = 'Units',
ASSOCIATED_MEASURE_GROUP = 'Item Movement With Value';                                                                     
FORMAT_STRING ( This ) = "#,#";                                                               

Scope([Measures].[Qty - Closing Stock]);                                                                     
This = sum((
            null:[Time].[Year].CurrentMember  *
            null:[Time].[Quarter].CurrentMember *
            null:[Time].[Month Name].CurrentMember *
            null:[Time].[Month].CurrentMember *
            null:[Time].[date].CurrentMember )
,[Measures].[Qty - Movement]);                                                                                                               
End Scope; 

CREATE MEMBER CURRENTCUBE.[Measures].DAYSTODATE AS 
COUNT(NULL:[Time].[Date].CURRENTMEMBER)-1
, VISIBLE = True; 


CREATE MEMBER CURRENTCUBE.[Measures].HADSALE AS 
IIF([Measures].[Price]=0, NULL, [Measures].DAYSTODATE)
, VISIBLE = True; 

SCOPE([Measures].MAXDATE, [Time].[Time].[Date].MEMBERS);  
    THIS = MAX(NULL:[Time].[Date].CURRENTMEMBER, [Measures].HADSALE); 
END SCOPE;

CREATE MEMBER CURRENTCUBE.[Measures].LAS TSALE AS
IIF(ISEMPTY([Measures].MAXDATE), NULL, 
(
([Measures].[Price]) ,
[Time].[Date].[Date].MEMBERS.ITEM([Measures].MAXDATE))),
 VISIBLE = True;                                    

CREATE MEMBER CURRENTCUBE.[Measures].[ABC Retail Value]
 AS 
 sum(
([Time].[date].CurrentMember)
    ,
[Measures].[Qty - Closing Stock] *  [Measures].LAST SALE
 ) ,
VISIBLE = 1  ; 

这些脚本在Expr1(变体级别)上运行良好,如下面的屏幕截图所示。

hese scripts are working fine on Expr1 (Variant Level)

如果我从过滤器结果中删除Exr1是不同的。

if i remove the Exr1 from filter result is different

尽管10300302项目的实际最后销售价格是2099,但屏幕上方的空白显示18891。

如果我们看到此项的详细信息。

enter image description here

我的基本要求是我要计算项目级别,地点级别或变体级别的期末存货价值。使用公式。

收盘价*日期/期间水平的最后成交价。

简单地说,我想在mdx脚本中转换我的ssms查询,如下所示:-

enter image description here

0 个答案:

没有答案