1. 程式人生 > >BI學習之一建立一個簡單的Olap多維資料集的展現

BI學習之一建立一個簡單的Olap多維資料集的展現

專案背景

  '部落格園'是一家國內的大型日化用品,生活用品生產,銷售公司,它的一部分銷售是放在淘寶網上進行的,在淘寶網上這家公司有多個網店,線下有系統對每個網店的銷售資料通過淘寶API進行抓取儲存,用於每週,月出銷售情況的報表.由於報表設計到多個方面,每一次有新的搭配或者比較的話就必須讓程式人員修改程式碼,增加修改報表的內容.現在,'部落格園'想通過資料分析人員自己來控制想得到的資料報表,想到什麼,得到什麼,並且能多角度,多層面的對資料進行分析.

使用BI資料分析與傳統報表的比較

  

  從上面這個比較圖可以看出,右邊的olap資料展示的話,操作者可以通過手動拖拽樹中的度量值,KPI,維度使右邊圖片及表格動態變化,圖片和表格能根據自己的需求進行點選(鑽取)檢視得到更細的,想要關注的報表,我們可以看到,olap資料分析讓我們知道了目前是這樣,還能知道為什麼是這樣,以及以往到如今,甚至未來的發展趨勢

BI中的基本概念介紹(結合Analysis Services)

維度(Dimension):   維度理解為資料的屬性,是我們分析資料的角度,比如分析公司在全國各地的各種商品的銷售情況,那麼商品類別,地區,店鋪等就是維度,維度中包含層級,比如說地區,省和省(湖北省,湖南省..)之間就是水平層及,省下面有市和縣等,比如湖北省->恩施市->來鳳縣,這就是垂直層級,我們通過維度來定義獲取資料分析的條件 度量值(Measure):

  度量值是基於事實表的一列,是在多個維度下取值的共同點,比如事實表中有一個total_fee的欄位,我們就可以通過按照地區維度和時間維度+total_fell這個度量值來分析相應的銷售情況.

KPI:

  關鍵績效指標,將傳統的數值分析轉變為狀態及趨勢分析.比如說公司這個月銷售額到達了200W,那麼這個銷售額對於去年這月,或者以往的月份來說是漲了還是降了呢,這個月打了廣告,那麼就可以通過KPI知道廣告帶來了多少利潤

Cube:

  多維資料集是由多個維度,度量值組成的多維資料模型.下圖能直觀的看到cube的模型:

事實表:

   存放要分析的資料的表,只包括主鍵,外來鍵和度量,比如下圖: 在這個事實表中,度量為數量和價格,外來鍵是FK打頭的幾個

來點實在的吧,自己動手,完成一次olap展現

1.1 環境:

SQL 2008 安裝了 Analysis Services,SQL Server Business Intelligence Development Studio

1.2  開始吧

  1.2.1 建立專案

  開啟VS2008->SQL Server Business Intelligence Development Studio->檔案->新建專案->商業智慧專案->Analysis Services專案->確定

  1.2.2

  建立資料來源 新增一個數據庫連線到我們的資料倉庫

  1.2.3

  建立資料來源檢視, 資料來源作為與我們的資料庫的一個連線,在資料來源中,我們則可以對資料來源中我們設定好的維度表,事實表做關係處理,新增計算等

在選取我們想要分析的事實表和維度表之後,我們可以使用工具欄,放大鏡來調整顯示的百分比。

    1.2.3.1 設定基本維度表和事實表的關係,由於事實表的外來鍵是各個維度表的主鍵,拖拽事實表中的外來鍵欄位匹配維度表中的主鍵欄位來建立關聯

    1.2.3.2 設定父子關係,在這個設計裡面,由於通過商品的維度表才能知道商品的類目,這裡存在一個維度引用,及在Dim商品表和Dim類目表之間,

由於類目表中通過類目的父及編號來保住層級關係,所以這裡我們要設定一下父子關係,點選工具欄上面的新建關係,通過設定同表的主外來鍵確定建立父子關係,如圖:

  

  1.2.4 建立完成後的資料來源檢視

      

維度表和事實表結構如上,這裡事實表中的度量只有銷售額和銷售數量,Dim類目表是個父子維度關係,表中含有一個類目父及編號欄位來定義父子關係。

  1.2.5 建立維度      建立維度很簡單,這裡只說2個特殊的維度建立:

    1.2.5.1.新建類目維度,名稱列請選擇欄位的名稱的顯示的列,在可用屬性中,要把‘類目父及編號’勾選上,完成之後,點選面板上的處理按鈕處理一下,這裡可能遇見連不上資料來源的錯誤,雙擊資料來源,在模擬資訊欄目選項卡選擇繼承。點選瀏覽器,我們發現每個類下面默認出現了父類名稱,在類目最底下出現了Unknow,這時候需要做2個設定,右擊Dim類目維度的屬性‘類目父及編號’,將MemberWithData選擇為NonLeafDataVisible,右擊Dim類目項選擇unknownmember裡選擇hidden,處理一下,瀏覽,重新整理,OK~ 我們後面的維度瀏覽的時候出現unknow選項的時候,始終這樣處理

    1.2.5.2.新建時間維度,時間維度的建立比較特殊,選擇維度屬性的時候,要記得為日期選擇一個格式,比如年,在屬性型別一項選擇日期->日曆->年,小時選擇->日期->時間->小時,注意時間維度有一個層次結構,屬性面板中的年屬性->在新級別中依次拖入半年,季度….形成一個層次關係,記得在每個維度屬性的NameCloum列選擇相對應顯示名稱的列,處理之後瀏覽

  1.2.6 建立cube

     建立cube的時候,度量值選項選取事實表中的銷售額和銷售數量選項,維度表選擇需要分析的幾個已建立好的維度,完成之後處理在瀏覽視窗,我們拖入度量值和維度到右邊的空白地方,可以看到這樣的結果:(這裡的地區我並沒有做層次結構 0 0~)

 

1.2.7 生成本地的cub檔案

  這裡,為了便於給客戶展示效果,我們生成本地的cub檔案作為資料來源,生成方法:開啟SQL2008 Analysis Services,右擊資料庫新建查詢->MDX,輸入命令:

?
1 2 3 4 5 6 7 8 9 10 11 12 CREATE GLOBAL CUBE [Hot Sale DW] Storage 'D:\hotsale.cub'--cube檔案的儲存路徑 FROM [Hot Sale DW] ( MEASURE  [Hot Sale DW].[銷售總額],   --需要的度量值 MEASURE  [Hot Sale DW].[銷售量], DIMENSION [Hot Sale DW].[Dim地區],  --需要的維度 DIMENSION [Hot Sale DW].[Dim交易狀態], DIMENSION [Hot Sale DW].[Dim日期], DIMENSION [Hot Sale DW].[Dim商品], DIMENSION [Hot Sale DW].[Dim網店] )

執行之後在D盤就能看到生成的本地cub檔案了.

使用dundas olap service 控制元件進行多維資料展示

  Dundas個人覺得是目前做的最好的圖表,報表控制元件,Dundas chart也是非常的好用,用過一次就愛不釋手。如果是管理系統專案推薦使用,網站專案自己決定吧.我這裡使用的dundas olap for vs2005 6.1版,我到處沒有找到for 2008的,如果誰有,希望發一個,多謝.首先看看完成後的效果吧:

  

額 寫到這裡實在不想寫了,完成展現很簡單,直接按照它的demo依葫蘆畫瓢~~~~ 總之先到這裡吧~

相關推薦

BI學習之一建立一個簡單Olap資料展現

專案背景   '部落格園'是一家國內的大型日化用品,生活用品生產,銷售公司,它的一部分銷售是放在淘寶網上進行的,在淘寶網上這家公司有多個網店,線下有系統對每個網店的銷售資料通過淘寶API進行抓取儲存,用於每週,月出銷售情況的報表.由於報表設計到多個方面,每一次有新的搭配或者

BI專案筆記》建立資料Cube(1)

有兩個事實表,因此就有兩個度量值組,並且嚮導將為非維度鍵的事實表中的每一個數值列建立一個度量值。由於我們這裡不需要那麼多,所以只選擇部分度量值。另外要注意,度量值的名稱源於事實表中的列,所有名稱由可能相同。但是在多維資料集中,由於度量值的名稱必須是唯一的,所以嚮導會在重複的度量值名稱後新增所屬的度量值組名

BI專案筆記》建立資料Cube(2)

本節建立: 歷年的初煙水分均值變化分析Cube:區域維度:地州,專縣時間維度:年等級維度:大等級,小等級指標:水分均值資料來源檢視: 資料處理: ALTER TABLE T_QualMoisture_Middle ALTER COLUMN V_Produce_ID VARCHAR(50)

如何在FastCube.Net中建立新的資料

在本文中,將介紹如何使用自定義應用程式中的程式碼在FastCube.Net中建立多維資料集。多維資料集檔案可以包含資料,讓我們看一下多維資料集建立的整個步驟。 下載最新版FastCube.Net 建立Windows窗體專案,在“References”中,需要新增指向libraries(庫)的連結:Fast

最優化學習筆記(五)——牛頓法(資料

    在最優化學習系列中,第一次就說的是牛頓法,但是那是在一維搜尋上的,它其實就是將函式f在x處利用泰勒公式展開,得到它的近似函式,進而求解最小值。本節內容主要說明牛頓法在多維資料上的迭代公式。最優化學習筆記中講到的最速下降法是一種速度比較快的優化方法,但是最

【FastCube.Net教程】如何將資料庫連線到資料

通常,OLAP多維資料集中的資料是從資料庫載入的。要使用資料填充多維資料集,需要建立資料來源,多維資料集可以接收以下資料: Database(資料庫)—建立與資料庫的連線; Stream(流)—可以通過網路作為流接收,從檔案開啟或從資料庫下載的多維資料集; Application code

FastCube.Net元件教程(一):資料

在本文中將瞭解FastCube.Net庫中包含的元件,元件列表: Cube——從檔案載入多維資料集並用資料填充它的主要元件; CubeGrid——用於顯示多維資料集的所有資料; CubeGridToolbar——是CubeGrid的工具欄; Slice——包含多維資料切片; Slice

關於Sql Server 2000 Analysis Services無法瀏覽資料

按照analysis Services中的教程建立多維資料集在瀏覽資料的時候,卻提示無法瀏覽多維資料集:未指定的錯誤到晚上查查,才知道要瀏覽多維資料集需要安裝analysis services的sp3地址:SQL Server 2000 Service Pack 3a for

SQL Server 2008 資料增加度量值計算平均值

環境:SQL Server 2008 + Microsoft Visual Studio 其他步驟就不說了,直接到多維資料集這裡。比如說你已經有了一個總消費的度量值Amount和一個計數度量值count。現在要求平均值,步驟如下: 1 開啟計算標籤頁 2.在這個計算頁

SQL Server 2012中自帶的SSDT已經廢除了資料的瀏覽功能

在SQL Server 2012自帶的SQL Server Data Tools(SSDT),上個版本中SQL Server 2008中對應為BIDS,已經廢除了多維資料集的資料瀏覽功能,同時在SSMS中也同步廢除,只能瀏覽單維資料。解決方法:在維度瀏覽介面,點選“Analy

SSAS 定義和部署資料

摘要:資料來源試圖建立之後,就可以定義多維資料集。可以使用多維資料集嚮導,通過單個步驟定義一個多維資料集及其維度。也可以先定義一個或多個維度,然後使用多維資料集嚮導定義一個使用這些維度的多維資料集。如果要設計一個複雜的解決方案,通常是先定義維度。下面將依次完成下列任務:

webservice學習之一通過jdk-api建立一個簡單的服務

1.建立介面 @WebService() @SOAPBinding(style=SOAPBinding.style.RPC)//jdk1.6時加上。否則會報錯 public interface I

Spring Boot學習筆記之使用Spring Boot建立一個簡單的web專案(工具使用IntelliJ IDEA)

新建Maven專案 1.File --> New Project --> Maven --> Next 2.填寫專案資訊,完成之後點選Next,然後點選Finish 3.專案建好之後如下圖所示 修改pom檔案中的配置資訊 <?xml version

【itext學習之路】-------(第一篇)建立一個簡單的pdf文件

iText是著名的開放原始碼的站點sourceforge一個專案,是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案 本教程中,首先要說明的是,itext技術在網上很少能有一個相對全面文

從零開始的c語言連結串列學習 001--建立一個簡單基礎的連結串列

因為各種原因,儘管c語言期末考也拿了八十多分,卻仍然對連結串列處在完全甍逼的狀態,以至於之後的資料結構課聽天書,實驗課做不出來,於是決定重學一波連結串列的知識,特此記錄筆記 001—建立一個簡單的連結串列 1.1 認識連結串列 所謂連結串列,一言蔽之就是一連串帶

Spring Boot學習實踐(一)(1)建立一個簡單的spring boot應用

一、使用idea建立一個簡單的Spring Boot應用程式 環境準備: idea:2018.2 jdk: 1.8 spring boot:是2.0版本以上的 以上環境可以根據實際情況去調整。 (1)首先找到idea建立應用的New Project,選擇好

Flask學習筆記:建立一個簡單的Flask應用

1. 做好準備工作進入專案主目錄啟用虛擬環境2. 建立app包:在flask中,含有名為 __init__.py 檔案的子目錄被視為包,可以被匯入。在命令列輸入以下命令,建立一個名為app的目錄:(venv) $ mkdir app在app目錄中建立一個名為__init__.

建立一個簡單spring例項,spring單例與例,初始化與銷燬

(1)在配置完spring提示框架後(上一遍文章有介紹),首先建立一個專案,匯入sprig所需的jar包然後書寫主配置檔案applicationContext.<?xml version="1.0" encoding="UTF-8"?> <beans xml

第七章 使用BI Publisher開發報表-建立一個簡單的RTF模板(2/5)

第七章建立一個簡單的RTF模板 安裝好Oracle BI Publisher Desktop之後,可以使用Word中的BI Publisher外掛來進行報表佈局模板(RTF格式)設計。 1.開啟W

【EJB學習筆記】——建立一個簡單的EJB應用

  這裡建立一個簡單的EJB應用,結構如下:      EJB_DEMO專案型別為EJB Project,是需要部署到JBoss上的EJB應用。EJB_DEMO_CLIENT專案型別為普通的Java