無為

          無為則可為,無為則至深!

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks

          這是我翻譯Chris Webb的文章,原文請查看http://spaces.msn.com/cwebbbi/blog/cns!7B84B0F2C239489A!710.entry?txtName=anchky&blogcs=end。主要介紹如何處理同時聚合多個計算成員!翻譯的不一定正確,如有疑問的請查看原文!??? ?
          ??? 多時間維度(根據(jù)AS 2005,確切的說是關于時間的屬性層次)是非常有效的。我最初是從各種信息渠道介紹的
          George Spofford 的《mdx解決方案》知道多時間維度的。并且 George Spofford 和他的書提供的技術已經(jīng)成為普遍應用于多維數(shù)據(jù)集分析服務的設計技巧之一。而且更進一步地,多時間維度技巧已經(jīng)成為《增加商業(yè)智能》向?qū)б粫?span lang="EN-GB">“設計時間智能平臺的組成部分。

          ???? 那么,這里頭又沒有什么新的東西值得介紹呢?很多時候,多時間維度就是比單時間維度高效。拿如下的mdx腳本舉例子,這個mdx是根據(jù)向?qū)?chuàng)建的,創(chuàng)建了單一時間維度 [Year-Month Period Calculations] 山的兩個計算成員 (Year-To-Date and Year-Over-Year Growth)

          /*

          ? Begin Time Intelligence script for the [Period].[Year-Month] hierarchy.

          */

          ? Create Member

          ? CurrentCube .[Period].[Year-Month Period Calculations].[Year to Date]

          ? As "NA" ;

          ? Create Member

          ? CurrentCube .[Period].[Year-Month Period Calculations].[Year Over Year Growth]

          ? As "NA" ;? ?

          Scope (

          ?????? {

          ???????? [Measures].[Sales]

          ?????? }

          ) ;

          ? // Year to Date

          ? (

          ??? [Period].[Year-Month Period Calculations].[Year to Date],

          ??? [Period].[Year].[Year]. Members ,

          ???? [Period].[Month]. Members

          ? ) =

          ? Aggregate (

          ???????????? { [Period].[Year-Month Period Calculations]. DefaultMember } *

          ???????????? PeriodsToDate (

          ??????????????????????????? [Period].[Year-Month].[Year],

          ??????????????????????????? [Period].[Year-Month]. CurrentMember

          ???????????? )

          ? ) ;

          // Year Over Year Growth?

          ? (

          ???? [Period].[Year-Month Period Calculations].[Year Over Year Growth],

          ??? [Period].[Year].[Year]. Members ( 1 ) : Null ,

          ???? [Period].[Month]. Members

          ? ) =?????

          ? ( [Period].[Year-Month Period Calculations]. DefaultMember ) -

          ? ( [Period].[Year-Month Period Calculations]. DefaultMember ,

          ??? ParallelPeriod (

          ??????????????????? [Period].[Year-Month].[Year],

          ??????????????????? 1,

          ??????????????????? [Period].[Year-Month]. CurrentMember

          ??? )

          ? ) ;

          ?? (

          ??? [Period].[Year-Month Period Calculations].[Year Over Year Growth],

          ??? [Period].[Year].[Year]. Members ( 0 ),

          ??? [Period].[Month]. Members

          ? ) = Null ;

          ? End Scope ;

          ?

          /*

          ? End Time Intelligence script for the [Period].[Year-Month] hierarchy.*/

          ??? 這樣做是高效的,但是當你的用戶要求能夠在 Year-To-Date 的數(shù)據(jù)上查看 Year-Over-Year 的增長趨勢的時候,我們該怎么辦?當然,你可以通過創(chuàng)建第三個計算成員來實現(xiàn)這個功能。然而我們很容易想到:當需求的計算聚合越多,我們創(chuàng)建一維持功能的計算成員數(shù)量就會越多。

          ??? 而這些剛好是多用途的時間屬性層次可以解決的,因為多時間維度可以幫助你控制計算成員的爆發(fā)式增長———你可以讓多個計算成員集合在一起。首先,必須像創(chuàng)建初始時間屬性層次一樣通過拖拽列在時間維度上創(chuàng)建一個新的屬性層次。需要注意的是,要確保把是否聚集( IsAggregatable )屬性設置為 false 以免聚合所有成員。接下來要確定的是,哪個計算對應與哪個層次,當然該計算必須指向可用的計算聚合。如下的的mdx修改了上述的mdx,修改之后,兩個計算成員分別指向了兩個不同的屬性層次,這兩個層次分別是 [Period].[Year-Month Period Calculations] [Period].[Year-Month Period Calculations2]

          /*

          ? Begin Time Intelligence script for the [Period].[Year-Month] hierarchy.

          */

          ? Create Member

          ? CurrentCube .[Period].[Year-Month Period Calculations].[Year to Date]

          ? As "NA" ;

          ? Create Member

          ? CurrentCube .[Period].[Year-Month Period Calculations 2].[Year Over Year Growth]

          ? As "NA" ;

          ? Scope (

          ?????? {

          ???????? [Measures].[Sales]

          ?????? }

          ) ;

          // Year to Date

          ? (

          ??? [Period].[Year-Month Period Calculations].[Year to Date],

          ??? [Period].[Year].[Year]. Members ,

          ???? [Period].[Month]. Members

          ? ) =

          ? Aggregate (

          ???????????? { [Period].[Year-Month Period Calculations]. DefaultMember } *

          ???????????? PeriodsToDate (

          ??????????????????????????? [Period].[Year-Month].[Year],

          ?????? ?????????????????????[Period].[Year-Month]. CurrentMember

          ???????????? )

          ? ) ;

          // Year Over Year Growth?

          ? (

          ???? [Period].[Year-Month Period Calculations 2].[Year Over Year Growth],

          ??? [Period].[Year].[Year]. Members ( 1 ) : Null ,

          ???? [Period].[Month]. Members

          ? ) =?????

          ?

          ? ( [Period].[Year-Month Period Calculations 2]. DefaultMember ) -

          ? ( [Period].[Year-Month Period Calculations 2]. DefaultMember ,

          ??? ParallelPeriod (

          ??????????????????? [Period].[Year-Month].[Year],

          ??????????????????? 1,

          ???????????????? ???[Period].[Year-Month]. CurrentMember

          ??? )

          ? ) ;

          ?? (

          ??? [Period].[Year-Month Period Calculations 2].[Year Over Year Growth],

          ??? [Period].[Year].[Year]. Members ( 0 ),

          ??? [Period].[Month]. Members

          ? ) = Null ;

          ? End Scope ;

          /*

          ? End Time Intelligence script for the [Period].[Year-Month] hierarchy.

          */

          ???? 這下用戶就可以通過交叉他們要求的兩個計算成員來實現(xiàn)通過 Year-To-Date 數(shù)據(jù)查看 Year-Over-Year Growth ,就跟單獨使用單個計算成員一樣。



          凡是有該標志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
          、轉(zhuǎn)載請注明來處和原文作者。非常感謝。

          posted on 2006-06-10 13:16 草兒 閱讀(519) 評論(0)  編輯  收藏 所屬分類: BI and DM
          主站蜘蛛池模板: 松桃| 万全县| 贵港市| 英山县| 静海县| 驻马店市| 彭泽县| 石景山区| 蕉岭县| 长宁区| 南和县| 卫辉市| 水城县| 卢龙县| 松潘县| 平凉市| 和静县| 徐水县| 丰宁| 华池县| 宣武区| 称多县| 南投县| 奇台县| 布尔津县| 台南县| 宜昌市| 沙湾县| 衡阳县| 阿克陶县| 郁南县| 浦城县| 神池县| 安阳市| 高台县| 霍林郭勒市| 滁州市| 成都市| 玛曲县| 故城县| 蒙阴县|