6.2 定義命名集

來源:互聯網
上載者:User
定義命名集:

命名集是可返回一組維度成員的多維度運算式 (MDX)。可以定義命名集,並將它們另存新檔Cube 定義的一部分;還可以在用戶端應用程式中建立命名集。通過合并Cube資料、算術運算子、數字和函數,可以建立命名集。命名集可以由使用者在用戶端應用程式的 MDX 查詢中使用,還可以用來定義子Cube中的集合。子Cube是交叉聯結集的集合,它將Cube空間限制為隨後語句的定義的子空間。定義受限的Cube空間是 MDX 指令碼的一個基本概念。本課程的下一個主題將討論 MDX 指令碼。

命名集簡化了 MDX 查詢,並為複雜、常用的集運算式提供了有用的別名。例如,可以定義名為“大型分銷商”的命名集,用來包含有最多僱員的“分銷商”維度成員集合。然後,終端使用者可以在查詢中使用“大型分銷商”命名集,您也可以使用該命名集來定義子Cube中的集合。命名集定義儲存於Cube中,但它們的值只存在於記憶體中。若要建立命名集,請使用Cube設計器的“計算”選項卡上的“建立命名集”命令。有關詳細資料,請參閱、。

在此主題的任務中,將定義兩個命名集:“核心產品”命名集和“大型分銷商”命名集。

定義“核心產品”命名集
定義“核心產品”命名集
  1. 切換到 Analysis Services Tutorial Cube的Cube設計器的“計算”選項卡,再單擊工具列上的“表單檢視”

  2. 單擊“指令碼組織程式”窗格中的“[所有產品的總銷售額比率]”,然後在“計算”選項卡的工具列上單擊“建立命名集”

    “計算”選項卡上定義新計算時,請記住,計算的解析是按它們出現在“指令碼組織程式”窗格中的順序來進行的。在建立新計算時該窗格中的焦點確定了計算的執行順序;新的計算將定義於緊靠有焦點的計算之後。

  3. “名稱”框中,將新命名集的名稱更改為 [Core Products]

    “指令碼組織程式”窗格中,注意用於將命名集與指令碼命令或導出成員區分開來的唯一表徵圖。

  4. “計算工具”窗格中的“中繼資料”選項卡上,依次展開“產品”“類別”“成員”“所有產品”

如果無法在“計算工具”窗格中查看任何中繼資料,請在工具列上單擊“重新串連”。如果該操作失敗,則可能必須處理Cube,或啟動 Analysis Services 執行個體。

 

 

  1. “單車”拖到“運算式”框中。

    現在,您已經建立一組運算式,它將返回“產品”維度內的“單車”類別中的成員集合。

    顯示在此過程中建立的命名集的“計算運算式”窗格。

定義“大型分銷商”命名集
定義“大型分銷商”命名集

  1. “指令碼組織程式”窗格中按右鍵[核心產品],再單擊“建立命名集”

  2. “名稱”框中,將此命名集的名稱更改為 [大型分銷商]

  3. “運算式”框中鍵入 Exists()

    您將使用 Exists 函數來從“大型分銷商”屬性階層返回成員集合,而“分銷商名稱”屬性階層將與有最大僱員數的“僱員數”屬性階層中的成員集合互動。

  4. “計算工具”窗格中的“中繼資料”選項卡上,展開“分銷商”維度,再展開“分銷商名稱”屬性階層。

  5. “分銷商名稱”層級拖到 Exists 集運算式的括弧中。

    將使用 Members 函數來返回此集合的所有成員。相關主題:

  6. 在部分集運算式之後鍵入句號,再添加 Members 函數。運算式應該如下顯示:

    複製代碼
    Exists([Reseller].[Reseller Name].[Reseller Name].Members)

    既然已經為 Exists 集運算式定義了第一個集合,現在可以開始添加第二個集合,即包含最大僱員數的“分銷商”維度成員集合。

  7. “計算工具”窗格中的“中繼資料”選項卡上,依次展開“分銷商”維度中的“僱員數目”“成員”“所有分銷商”

    注意,此屬性階層的成員沒有分組。

  8. 開啟“分銷商”維度設計器,然後在“屬性”窗格中單擊“僱員數目”

  9. 在“屬性”視窗中,將 DiscretizationMethod 屬性更改為“自動”,再將 DiscretizationBucketCount 屬性更改為 5相關主題:

  10. 在 Business Intelligence Development Studio 的“產生”菜單上,單擊“部署 Analysis Services 教程”

  11. 成功完成部署後,切換到 Analysis Services Tutorial Cube的Cube設計器,然後在“計算”選項卡的工具列上單擊“重新串連”

  12. “計算工具”窗格中的“中繼資料”選項卡上,依次展開“分銷商”維度中的“僱員數目”“成員”“所有分銷商”

    注意,此屬性階層的成員現在包含於編號為 0 到 4 的五個組中。若要查看組的編號,請將指標暫停在組上,以查看 InfoTip。之所以對此屬性階層的成員進行分組,是因為 DiscretizationBucketCount 屬性設定為 5,並且 DiscretizationMethod 屬性設定為“自動”

  13. “運算式”框中,在 Exists 集運算式中的 Members 函數之後和右括弧之前添加逗號,再將 83 - 100“中繼資料”窗格拖放到逗號之後。

    現在,將“大型分銷商”命名集放在軸上時,您已經完成了將會返回與兩個指定集合(所有分銷商集合和有 83 到 100 名僱員的分銷商集合)互動的成員集合的 Exists 集運算式。

    顯示 [大型分銷商] 命名集的“計算運算式”窗格。

  14. “計算”選項卡的工具列上,單擊“指令碼視圖”,然後檢查剛才添加到計算指令碼中的兩個命名集。

  15. 在計算指令碼中緊靠第一個 CREATE SET 命令之前添加新行,然後在指令碼中獨立的行上添加以下文本:

    複製代碼
    /* named sets */

    現在,您已經定義了兩個命名集,它們已顯示在“指令碼組織程式”窗格中。現在,您可以部署這兩個命名集,然後在 Analysis Services Tutorial Cube中瀏覽這些度量值。

使用新的命名集瀏覽Cube
使用新的命名集瀏覽Cube

  1. 在 BI Development Studio 的“產生”菜單上,單擊“部署 Analysis Services 教程”

  2. 在已成功完成部署後,單擊“瀏覽器”選項卡,再單擊“重新串連”

  3. “資料”窗格中刪除所有階層和度量值。

  4. “分銷商銷售-銷售額”度量值添加到資料區域,再將“產品類別”使用者定義階層添加到列區域。

    注意,只會出現類別屬性的一個成員。這是因為先前已在此會話中使用該屬性作為篩選器。如果在新會話中工作,將顯示所有成員。

  5. 選擇“行”地區中“類別”旁邊的下拉鍵頭,然後選中“(全部)”層級旁邊的複選框,以選擇此層級(如果尚未選擇它)的所有成員,再單擊“確定”

  6. 展開“單車”以查看“子類別”層級的成員,如所示。

  7. “中繼資料”窗格中的“產品”維度內,按右鍵“核心產品”,並選擇“添加到子Cube地區”

    注意,只有“類別”屬性的“單車”成員和“單車”子類別的成員會留在Cube中。這是因為“核心產品”命名集用來定義子Cube,該子Cube的屬性將出現在位於“資料”窗格上面的“篩選器”窗格中。此子Cube使得它包含的“產品”維度中的“類別”屬性的成員僅限於“核心產品”命名集的那些成員,如所示。

  8. “中繼資料”窗格中,展開“分銷商”,按右鍵“大型分銷商”,然後單擊“添加到子Cube地區”

    注意,“資料”窗格中的“分銷商銷售額”度量值只顯示大型單車分銷商的銷售額。還要注意,“篩選器”窗格現在顯示用來定義此特定子Cube的兩個命名集,如所示。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.