MDX1:架構
SELECT NON EMPTY {Hierarchize( { [Measures].[年初數 的總和], [Measures].[期末數 的總和], [Measures].[本期發生數 的總和]} ) } ON COLUMNS, NON EMPTY {Hierarchize( { CROSSJOIN({[年月表].[時間].[年]} ,CROSSJOIN({[年月表].[月份].[月份]} ,CROSSJOIN( {[組織架構表].[組織編碼].[組織編碼]}, CROSSJOIN({[組織架構表].[組織名稱].[組織名稱]} ,CROSSJOIN({[帳簿表].[帳簿名稱].[帳簿名稱]} ,CROSSJOIN({[損益視圖].[項目名稱].[項目名稱]} ,{[資產負債視圖].[資產項目].[資產項目]}) ) ) ) ) ) } ) } ON ROWS FROM [FinBPCube]
效果:ide
MDX1 不用CrossJoin:編碼
SELECT NON EMPTY {Hierarchize( { [Measures].[年初數 的總和], [Measures].[期末數 的總和], [Measures].[本期發生數 的總和]} ) } ON COLUMNS, NON EMPTY {Hierarchize( { ([年月表].[時間].[年] ,[年月表].[月份].[月份] ,[組織架構表].[組織編碼].[組織編碼] ,[組織架構表].[組織名稱].[組織名稱] ,[帳簿表].[帳簿名稱].[帳簿名稱] ,[損益視圖].[項目名稱].[項目名稱] ,[資產負債視圖].[資產項目].[資產項目] ) } ) } ON ROWS FROM [FinBPCube]
和上面同樣效果spa
MDX2:3d
SELECT NON EMPTY {Hierarchize( { CROSSJOIN( [年月表].[時間].[年] , {[年月表].[月份].[月份]} ) } ) } ON COLUMNS, NON EMPTY {Hierarchize( { CROSSJOIN( {[組織架構表].[組織編碼].[組織編碼]}, CROSSJOIN({[組織架構表].[組織名稱].[組織名稱]} ,CROSSJOIN({[帳簿表].[帳簿名稱].[帳簿名稱]} ,CROSSJOIN({[損益視圖].[項目名稱].[項目名稱]} ,{[資產負債視圖].[資產項目].[資產項目]}) ) ) ) } ) } ON ROWS FROM [FinBPCube] where ( [Measures].[本期發生數 的總和])
效果:code
MDX3:blog
WITH SET MonArray AS {[年月表].[月份].[月份]} MEMBER [年月表].[月份].[月彙總] AS AGGREGATE(MonArray) SELECT NON EMPTY {Hierarchize( { {MonArray,[年月表].[月份].[月彙總]} } ) } ON COLUMNS, NON EMPTY {Hierarchize( { CROSSJOIN( {[組織架構表].[組織編碼].[組織編碼]}, CROSSJOIN({[組織架構表].[組織名稱].[組織名稱]} ,CROSSJOIN({[帳簿表].[帳簿名稱].[帳簿名稱]} ,CROSSJOIN({[損益視圖].[項目名稱].[項目名稱]} ,{[資產負債視圖].[資產項目].[資產項目]}) ) ) ) } ) } ON ROWS FROM [FinBPCube] where ( [Measures].[本期發生數 的總和])
可是注意:event