您好
我不是MDX专家,所以我需要帮助,说我有一个带有以下数据的立方体(简化)
月EE CoCode值
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 A在3月改变了cocode,所以我想报告他的YTD总数
我想要的报告结果是
EE CoCode Total
C 2 750
A 2 700
B 1 250
不确定解决方案是否在
MDX(使用当前成员或CompanyCode的东西),
cube(在CurrentCode Dimennsion中为currentCoCode创建新属性)
或者在报告中分组
谢谢保罗
实际MDX我正在使用使用参数,并且有点复杂如下
="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 :(得分:0)
答案取决于您是否要始终显示当前的CoCode,或者您是否要在特定时间段内运行查询并将CoCode显示为“当时”。
如果你总是需要当前的CoCode而不考虑周期,那么按照你的建议使CoCode成为EE的属性。
如果您想要“as at”,那么您需要在Co上使CoCode成为一个缓慢变化的属性。
查看慢慢改变尺寸(SCD),看看你能找到什么。