MDX語法中,crossjoin({集合1},{[維度名稱].[..]})的含義
?? 維度名稱][..]表示當前維度不參與計算 ,相當于只有集合1,沒有維度名稱].[..]這個集合
這種用法主要用在如果同一個columns里面有多個crossjoin,第一個不需要多維計算 ,即上面的情形 但是第二個crossjoin要做多維計算的情形中
With
member [貸款狀態].[正常貸款余額] as '[貸款狀態].[所有 貸款狀態].[正常]',solve_order =1
member [貸款狀態].[逾期余額] as '[貸款狀態].[所有 貸款狀態].[逾期]',solve_order =1
member [貸款狀態].[呆滯余額] as '[貸款狀態].[所有 貸款狀態].[呆滯]',solve_order =1
member [貸款狀態].[呆帳余額] as '[貸款狀態].[所有 貸款狀態].[呆帳]',solve_order =1
member [貸款狀態].[不良貸款余額] as '[貸款狀態].[所有 貸款狀態].[逾期]+[貸款狀態].[所有 貸款狀態].[呆滯]+[貸款狀態].[所有 貸款狀態].[呆帳]',solve_order =2
member [貸款狀態].[正常逾期] as '[貸款狀態].[所有 貸款狀態].[正常]+ [貸款狀態].[所有 貸款狀態].[逾期]',solve_order =1
member [貸款狀態].[不良] as '[貸款狀態].[所有 貸款狀態].[逾期]+[貸款狀態].[所有 貸款狀態].[呆滯]+[貸款狀態].[所有 貸款狀態].[呆帳]',solve_order =2,format = '#,#0.00'
member [Measures].[本期戶數] as '(ClosingPeriod([日期].[日],[日期].CurrentMember), [Measures].[客戶數])',solve_order =1,format = '#,#0'
member [Measures].[上期余額] as 'iif([日期].CurrentMember.Level.name="日",(ClosingPeriod([日期].[日],ParallelPeriod([日期].[月],1,[日期].CurrentMember)), [Measures].[I_余額])/10000,(ClosingPeriod([日期].[日],[日期].CurrentMember.prevmember), [Measures].[I_余額])/10000)',solve_order =1,format = '#,#0'
member [Measures].[發放] as '(ClosingPeriod([日期].[日],[日期].CurrentMember), [Measures].[I_放款])/10000',solve_order =1,format = '#,#0.00'
member [Measures].[本月發放] as '([放款標志].[所有 放款標志].[所有發放貸款].[本年發放貸款].[本月發放貸款],[Measures].[發放])',solve_order =2,format = '#,#0.00'
member [Measures].[收回] as '(ClosingPeriod([日期].[日],[日期].CurrentMember), [Measures].[I_還款金額])/10000',solve_order =1,format = '#,#0.00'
member [Measures].[本月收回] as 'sum(mtd(),[Measures].[收回])',solve_order =2,format = '#,#0.00'
member [Measures].[收回不良] as '([貸款狀態].[不良],[Measures].[本月收回])',solve_order =3,format = '#,#0.00'
member [Measures].[月末余額] as '(ClosingPeriod([日期].[日],[日期].CurrentMember), [Measures].[I_余額])/10000',solve_order =1,format = '#,#0.00'
member [Measures].[正常余額] as '([Measures].[月末余額],[貸款狀態].[正常貸款余額])',solve_order =3,format = '#,#0.00'
member [Measures].[不良余額] as '([Measures].[月末余額],[貸款狀態].[不良貸款余額])',solve_order =3,format = '#,#0'
member [科目].[貸 款] as '[科目].&[1] - [科目].&[9]',solve_order =1,format = '#,#0'
member [科目].[貼 現] as '([科目].&[9])',solve_order =1,format = '#,#0'
member [科目].[合 計] as '[科目].&[1]',solve_order =1,format = '#,#0'
member [逾期天數].[..] as '[逾期天數].[所有 逾期天數]',solve_order =1,format = '#,#0'
member [Measures].[貸款余額分布] as '([Measures].[月末余額],[貸款狀態].[正常逾期])',solve_order =1,format = '#,#0.00'
member [逾期天數].[正常] as '[逾期天數].[所有 逾期天數]-[逾期天數].[所有 逾期天數].[90天以內]-[逾期天數].[所有 逾期天數].[90到180天]-[逾期天數].[所有 逾期天數].[180到270天]-[逾期天數].[所有 逾期天數].[270到360天]-[逾期天數].[所有 逾期天數].[360天以上]'
//member [逾期天數].[正常] as '[逾期天數].[所有 逾期天數].[未逾期]+ [逾期天數].[所有 逾期天數].[一年內到期]+ [逾期天數].[所有 逾期天數].[三年內到期]+ [逾期天數].[所有 逾期天//數].[三年以上到期]',solve_order =1,format = '#,#0'
Select non empty {Crossjoin({[科目].[貸 款],[科目].[貼現]},{[全行客戶經理].[所有 全行客戶經理].children,[全行客戶經理].[所有 全行客戶經理]}),([科目].[合 計],[全行客戶經理].[所有 全行客戶經理])} on rows,
{[Measures].[本期戶數],[Measures].[上期余額],[Measures].[本月發放],[Measures].[本月收回],[Measures].[月末余額],Crossjoin({[Measures].[貸款余額分布]},{[逾期天數].[正常],[逾期天數].[所有 逾期天數].[90天以內],[逾期天數].[所有 逾期天數].[90到180天],[逾期天數].[所有 逾期天數].[180到270天],[逾期天數].[所有 逾期天數].[270到360天],[逾期天數].[所有 逾期天數].[360天以上]})} on columns
From? [信貸財務信息分析]
Where ([日期].[所有 日期].[2005年].[2季度],[余額狀況].[所有 余額狀況].[余額不為0],[營業網點].&[0001])
posted on 2006-09-08 13:49
還沒想好名 閱讀(2011)
評論(1) 編輯 收藏