維度函數 A-C D-G H-L M-Q R-Z 進階 進階 進階 進階 進階 _format ( expression , format_keyword  ) 將格式與表示式相關聯。format_keyword 可以是 PERCENTAGE_0、PERCENTAGE_1 或 PERCENTAGE_2。PERCENTAGE_1 傳回小數點右側有一位數的百分比、PERCENTAGE_2 傳回小數點右側有兩位數的百分比,PERCENTAGE_3 則傳回小數點右側有三位數的百分比值(例如,0.965)。 範例:_format ( [單位售價] / [單價] , PERCENTAGE_2 ) 結果:75.12% ancestor ( member, level|integer ) 傳回在 "member" 以上的 "level" 或 "integer" 層次數的 "member" 的上代。附註:當有一個以上的上代時,不能保證結果一致。 範例:ancestor ( [悠遊水袋] , 1 ) 結果:炊具箱 範例:ancestor ( [悠遊水袋] , 2 ) 結果:露營器材 範例:ancestor ( [TrailChef Water Bag] , [great_outdoors_company].[Products].[Products].[Product type] ) 結果:炊具箱 caption ( level|member|set_expression ) 傳回 "level"、"member" 或 "set_expression" 的標題值。標題是元素的字串顯示名稱,因此不需要符合唯一 ID(用於產生元素的商業索引鍵或成員唯一名稱 (MUN))。標題不一定是唯一的;例如,月的標題可能會傳回月名,而沒有進一步指出年的詳細資料,因此不會使該值成為唯一的。 範例:caption ( [悠遊水袋] ) 結果:悠遊水袋 範例:caption ( [great_outdoors_company].[Products].[Products].[Product line] ) 結果:傳回「產品線」集中的標題值。 露營器材 登山器材 個人配件 戶外防護器材 高爾夫球器材 children ( member ) 傳回指定成員的子集。 範例:children ( [露營器材] ) 結果:傳回「露營器材」的子集。 炊具箱 帳篷 睡袋 背包 營燈 closingPeriod ( level [ , member ] ) 傳回位於 "level" 的成員後代之中的最後一個同層級成員。此函數通常是與時間維度一起使用。 範例:closingPeriod ( [great_outdoors_company].[Years].[Years].[Month] ) 結果:2006/Dec 範例:closingPeriod ( [great_outdoors_company].[Years].[Years].[Year] ) 結果:2006 範例:closingPeriod ( [great_outdoors_company].[年].[年].[月] , [2006 Q 4] ) 結果:2006/Dec completeTuple ( member { , member } ) 根據指定的成員(它們必須來自不同的維度)識別儲存格位置(交集)。但是,completeTuple () 暗示包括引數中未另外指定的所有維度的預設成員,而非現行成員。如果沒有在 CompleteTuple 函數中定義 currentMeasure 測量,CompleteTuple 將使用預設測量,而不是查詢中的 currentMeasure 測量。此函數出現在 GO 資料倉儲(分析)套件中的「計劃人數」樣本報告中。 範例:completeTuple ( [登山器材] , [傳真] ) 結果:依預設,completeTuple 不會如同 tuple 函數一樣選擇 currentMember。由於使用的是年維度的預設成員(亦即,根成員)而不是現行成員,因此第一個直欄中的值每年都相同。同樣的,由於「收入」測量是「測量」維度的預設值,因此第一個直欄會顯示「收入」而不是「銷售量」。如果沒有在 CompleteTuple 函數中定義 currentMeasure 測量,CompleteTuple 將使用預設測量,而不是查詢中的 currentMeasure 測量。 Qty Sold Mountaineering Sales by Fax -------- -------------- 2004 $1,220,329.38 2005 $1,220,329.38 2006 $1,220,329.38 範例:completeTuple ( [Mountaineering Equipment] , [Fax] , [Quantity sold] , currentMember ( [great_outdoors_company].[Years].[Years] ) ) 結果:completeTuple 函數會使用年維度的 currentMember 和銷售量測量。 Qty Sold Mountaineering Sales by Fax ----------- ------------------------------------------ 2004 0 2005 8,746 2006 7,860 unique ( set_expression ) 從 "set_expression" 中移除所有重複項。其餘成員將保持其原始順序。 openingPeriod ( level [ , member ] ) 傳回位於 "level" 的成員後代之中的第一個同層級成員。此函數通常是與時間維度一起使用。 範例:openingPeriod ( [great_outdoors_company].[Years].[Years].[Month] ) 結果:2004/Jan 範例:openingPeriod ( [great_outdoors_company].[Years].[Years].[Year] ) 結果:2004 範例:openingPeriod ( [great_outdoors_company].[Years].[Years].[Month] , [2006 Q 4] ) 結果:2006/Oct parallelPeriod ( level [ , integer_expression [ , member ] ] ) 傳回先前時段中與 "member" 位於相同的相對位置的成員。此函數類似於 cousin 函數,但與時間系列的關係更為密切。此函數採用位在 "level" 的 "member" 的上代(稱為「上代」)以及落後 "integer_expression" 位置的同層級「上代」,然後傳回該同層級的後代之中的 "member" 的平行時段。如果未指定,"integer_expression" 的預設值為 1,"member" 的預設值則為現行成員。 範例:parallelPeriod ( [great_outdoors_company].[Years].[Years].[Quarter] , -1 , [2006/Aug] ) 結果:2006/Nov 範例:parallelPeriod ( [great_outdoors_company].[Years].[Years].[Quarter] , 1 , [2006/Aug] ) 結果:2006/May 範例:parallelPeriod ( [great_outdoors_company].[Years].[Years].[Year] , 2 , [2006/Aug] ) 結果:2004/Aug cousin ( member1 , member2 ) 傳回 "member2" 的子成員,此子成員的相對位置與 "member1" 與其母項的相對位置相同。此函數出現在 GO 資料倉儲(分析)套件中的「2005 年 GO 附屬產品」樣本報告中。 範例:cousin ( [鐵桿] , [露營器材] ) 結果:炊具箱 範例:cousin ( [推桿] , [露營器材] ) 結果:睡袋 crossjoin ( set_expression1 , set_expression2 ) 傳回 "set_expression1" 與 "set_expression2" 的跨產品。 currentMember ( hierarchy ) 傳回反覆運算期間 hierarchy 的現行成員。如果 "hierarchy" 不在用來評估表示式的環境定義中,則會採用其預設成員。此函數出現在「捲動與移動平均值」互動式樣本報告中。 defaultMember ( hierarchy ) 傳回 "hierarchy" 的預設成員。 範例:defaultMember ( [great_outdoors_company].[Products].[Products] ) 結果:產品 範例:defaultMember ( [great_outdoors_company].[Years].[Years] ) 結果:年 範例:defaultMember ( hierarchy ( [great_outdoors_company].[Measures].[Quantity sold] ) ) 結果:收入 emptySet ( hierarchy ) 傳回 "hierarchy" 的空成員集。在開發或動態報告設計期間(使用 IBM® Cognos® Software Development Kit 或透過報告設計),最常使用這個函數作為位置保留元。建立包含 emptyset 函數的資料項目,可以建置複雜的表示式,之後可重新定義 emptyset 資料項目來修訂此表示式。 範例:except ( [great_outdoors_company].[Products].[Products].[Product line] , emptySet ( [great_outdoors_company].[Products].[Products] ) ) 結果:傳回「產品線」集以及代表「產品」集的空集。 露營器材 高爾夫球器材 登山器材 戶外防護器材 個人配件 firstChild ( member ) 傳回 "member" 的第一個子項。 範例:firstChild ( [依產品線] ) 結果:露營器材 範例:firstChild ( [露營器材] ) 結果:炊具箱 firstSibling ( member ) 傳回 "member" 母項的第一個子項。 範例:firstSibling ( [戶外防護器材] ) 結果:露營器材 範例:firstSibling ( [露營器材] ) 結果:露營器材 hierarchy ( level|member|set_expression ) 傳回包含 "level"、"member" 或 "set_expression" 的階層。 範例:hierarchy ( [炊具箱] ) 結果:傳回階層中包含炊具箱的每個成員。 產品 露營器材 炊具箱 悠遊水袋 悠遊餐具箱 ... 大地悍將極致錶 大地悍將豪華手錶 範例:hierarchy ( [great_outdoors_company].[Products].[Products].[Product line] ) 結果:傳回階層中包含「產品線」的每個成員。 產品 露營器材 炊具箱 悠遊水袋 悠遊餐具箱 ... 大地悍將極致錶 大地悍將豪華手錶 isEmpty ( value_expression ) 如果 "value_expression" 為空值會傳回 true;否則會傳回 false。 item ( set_expression , index ) 從 "set_expression" 中的 "index" 位置傳回成員。這個集中的 index 是以零為起點。 範例:item ( children ( [露營器材] ) , 2 ) 結果:睡袋 lag ( member , index_expression ) 傳回位在 "member" 之前 "index_expression" 個位置數的同層級成員。 範例:lag ( [帳篷] , 1 ) 結果:炊具箱 範例:lag ( [帳篷] , -2 ) 結果:背包 lastChild ( member ) 傳回指定的成員的最後一個子項。 範例:lastChild ( 炊具箱 ) 結果:悠遊餐具 範例:lastChild ( [依產品線] ) 結果:高爾夫球器材 lastSibling ( member ) 傳回指定的成員母項的最後一個子項。 範例:lastSibling ( [露營器材] ) 結果:高爾夫球器材 lead ( member , index_expression ) 傳回位在 "member" 之後 "index_expression" 個位置數的同層級成員。如果 "index_expression" 為負數,則會傳回位在 "member" 之前 "index_expression" 個位置數的同層級成員。 範例:lead ( [戶外防護器材] , 1 ) 結果:個人配件 範例:lead ( [戶外防護器材] , -2 ) 結果:高爾夫球器材 level ( member ) 傳回 "member" 的層次。 範例:level ( [高爾夫球器材] ) 結果:傳回位在「高爾夫球器材」層次上的成員。 露營器材 登山器材 個人配件 戶外防護器材 高爾夫球器材 levels ( hierarchy , index ) 傳回在 "hierarchy" 中與根層次相距 "index" 所指定的距離的層次。 範例:levels ( [great_outdoors_company].[Products].[Products] , 2 ) 結果:為成員傳回與根「產品」階層相距兩個層次的層次。 炊具箱 睡袋 背包 帳篷 ... 鐵桿 推桿 木桿 高爾夫球配件 範例:levels ( [great_outdoors_company].[Products].[Products] , 1 ) 結果:為成員傳回與根「產品」階層相距一個層次的層次。 露營器材 登山器材 個人配件 戶外防護器材 高爾夫球器材 linkMember ( member , level|hierarchy ) 傳回 "level" 或 "hierarchy"(屬於相同維度)中相對應的成員。若為以層次為基礎的階層,必須指定 level 作為第二個引數;若為上下代階層,則必須指定 hierarchy。當第二個參數不是解析為成員的維度層級時,便會擲出異常狀況。請注意,不支援使用已計算的成員作為第一個引數。 member ( value_expression [ , string1 [ , string2 [ , hierarchy ] ] ] ) 根據 "hierarchy" 中的 "value_expression" 來定義成員。"String1" 可識別此函數所建立的成員。此成員在查詢中必須是唯一的,而且與相同階層中的任何其他成員都不同。"String2" 是成員的標題;如果它不存在,標題便是空的。為了確保能獲得可預計的結果,建議您提供 "hierarchy"。附註:應使用此函數,明確地將用來作為分組項目(其同層級項目是其他計算或成員集)的所有計算指派給某一個階層。否則會得到無法預計的結果。唯一的異常狀況是當計算僅涉及相同階層上作為同層級成員的成員時。在此情況下,會假定此計算屬於該階層。 範例:member ( total ( currentMeasure within set filter ( [great_outdoors_company].[產品].[產品].[產品名稱] , caption ( [great_outdoors_company].[產品].[產品].[產品名稱] ) starts with 'B' ) ) , 'BProducts' , 'B Products' , [great_outdoors_company].[產品].[產品] ) 結果:傳回以字母 B 開頭的所有產品的銷售量和收入。 members ( hierarchy|level ) 傳回 "hierarchy" 或 "level" 中的成員集。如果是 hierarchy,便無法保證結果中的成員順序。如果需要可預計的順序,則必須使用能明確排序的函數(例如 hierarchize)。 範例:members ( [great_outdoors_company].[Years].[Years] ) 結果:傳回「年」中的成員。 範例:members ( [great_outdoors_company].[Products].[Products].[Product line] ) 結果:傳回「產品線」中的成員。 nestedSet ( set_expression1 , set_expression2 ) 此函數主要僅供 Analysis Studio 使用 結果:針對每一個產品線,依收入傳回最前面的兩項產品。 nextMember ( member ) 傳回 "member" 層次中的下一個成員。 範例:nextMember ( [戶外防護器材] ) 結果:高爾夫球器材 ordinal ( level ) 傳回 "level" 的順序值(表示與根層次的距離,以零為起點)。 範例:ordinal ( [great_outdoors_company].[Products].[Products].[Product line] ) 結果:1 範例:ordinal ( [great_outdoors_company].[Products].[Products].[Product type] ) 結果:2 parent ( member|measure ) 傳回 "member" 或 "measure" 的母項成員。 範例:parent ( [炊具箱] ) 結果:露營器材 _addMemberToSet ( member_expression , set_expression , parent|null , sibling|null , position ) 警告:僅供內部使用;請勿將此函數加入報告。傳回集。此函數會立即在同層級成員「之前」或「之後」將 "member_expression" 插入至 "set_expression"。請注意,"member_expression" 和 "set_expression" 必須來自相同的維度和階層。"Parent" 是已計算的成員 (member_expression ) 母項的唯一名稱,或是空值。   "Sibling" 是相對於 "member_expression" 所在位置的成員的唯一名稱,或是空值。 "Position" 的值為 BEFORE 或 AFTER。如果沒有指定 "position",預設值為 AFTER。 prevMember ( member ) 傳回在相同層次中,緊跟在 "member" 之前的成員。此函數出現在 GO 資料倉儲(分析)套件中的「銷售額逐年增長」樣本報告中。 範例:prevMember ( [戶外防護器材] ) 結果:個人配件 範例:prevMember ( [2005] ) 結果:2004 roleValue ( string [ , member|set_expression ] ) 傳回屬性值,此屬性與其名稱是由指定的環境定義內的 "string" 所指定的角色相關聯。"Member" 或 "set_expression" 只有在一些特定的情況下才是選用的,在那樣的情況下,可從另一個環境定義衍生出 "Member" 或 "set_expression"。依角色而非查詢項目 ID 來存取屬性,即可讓應用程式在不同的資料來源和模型之間靈活移動。 針對所有資料來源類型的成員所定義的本質角色包括:'_businessKey'、'_memberCaption'、'_memberDescription'、'_memberUniqueName'。對於線上分析程序 (OLAP) 來源,唯有跨越多個層次的物件可以存取本質角色。 對於依維度建模的關聯式 (DMR) 資料來源,模型建立者要負責指派角色。 可在 Framework Manager 中,為階層中的每一個層次定義其他角色。例如,產品類型層次可能有一個稱為「類型出貨儲存器」的屬性直欄,而產品層次可能有一個「產品出貨儲存器」屬性。這些物件中的每一個都可以指派為 Framework Manager 中稱為「儲存器」的自訂角色。之後就可以使用 roleValue 函數來參照此內容,而不依賴實際直欄名稱。 範例:roleValue ( '_memberCaption' , [銷售額].[產品].[產品].[產品線] -> [所有].[1] ) 結果:露營器材 範例:roleValue ( '_businessKey' , [great_outdoors_company].[Years].[Years].[Year] ) 結果:傳回與商業索引鍵角色相關聯的屬性值。 ("2004-01-01","2004-12-31") ("2005-01-01","2005-12-31") ("2006-01-01","2006-12-31") 範例:roleValue ( '_memberUniqueName' , [great_outdoors_company].[Years].[Years].[Year] ) 結果:傳回與 MUN 角色相關聯的屬性值。 [great_outdoors_company].[Years].[Years].[Year] ->:[PC].[Years (Root)].[20040101-20041231] [great_outdoors_company].[Years].[Years].[Year] ->:[PC].[Years (Root)].[20050101-20051231] [great_outdoors_company].[Years].[Years].[Year] ->:[PC].[Years (Root)].[20060101-20061231] rootMember ( hierarchy ) 傳回單一根階層的根成員。此函數出現在 GO 資料倉儲(分析)套件中的「促銷成功」樣本報告中。 rootMembers ( hierarchy ) 傳回階層的根成員。 範例:rootMembers ( [great_outdoors_company].[Years].[Years] ) 結果:依時間 value ( tuple ) 傳回由 "typle" 所識別的儲存格值。請注意,「測量」維度的預設成員是「預設測量」。 範例:value ( tuple ( [great_outdoors_company].[Years].[Years].[Year] ->:[PC].[Years (Root)].[20040101-20041231] , [great_outdoors_company].[Measures].[Revenue] ) ) 結果:$34,750,563.50 範例:value ( tuple ( [2004] , [露營器材] , [收入] ) ) 結果:$20,471,328.88 descendants ( member|set_expression , level|distance [ , { self|before|beforewithmember|after } ] ) 傳回位於 "level"(限定名稱)或與根相距 "distance" 個層次(整數 0..n)的 "member" 或 "set_expression" 的後代集。可以指定多個選項(以空格來區隔)來決定要傳回哪些成員。 self:在最終集中只包括位在指定層次的成員(這是沒有選取任何選項時的預設行為)。 before:如果成員的層次與指定的層次之間有任何中間層次,則會將這些層次中的成員包括進來。如果指定的層次與套用此函數的成員相同,則會將成員包括在最終集中。 beforewithmember:如果成員的層次與指定的層次之間有任何中間層次,則會將這些層次中的成員包括進來。套用此函數的成員也會包括在最終集中。 after:如果在指定的層次之後有其他層次,則會將這些層次中的成員包括在最終集中。此函數出現在 GO 資料倉儲(分析)套件中的「中歐銷售佣金」樣本報告中。 範例:descendants ( [great_outdoors_company].[Products].[Products].[Products] , [great_outdoors_company].[Products].[Products].[Product type] ) 結果:傳回位在產品類別層次的產品集的後代集。附註:[great_outdoors_company].[產品].[產品].[產品] 是「產品」階層的根成員。 炊具箱 睡袋 背包 帳篷 ... 眼鏡 刀具 手錶 範例:descendants ( [great_outdoors_company].[Products].[Products].[Products] , 1 ) 結果:傳回位在第一層次的產品集的後代集。 露營器材 高爾夫球器材 登山器材 戶外防護器材 個人配件 範例:descendants ( [great_outdoors_company].[Products].[Products].[Products] , 3 , before ) 結果:傳回第三層次之前的產品集的後代。 露營器材 炊具箱 睡袋 背包 帳篷 ... 眼鏡 刀具 手錶 範例:descendants ( [great_outdoors_company].[產品].[產品].[產品] , 2 , self before ) 結果:傳回第二層次(包括第二層次)之前的產品集的後代集。 露營器材 炊具箱 睡袋 背包 帳篷 ... 眼鏡 刀具 手錶 except ( set_expression1 , set_expression2 [ , all ] ) 傳回位於 "set_expression1" 但不在 "set_expression2" 中的成員。只有在提供 "all" 選用關鍵字作為第三個引數時,才會保留重複項。 範例:except ( set ( [露營器材] , [登山器材] ) , set ( [露營器材] , [高爾夫球器材] ) ) 結果:登山器材 filter ( set_expression , Boolean_expression ) 傳回根據布林條件過濾指定的集之後得到的集。每個成員只有在 "Boolean_expression" 的對應值為 true 時才會包括在結果中。 範例:filter ( [產品線] , [毛利] > .30 ) 結果:登山器材 intersect ( set_expression1 , set_expression2 [ , all ] ) 傳回 "set_expression1" 與 "set_expression2" 的交集。只有在提供選用關鍵字 "all" 作為第三個引數時,結果才會保留重複項。 範例:intersect ( set ( [露營器材] , [登山器材] ) , set ( [露營器材] , [戶外防護器材] , ) , all ) 結果:露營器材 lastPeriods ( integer_expression , member ) 傳回相同層次中結尾為 "member" 的成員集。傳回的成員數是 "integer_expression" 的絕對值。如果 "integer_expression" 為負數,會傳回包括指定成員在內以及之後的所有成員。通常是與時間維度一起使用。此函數出現在「捲動與移動平均值」互動式樣本報告中。 範例:lastPeriods ( 2 , [2006 Q 4] ) 結果:傳回層次中結尾為 2006 Q 4 的最後兩個成員。 2006 Q 3 2006 Q 4 範例:lastPeriods ( -3 , [2006 Q 4] ) 結果:傳回層次中開頭為 2006 Q 4 的最後三個成員。 2006 Q 4 2007 Q 1 2007 Q 2 periodsToDate ( level , member ) 傳回與 "member" 所在相同層次中的同層級成員集,它受到 "level" 的限制。它會尋找位於 "level" 的 "member" 的上代,然後傳回與 "member" 所在相同層次中的上代的後代(直到 "member" 並包括此成員)。通常是與時間維度一起使用。此函數出現在「捲動與移動平均值」互動式樣本報告中。 範例:periodsToDate ( [great_outdoors_company].[Years].[Years].[Year] , [2004/Mar] ) 結果:傳回 [2004/Jan]、[2004/Feb]、[2004/Mar] 的值 topCount ( set_expression , index_expression , numeric_expression ) 根據在 "set_expression" 的每個成員中求出的 "numeric_expression" 值,對集進行排序,然後傳回最前面的 "index_expression" 個成員。 範例:topCount ( [great_outdoors_company].[產品].[產品].[產品線] , 2 , [收入] ) 結果:傳回產品線集中收入最高的前兩項。 Prod line Revenue ----------- ---------- Camping $89,713,990.92 Personal $31,894,465.86 bottomCount ( set_expression , index_expression , numeric_expression ) 根據在 "set_expression" 的每個成員中求出的 "numeric_expression" 值,對集進行排序,然後傳回最後面的 "index_expression" 個成員。 範例:bottomCount ( [great_outdoors_company].[產品].[產品].[產品線] , 2 , [收入] ) 結果:傳回依收入排序過的集中的最後兩個成員。 Prod line Revenue ----------- ----------- Camping $3,171,114.92 Personal $20,891,350.60 topPercent ( set_expression , percentage , numeric_expression2 ) 以遞減順序排序 "set_expression" 中指定的集,並傳回排序集中其總計的累積百分比大於或等於 "percentage" 的最頂端元素。 範例:topPercent ( set ( [露營器材] , [高爾夫球器材] , [登山器材] ) , 40 , [2006] ) 結果:對於 Camping Equipment、Golf Equipment 和 Mountaineering Equipment 的集,傳回具有最高 Gross Profit 的成員(其 2006 年的總計至少為整體總計的 40%)。 bottomPercent ( set_expression , percentage , numeric_expression ) 以遞增順序排序 "set_expression" 中指定的集,並傳回排序集中其總計的累積百分比大於或等於 "percentage" 的最底端元素。 範例:bottomPercent ( set ( [露營器材] , [高爾夫球器材] , [登山器材] ) , 40 , [2006] ) 結果:對於 Camping Equipment、Golf Equipment 和 Mountaineering Equipment 的集,傳回具有最低 Gross Profit 的成員(其 2006 年的總計至少為整體總計的 40%)。 topSum ( set_expression , value , numeric_expression2 ) 以遞減順序排序 "set_expression" 中指定的集,並傳回排序集中其累積總計大於或等於 "value" 的最頂端元素。 範例:topSum ( children ( [產品] ) , 16000000 , tuple ( [2006] , [great_outdoors_company].[測量].[銷售毛利] ) ) 結果:對於 Product Line 成員,傳回具有最高 Gross Profit 的成員(其 2006 年的總計至少為 $6,000,0000)。 bottomSum ( set_expression , value , numeric_expression ) 以遞增順序排序 "set_expression" 中指定的集,並傳回排序集中其累積總計大於或等於 "value" 的最底端元素。 範例:bottomSum ( members ( [great_outdoors_company].[產品].[產品].[產品線] ) , 6000000 , tuple ( [2006] , [great_outdoors_company].[測量].[銷售毛利] ) ) 結果:對於 Product Line 成員,傳回具有最低 Gross Profit 的成員(其 2006 年的總計至少為 $6,000,0000)。 union ( set_expression1 , set_expression2 [ , all ] ) 傳回 "set_expression1" 與 "set_expression2" 的資料。只有在提供選用關鍵字 "all" 作為第三個引數時,結果才會保留重複項。 範例:union ( set ( [露營器材] , [高爾夫球器材] ) , set ( [高爾夫球器材] , [登山器材] ) ) 結果:以一個新集傳回兩個集的資料,此集只會顯示「高爾夫球器材」直欄一次。 範例:union ( set ( [露營器材] , [高爾夫球器材] ) , set ( [高爾夫球器材] , [登山器材] ) , all ) 結果:以一個新集傳回兩個集的資料,此集會顯示「高爾夫球器材」直欄兩次。 ancestors ( member , level|index ) 傳回位在 "level" 或與成員相距 "index" 距離的 "member" 的所有上代。(大部分的資料來源在指定的層次只支援一個上代。如果資料來源支援多個上代,結果會是成員集。) 範例:ancestors ( [悠遊水袋] , 1 ) 結果:炊具箱 範例:ancestors ( [悠遊水袋] , 2 ) 結果:露營器材 範例:ancestors ( [TrailChef Water Bag] , [great_outdoors_company].[Products].[Products].[Product type] ) 結果:炊具箱 generate ( set_expression1 , set_expression2 [ , all ] ) 針對 "set_expression1" 的每一個成員評估 "set_expression2",然後依聯集結合結果集。只有在提供選用關鍵字 "all" 作為第三個引數時,結果才會保留重複項。 範例:generate ( [產品線] , topCount ( descendants ( currentMember ( [great_outdoors_company].[產品].[產品] ) ,  [great_outdoors_company].[產品].[產品].[產品名稱] ) , 2 , [收入] ) ) 結果:針對每一個產品線,依收入傳回最前面的兩項產品。 head ( set_expression [ , index_expression ] ) 傳回 "set_expression" 的前 "index_expression" 個元素。"index_expression" 的預設值為 1。 範例:head ( members ( [great_outdoors_company].[Products].[Products].[Product line] ) ) 結果:露營器材 範例:head ( members ( [great_outdoors_company].[產品].[產品].[產品線] ) , 2 ) 結果:傳回「產品線」集中的前兩個成員。 露營器材 登山器材 hierarchize ( set_expression ) 對階層中的 "set_expression" 成員進行排序。層次中的成員會按照其自然順序排序。這是未指定其他排序條件時,成員在維度上的預設排序。 範例:hierarchize ( set ( [高爾夫球器材] , [登山器材] , [露營器材] ) ) 結果:傳回「露營器材」、「高爾夫球器材」、「登山器材」。 mtd ( [ member ] ) 傳回與 "member" 位在相同層次的同層級成員集(開頭為第一個同層級成員,結尾為 "member"),它受到時間維度中的月層次的限制。如果沒有指定成員,預設值是時間維度的 currentMember。 order ( set_expression , value_expression [ , ASC|DESC|BASC|BDESC ] ) 根據其 "value_expression" 和第三個參數,排列 "set_expression" 的成員。ASC 和 DESC 會根據成員在集階層中的位置,分別依遞增或遞減的順序來排列成員。然後根據 "value_expression" 來排列每個成員的子項。BASC 和 BDESC 在排列集中的成員時不考慮階層。如果沒有明確指定,預設值是 ASC。 範例:order ( members ( [Great Outdoors 公司].[產品].[產品].[產品類型] ) , [銷售量] , BASC ) 結果:不按特定順序傳回每個產品類型的銷售量。 ProdLine Quantity ------------ ------------- Woods 13,924 Irons 14,244 Safety 22,332 ... ... Sun 215,432 Repellent 270,04 Lanterns 345,096 範例:order ( members ( [Great Outdoors 公司].[產品].[產品].[產品類型] ) , [銷售量] , ASC ) 結果:依遞增順序傳回每個產品類型的銷售量。 ProdLine Quantity ------------ ------------- Woods 13,924 Irons 14,244 Putters 23,244 ... ... Tents 130,664 Cooking 198,676 Lanterns 345,096 qtd ( [ member] ) 傳回與 "member" 位在相同層次的同層級成員集(開頭為第一個同層級成員,結尾為 "member"),它受到時間維度中的季層次的限制。如果沒有指定成員,預設值是時間維度的 currentMember。 set ( member { , member } ) 傳回表示式中所定義的成員清單。這些成員必須屬於相同的階層。 範例:set ( [高爾夫球器材] , [鐵桿] , [悠遊杯] ) 結果:「高爾夫球器材」、「鐵桿」和「悠遊杯」。 siblings ( member ) 傳回指定成員的母項的子項。 範例:siblings ( [高爾夫球器材] ) 結果:傳回「高爾夫球器材」的同層級成員。 露營器材 高爾夫球器材 登山器材 戶外防護器材 個人配件 subset ( set_expression, index_expression1 [ , index_expression2 ] ) 傳回 "set_expression" 中的成員子集,從 "index_expression1" 開始。如果有指定計數 "index_expression2",則會傳回多個成員(如果可用)。否則,會傳回其餘的所有成員。 範例:subset ( members ( [great_outdoors_company].[產品].[產品].[產品線] ) , 2 ) 結果:傳回從第二個成員開始的「產品線」集的成員。 登山器材 戶外防護器材 個人配件 範例:subset ( members ( [great_outdoors_company].[產品].[產品].[產品線] ) , 2 , 2 ) 結果:傳回從第二個成員開始的兩個「產品線」集成員。 登山器材 戶外防護器材 tail ( set_expression [ , index_expression ] ) 傳回 "set expression" 的最後 "index_expression" 個元素。"index_expression" 的預設值為 1。 範例:tail (members ( [great_outdoors_company].[Products].[Products].[Product line] ) ) 結果:傳回「產品線」集中的最後一個成員。 個人配件 範例:tail ( members ( [great_outdoors_company].[產品].[產品].[產品線] ) , 2 ) 結果:傳回「產品線」集中的最後兩個成員。 戶外防護器材 個人配件 tuple (  member { , member } ) 根據指定的成員(它們必須來自不同的維度)識別儲存格位置(交集)。此函數暗示包括沒有在引數中另外指定的所有維度中的現行成員。會採用沒有在評估的環境定義中指定的任何維度的現行成員成為該維度的預設成員。可使用 "value" 函數取得此儲存格的值。 範例:tuple ( [登山器材] , [傳真] ) 結果:依傳真傳回「登山器材」銷售額。 wtd ( [member] ) 傳回與 "member" 位在相同層次的同層級成員集(開頭為第一個同層級成員,結尾為 "member"),它受到時間維度中的週層次的限制。如果沒有指定成員,預設值是時間維度的 currentMember。 ytd ( [member] ) 傳回與 "member" 位在相同層次的同層級成員集(開頭為第一個同層級成員,結尾為 "member"),它受到時間維度中的年層次的限制。如果沒有指定成員,預設值是時間維度的 currentMember。
成員摘要 此清單包含預先定義的函數,這些函數會傳回一組成員的單一摘要值,或針對一組成員中的每個成員傳回不同的摘要值。 aggregate ( < currentMeasure|numeric_expression > within set set_expression ) aggregate ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 根據表示式的聚集類型,傳回使用適當的聚集函數算出的值。 average ( < currentMeasure|numeric_expression > within set set_expression ) average ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的平均值。 範例:average ( 銷售額 ) 結果:傳回所有「銷售額」值的平均值。 count ( < currentMeasure|numeric_expression > within set set_expression ) count ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回所選取資料項目的數目,但不包括空值。 範例:count ( 銷售額 ) 結果:傳回「銷售額」下的項目總數。 maximum ( < currentMeasure|numeric_expression > within set set_expression ) maximum ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的最大值。 範例:maximum ( 銷售額 ) 結果:傳回所有「銷售額」值中的最大值。 median ( < currentMeasure|numeric_expression > within set set_expression ) median ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的中位數值。 minimum ( < currentMeasure|numeric_expression > within set set_expression ) minimum ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的最小值。 範例:minimum ( 銷售額 ) 結果:傳回所有「銷售額」值中的最小值。 傳回選取的資料項目在總值中所佔的百分比。 percentage ( numeric_expression [ tuple member_expression { , member_expression } ] within set set_expression ) 範例:percentage ( [gosales].[sales measures].[quantity] tuple [gosales].[Staff].[].[department] -> [West] within set children ( [gosales].[Staff].[].[Staff] ) ) 傳回一個值(範圍從 0 到 100),表示等於或小於選取的資料項目的銷售量百分比。 percentile ( numeric_expression [ tuple member_expression { , member_expression } ] within set set_expression ) 傳回指定的範圍內的值的等級。它會傳回整數,代表任何範圍的等級,例如 1(最高)到 100(最低)。 quantile ( numeric_expression , numeric_expression [ tuple member_expression { , member_expression } ] within set set_expression ) 傳回值相對於一組值的等級,以 1(最高)到 4(最低)的整數來表示。 quartile ( numeric_expression [ tuple member_expression { , member_expression } ] within set set_expression ) 傳回選取的資料項目的等級值。傳回的等級類型(奧林匹克、密集或序列)取決於資料來源。排序是選用的;依預設會採用 DESC。 rank ( numeric_expression [ ASC|DESC ] [ tuple member_expression { , member_expression } ] within set set_expression ) 範例:rank ( [gosales].[sales measures].[quantity] tuple [gosales].[Staff].[].[department] -> [West] within set children ( [gosales].[Staff].[].[Staff] ) ) standard-deviation ( < currentMeasure|numeric_expression > within set set_expression ) standard-deviation ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的標準差。 standard-deviation-pop ( < currentMeasure|numeric_expression > within set set_expression ) standard-deviation-pop ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的總體標準差。 total ( < currentMeasure|numeric_expression > within set set_expression ) total ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的總值。 variance ( < currentMeasure|numeric_expression > within set set_expression ) variance ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的變異數。 variance-pop ( < currentMeasure|numeric_expression > within set set_expression ) variance-pop ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) 傳回選取的資料項目的總體變異數。
OLAP