課程 6-1 - 定義匯出成員
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
匯出成員是維度或量值群組的成員,這些群組是根據 Cube 數據、算術運算子、數位和函式的組合所定義。 例如,您可以建立計算成員,以計算 Cube 中兩個實體量值的總和。 匯出成員定義會儲存在 Cube 中,但其值會在查詢時計算。
若要建立匯出成員,請使用 Cube 設計工具 [ 計算] 索引卷標上的 [新增匯出成員] 命令。 您可以在任何維度內建立匯出成員,包括量值維度。 您也可以將匯出成員放在 [計算屬性] 對話框的顯示資料夾中。 如需詳細資訊,請參閱 計算、多維度模型中的計算,以及 建立導出成員。
在本主題的工作中,您會定義導出量值,讓用戶檢視因特網銷售、轉銷商銷售以及所有銷售的毛利率百分比和銷售比率。
定義計算以匯總實體量值
開啟 SQL Server Analysis Services 教學課程 Cube 的 Cube 設計工具,然後按兩下 [計算] 索引標籤。
請注意 計算運算式 窗格和 [腳本召集人] 窗格中的預設 CALCULATE 命令。 此命令指定 Cube 中的量值應該根據其 AggregateFunction 屬性所指定的值進行匯總。 量值通常會加總,但也可能會以其他方式計算或匯總。
下圖顯示 Cube 設計師 索引標籤
計算。 在 [計算] 索引標籤的工具列上,按兩下 [[新增匯出成員]。
新的窗體會出現在 計算表示式 窗格中,您可以在其中定義這個新匯出成員的屬性。 新成員也會出現在 [腳本召集人] 窗格中。
下圖顯示當您按兩下 [新增匯出成員]時,計算表示式 窗格中出現的表單。
在 [
Name ] 方塊中,將匯出量值的名稱變更為 [總銷售額]。 如果匯出成員的名稱包含空格,導出成員名稱必須以方括弧括住。
請注意,在 父階層 清單中,預設會在 量值 維度中建立新的導出成員。 量值維度中的導出成員也經常稱為導出量值。
在 [計算] 索引標籤的 [計算工具] 窗格的 [元數據] 索引卷標上,展開 [量值],然後展開 [因特網銷售],以檢視 Internet Sales 量值群組的元數據。
您可以將元數據元素從 [計算工具] 窗格拖曳到 [表達式] 方塊中,然後新增運算符和其他元素來建立多維度表達式 (MDX) 表達式。 或者,您也可以直接在 [表達式] 方塊中輸入 MDX 表達式。
注意
如果您無法在 [計算工具] 窗格中檢視任何元數據,請按兩下工具列上的 [重新連線]。 如果無法運作,您可能必須處理 Cube 或啟動 SQL Server Analysis Services 的實例。
將 [Internet Sales-Sales Amount] 從 [計算工具] 窗格的 [元數據] 索引卷標拖曳到 [計算表達式] 窗格中的 [表達式] 方塊中。
在 [運算式] 方塊中,於 [量值] 之後輸入加號 (+]。[因特網 Sales-Sales 金額]。
在 [
計算工具 ] 窗格的 [元數據 ] 索引卷標上,展開 [轉銷商銷售 ],然後將[轉售商 Sales-Sales 金額 ] 拖曳到加號 窗格的 [表達式 ]方塊中。 在 [格式字串 列表中,選取 [[貨幣]。
在 [
非空白行為 列表中,選取 [Internet Sales-Sales Amount ] 和[轉銷商 Sales-Sales 金額 ] 複選框,然後按兩下 [確定]。 您在 非空白行為 清單中指定的量值是用來解析 MDX 中的非空白查詢。 當您在 非空白行為 清單中指定一或多個量值時,如果所有指定的量值都是空的,SQL Server Analysis Services 會將匯出成員視為空白。 如果 非空白行為 屬性為空白,SQL Server Analysis Services 必須評估匯出成員本身,以判斷成員是否為空白。
下圖顯示 計算表示式 窗格中填入您在先前步驟中指定的設定。
在 [計算] 索引卷標的工具列上,按兩下 [腳本檢視],然後在 [計算運算式] 窗格中檢閱計算腳本。
請注意,新的計算會新增至初始 CALCULATE 表達式;每個個別計算都會以分號分隔。 另請注意,計算腳本開頭會出現批注。 在計算腳本中新增計算腳本中的批註是很好的作法,可協助您和其他開發人員瞭解複雜的計算腳本。
在 Calculate 之後,在計算腳本中新增一行; 命令,並在新增的計算腳本之前,將下列文字新增至腳本本身的行:
/* Calculations to aggregate Internet Sales and Reseller Sales measures */
下圖顯示計算文本,因為它們應該出現在教學課程的 計算表達式 窗格中。
在 [計算運算式] 窗格中
在 [
計算 ] 索引卷標的工具列上,按兩下 [窗體檢視], 確認已在 [ ,然後按兩下 [腳本召集人] 窗格中選取 [總銷售額][新增導出成員] 。將這個新的匯出成員名稱變更為 [產品總成本]
,然後在 [ 運算式] 方塊中建立下列運算式:[Measures].[Internet Sales-Total Product Cost] + [Measures].[Reseller Sales-Total Product Cost]
在 [格式字串 列表中,選取 [[貨幣]。
在 [
非空白行為 列表中,選取 [因特網 Sales-Total 產品成本 ] 和 [轉銷商 Sales-Total 產品成本 ] 複選框,然後按兩下 [確定]。 您現在已定義兩個匯出成員,這兩個成員都會顯示在 [腳本召集人] 窗格中。 這些導出成員可供您稍後在計算腳本中定義的其他計算使用。 您可以選取 [腳本召集人] 窗格中的匯出成員,來檢視任何匯出成員的定義;匯出成員的定義會出現在窗體檢視 計算表達式 窗格中。 在部署這些物件之前,新定義的導出成員不會出現在 [計算工具] 窗格中
。 計算不需要處理。
定義毛利率計算
確認已在 [腳本召集人] 窗格中選取 [總產品成本],然後按兩下 [計算] 索引標籤工具列上的 [新增導出成員]。
在 [
名稱 ] 方塊中,將這個新計算量值的名稱變更為 [因特網 GPM]。 在 [表示式] 方塊中,建立下列 MDX 表達式:
([Measures].[Internet Sales-Sales Amount] - [Measures].[Internet Sales-Total Product Cost]) / [Measures].[Internet Sales-Sales Amount]
在 [格式字串] 列表中,選取 [[百分比]。
在 [非空白行為 列表中,選取 [Internet Sales-Sales Amount] 的複選框,然後按兩下 [確定]。
在 [計算] 索引標籤的工具列上,按兩下 [[新增匯出成員]。
在 [名稱] 方塊中,將這個新計算量值的名稱變更為 [轉銷商 GPM]。
在 [表示式] 方塊中,建立下列 MDX 表達式:
([Measures].[Reseller Sales-Sales Amount] - [Measures].[Reseller Sales-Total Product Cost]) / [Measures].[Reseller Sales-Sales Amount]
在 [格式字串] 列表中,選取 [[百分比]。
在 [
非空白行為 列表中,選取 [Reseller Sales-Sales Amount ] 複選框,然後按兩下 [確定]。 在 [計算] 索引標籤的工具列上,按兩下 [[新增匯出成員]。
在 [
Name ] 方塊中,將此匯出量值的名稱變更為 [總 GPM]。 在 [表示式] 方塊中,建立下列 MDX 表達式:
([Measures].[Total Sales Amount] - [Measures].[Total Product Cost]) / [Measures].[Total Sales Amount]
請注意,這個導出成員參考其他導出成員。 因為這個導出成員會在參考的導出成員之後計算,所以這是有效的導出成員。
在 [格式字串] 列表中,選取 [[百分比]。
在 [
非空白行為 列表中,選取 [Internet Sales-Sales Amount ] 和[轉銷商 Sales-Sales 金額 ] 複選框,然後按兩下 [確定]。 在 [計算] 索引卷標的工具列上,按兩下 [腳本檢視],並檢閱您剛新增至計算腳本的三項計算。
在計算腳本中緊接在 [Internet GPM] 計算之前新增一行,然後將下列文字新增至腳本本身的行:
/* Calculations to calculate gross profit margin */
下圖顯示具有三項新計算的 [表示式] 窗格。
定義總計算的百分比
在 [
計算 ] 索引標籤的工具列上,按兩下 [窗體檢視]。 在 [腳本召集人] 窗格中,選取 [[總 GPM],然後按兩下 [計算] 索引卷標工具列上的 [新增導出成員]。
按兩下 [腳本召集人] 窗格中的最終匯出成員,然後按兩下 [新增匯出成員] 保證腳本結尾將輸入新的導出成員。 腳本會依出現在 [腳本召集人] 窗格中的順序執行。
將這個新匯出成員的名稱變更為 [因特網銷售比率與所有產品]。
在 [運算式] 方塊中輸入下列運算式:
Case When IsEmpty( [Measures].[Internet Sales-Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Internet Sales-Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Internet Sales-Sales Amount] ) End
這個 MDX 運算式會計算每個產品因特網總銷售額的貢獻。 Case 語句與IS EMPTY 函式一起可確保當產品沒有銷售時,不會發生零除錯誤。
在 [格式字串] 列表中,選取 [[百分比]。
在 [非空白行為 列表中,選取 [Internet Sales-Sales Amount] 的複選框,然後按兩下 [確定]。
在 [計算] 索引標籤的工具列上,按兩下 [[新增匯出成員]。
將此匯出成員的名稱變更為 [轉銷商銷售比率與所有產品]。
在 [運算式] 方塊中輸入下列運算式:
Case When IsEmpty( [Measures].[Reseller Sales-Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Reseller Sales-Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Reseller Sales-Sales Amount] ) End
在 [格式字串] 列表中,選取 [[百分比]。
在 [
非空白行為 列表中,選取 [Reseller Sales-Sales Amount ] 複選框,然後按兩下 [確定]。 在 [計算] 索引標籤的工具列上,按兩下 [[新增匯出成員]。
將這個匯出成員的名稱變更為 [總銷售比率與所有產品]。
在 [運算式] 方塊中輸入下列運算式:
Case When IsEmpty( [Measures].[Total Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Total Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Total Sales Amount] ) End
在 [格式字串] 列表中,選取 [[百分比]。
在 [
非空白行為 列表中,選取 [Internet Sales-Sales Amount ] 和[轉銷商 Sales-Sales 金額 ] 複選框,然後按兩下 [確定]。 在 [計算] 索引標籤的工具列上,按兩下 [腳本檢視],然後檢閱您剛才新增至計算腳本的三個計算。
在計算腳本中緊接著 [因特網銷售比率與所有產品] 計算之前新增一行,然後將下列文字新增至腳本本身的行:
/* Calculations to calculate percentage of product to total product sales */
您現在已定義總計八個匯出成員,當您在 [表單] 檢視中時,[腳本召集人] 窗格中會顯示這些成員。
流覽新的導出成員
在 SQL Server Data Tools 的 [建置] 功能表上,單擊 [部署 Analysis Services 教學課程]。
部署順利完成時,切換至 [
Browser ] 索引卷標,按兩下 [重新連線]。 按兩下 Excel 圖示,然後按下 [[啟用]。
在 [數據透視表字段清單] 窗格中,展開 [[值] 資料夾,以檢視 [量值] 維度中新的導出成員。
將 總銷售額 拖曳至 [值] 區域,然後檢閱結果。
將 Internet Sales-Sales Amount 和 Reseller Sales-Sales Amount 量值從 Internet Sales 和 Reseller Sales 量值群組拖曳至 [值] 區域。
請注意,總銷售額量值 量值是 因特網 Sales-Sales Amount 量值和 Reseller Sales-Sales Amount 量值的總和。
將 產品類別 使用者定義階層新增至 報表篩選 區域的篩選區域,然後依 Mountain Bikes篩選數據。
請注意,
總銷售額 量值是根據 Bikes。Internet Sales-Sales Amount 和Reseller Sales-Sales Amount 量值計算Mountain 將 Date.Calendar Date 使用者定義的階層新增至 [數據列卷標] 區域,然後檢閱結果。
請注意,根據
Internet Sales-Sales Amount 和Reseller Sales-Sales Amount measure forMountain Bikes ,計算每個日曆年度 總銷售額 量值。將 總 GPM、Internet GPM,以及 轉銷商 GPM 量值區域,然後檢閱結果。
請注意,轉銷商銷售毛利率明顯低於因特網上的銷售額,如下圖所示。
將總銷售比率 新增至所有產品、因特網銷售比率新增至所有產品,並將轉銷商銷售比率 所有產品 量值區域。
請注意,山車與所有產品的銷售額比例隨著時間的因特網銷售而增加,但轉銷商銷售會隨著時間而減少。 另請注意,從銷售到所有產品的山車與所有產品的比率,從銷售到轉銷商的比例比透過因特網銷售的比率要低。
將篩選條件從 Mountain Bikes 變更為 Bikes,然後檢閱結果。
請注意,所有透過轉銷商銷售的自行車毛利率都是負數,因為旅遊自行車和公路自行車正以虧損方式出售。
將篩選條件變更為 Accessories,然後檢閱結果。
請注意,配件的銷售隨著時間而增加,但這些銷售只佔總銷售額的一小部分。 另請注意,配件銷售毛利率高於自行車。