2011-02-23 63 views
0


我不是MDX专家,所以我需要帮助,说我有以下数据立方体(简体)
月EE CoCode价值MDX查询使用最新的价值

jan A 1  100 
feb A 1  200 
Mar A 2  400 
Jan B 1  150 
Feb B 1  100 
Jan C 2  100 
Mar C 2  650 

月, EE和CoCode都是独立的维度
EE一个三月变化cocode,所以我想在报告中,我想他的总战绩报告
结果是

EE CoCode Total 
C 2  750 
A 2  700 
B 1  250 

不知道的解决办法是在
的MDX(使用currentmember或东西企业编码),
立方体(创建currentCoCode在企业编码Dimennsion新属性)
或在报告分组。
感谢保罗
我使用用途的参数,是一个比较复杂一点如下

="SELECT NON EMPTY { [Measures].[ValueCode] } ON COLUMNS, 
topcount(NONEMPTY ([Dim E Eno].[EE No].[EE No].ALLMEMBERS * [Dim E Eno].[Sur Name].[Sur Name].ALLMEMBERS * [Dim E Eno].[First Name].[First Name].ALLMEMBERS * [DIM Cost Centres].[Cost Centre].[Cost Centre].ALLMEMBERS * [DIM Location Codes].[Location Code].[Location Code].ALLMEMBERS * [DIM Grades].[Grade Code].[Grade Code].ALLMEMBERS * [DIM Company Codes].[Company Code].[Company Code].ALLMEMBERS * [Dim Codes].[Description].[Description].ALLMEMBERS * [Dim Codes].[Code].[Code].ALLMEMBERS * [Dim Codes].[Long Description].[Long Description].ALLMEMBERS),"+Parameters!P_TopN.Value+",[Measures].[ValueCode]) ON ROWS 
FROM (SELECT (-{ [DIM Cost Centres].[Cost Centre].&[9006890557], [DIM Cost Centres].[Cost Centre].&[NA18350157], [DIM Cost Centres].[Cost Centre].&[NA18312257], [DIM Cost Centres].[Cost Centre].&[WB18350357], [DIM Cost Centres].[Cost Centre].&[EC18350157], [DIM Cost Centres].[Cost Centre].&[HSS8800257] }) ON COLUMNS 
FROM (SELECT (STRTOSET(@DIMCompanyCodesCompanyCode, CONSTRAINED)) ON COLUMNS 
FROM (SELECT (STRTOSET(@DimDatesYear, CONSTRAINED)) ON COLUMNS 
FROM (SELECT ({ [Dim Codes].[Code].&["+Parameters!P_Reports.Value+"] }) ON COLUMNS 
FROM [DW Datatrieve])))) 
WHERE (IIF(STRTOSET(@DimDatesYear, CONSTRAINED).Count = 1, STRTOSET(@DimDatesYear, CONSTRAINED), [Dim Dates].[Year].currentmember)) " 
+0

什么一塌糊涂,尽量使这个可读格式 – Jamiec 2011-02-23 12:28:38

回答

0

答案将取决于你是否要始终显示当前CoCode截至目前,还是你 实际MDX希望运行特定时间段的查询并显示该时间段的CoCode“as at”。

如果您始终需要当前的CoCode而不考虑周期,请根据您的建议将CoCode设置为EE的一个属性。

如果您希望“as at”那么您需要使CoCode成为EE上缓慢变化的属性。

查看缓慢变化的尺寸(SCD),看看你能找到什么。