SSDT計算屬性對話方塊

–SQL Server Data Tools

一、建立Cube

  1. 到E3下載bak,開啟SQL Server,並還原資料庫
  2. 開啟SQL Server Data Tools 2015,新增→專案→Analysis Services多維度和資料採礦專案
  3. 新增資料來源:

右邊「方案總管」→資料來源→右鍵新增資料來源→下一步→New…→伺服器名稱:.、資料庫名稱:A12345→OK→下一步→勾「繼承」→下一步→完成

  1. 新增資料來源檢視:

右邊「方案總管」→資料來源檢視→右鍵新增資料來源檢視→下一步→選剛剛建立的資料來源(A12345)→下一步→下一步→選取全部資料表移到右邊「包含的物件」→下一步→完成

  1. 設定邏輯主索引鍵、建立關聯

針對[科目表.科目編號]、[學生表.座號]、[年度段考表.段考代號],右鍵→設定邏輯主索引鍵,並建立資料表關聯(如圖)。

  1. 新增維度:

右邊「方案總管」→維度→右鍵新增維度→下一步→勾「使用現有資料表」→下一步→下一步→可用的屬性:全勾→下一步→完成。

  1. 建立階層:

建立「段考階層」:年度>段考。

  1. 新增Cube

右邊「方案總管」→CUBE→右鍵CUBE→下一步→勾”使用現有資料表”→下一步→量值群組資料表:勾選「成績單」→下一步→下一步→下一步→下一步→完成。

左上「處理」。

※如果執行撿角,請回去SQL Server授予目前使用者(as)讀取A12345資料庫的權限(db_owner或db_datareader)。

(安全性→登入→選取目前使用者(as)→右鍵”屬性”→左邊”使用者對應”→右邊勾選資料庫和權限)

二、計算「平均分數」

  1. 在CUBE的「計算」頁籤,上方工具列或「指令碼組合管理區域」右鍵,新增導出成員,
  • 名稱:[平均分數] (中括號不能刪!)
  • 運算式:[Measures].[分數]/[Measures].[成績單 計數]
    (可從左下拉進來)
  1. 上方工具列「處理」,重新處理CUBE完成後,「瀏覽器」頁籤→到EXCEL查看結果。
  • 欄:科目
  • 列:姓名
  • 值:平均分數

三、建立群組檢視─科目

如果科目要做群組檢視的話(例如:語文、文科、理科…)

※方法一:在資料表新增欄位

  1. 到SQL Server「科目表」資料表新增一個欄位:類別,
  2. 回到CUBE的資料來源檢視的視窗(A12345.dsv),上面工具列→資料來源檢視→重新整理,會有提示視窗顯示有哪些變更。
  3. 到科目維度把剛剛建立的「類別」拉進來。
  4. 建立「科目階層」:類別>科目
  5. CUBE處理完成後,到EXCEL「資料」頁籤「全部重新整理」,把剛剛建立的「科目階層」放到右下「篩選」欄。

※方法二:新增命名集

  1. 在CUBE「計算」頁籤,新增命名集,
  • 名稱:[語文類]
  • 運算式:{[科目維度].[科目].&[英語], [科目維度].[科目].&[國語]}
    (可從左下拉進來,前後加的是大括號)
  1. CUBE處理完成後,到EXCEL,會發現「科目維度」項目下多了「集」,展開後可以看到剛剛建立的「語文類」,放到右下”欄”。

※資料錯誤

如果量值資料表出現「載入中繼資料時發生錯誤:使用者沒有資料庫的存取權,或者資料庫不存在。」錯誤的話,重新處理CUBE,到上面工具列按「重新連接」即可。

四、建立「觀察學生」的檢視

  1. 在CUBE「計算」頁籤,新增命名集,
  • 名稱:[觀察學生]
  • 運算式:{ {[學生維度].[姓 名].&[王○慈],[學生維度].[姓   名].&[吳○慈], [學生維度].[姓   名].&[李○瑄]}}
    (可從左下拉進來,前後加的是大括號)
  1. CUBE處理完成後,到EXCEL,會發現「學生維度」項目下多了「集」,展開後可以看到剛剛建立的「觀察學生」,放到右下「列」。

這樣每次要看觀察名單內的學生,直接拉進去就可以看嚕。

五、建立「前三名」的檢視

  1. 在CUBE「計算」頁籤,新增命名集,
  • 名稱:[前三名]
  • 運算式:topcount([學生表].[姓名].children, 3, [Measures].[分數])
    (topcount函數:以分數為標準,從學生表中挑出前三位學生)
  1. CUBE處理完成後,到EXCEL,會發現「學生維度」項目下多了「集」,展開後可以看到剛剛建立的「前三名」,放到右下「列」。

六、建立「成績」的KPI

值運算式去跟目標運算式比較,狀態運算式看要顯示什麼燈號,狀態運算式要傳回三個值:1、0、-1。

  1. 在CUBE「KPI」頁籤,新增KPI,
  • 名稱:[成績]
  • 值運算式:[Measures].[分數]
  • 目標運算式:85
  • 狀態指標:形狀
  • 狀態運算式:

  1. CUBE處理完成後,到EXCEL,會發現多了「KPI」項目,把KPI→成績→狀態,放到右下「列」。

※一個公司通常不建議設定很多KPI,KPI的設定是很嚴謹的,門檻值的設定也是一門學問。

七、建立「前次分數」的檢視

  1. 在CUBE「計算」頁籤,新增導出成員,
  • 名稱:[前次分數]
  • 運算式:

睡著的同學:http://data.bilab.pro:999/bi/_CUBE/_MDX.TXT

Leave a Reply