POWERBI數據處理和分析-數據分析高級應用案例_第1頁
POWERBI數據處理和分析-數據分析高級應用案例_第2頁
POWERBI數據處理和分析-數據分析高級應用案例_第3頁
POWERBI數據處理和分析-數據分析高級應用案例_第4頁
POWERBI數據處理和分析-數據分析高級應用案例_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據分析高級應用案例1章節內容10.1動態分析10.2關聯分析10.3線性回歸分析210.1動態分析靜態分析方法數據分析中目標導向的參數是固定的靜態分析方法的缺點要達到不同的目標,每次都需要調整參數,手工操作,比較麻煩;不能夠在多個感興趣的分析目標之間快速切換和對比。310.1動態分析動態分析關鍵思路:首先確定數據分析中目標導向的參數,然后將這些參數所有可能的取值轉化為數據表之外的輔助表;通過報表中的切片器讓分析人員可以通過可視化的方式為參數選擇當前的值;將得到的參數值用于核心度量值DAX公式的構造最終完成計算和顯示,達到分析的目標.410.1動態分析動態分析方法參數表What-if參數510.1動態分析——參數表參數表:分析人員手工構造的包括參數化度量值所有可能取值的輔助數據表。參數表的列中被選擇的值用于替換原有度量值中的常量,或者作為在多個度量值之間進行選擇的依據,通常會作為DAX度量值公式的一部分。將參數表與報表頁中的切片器結合使用,用戶在進行可視化分析時通過對切片器的選擇決定DAX度量值公式中參數表列中屬性的取值,從而根據用戶的操作來進行動態分析。610.1動態分析——參數表案例:使用參數表快速切換基于多個不同度量值指標的分析。(1)構造了“每平方米均價”和“二手房數量”兩個度量值作為分析的量化指標,因此可以使用這兩個度量值的名稱作為參數表ANALYSISMETRICS中唯一列Metric的數據710.1動態分析——參數表案例:使用參數表快速切換基于多個不同度量值指標的分析。(2)在當前報表頁中放置一個切片器對象,使用參數表ANALYSISMETRICS中唯一的列Metric作為切片器對象的“字段”屬性值。810.1動態分析——參數表案例:使用參數表快速切換基于多個不同度量值指標的分析。(3)構造一個能夠根據參數表篩選器上下文決定的度量值“量化分析指標”,從而可以根據用戶對切片器的選擇,實現動態的度量值指標分析。量化分析指標=IF(HASONEVALUE(ANALYSISMETRICS[Metric]),SWITCH(VALUES(ANALYSISMETRICS[Metric]),"每平方米均價",[每平方米均價],"二手房數量",[二手房銷售數量],BLANK()),[每平方米均價])910.1動態分析——參數表案例:使用參數表快速切換基于多個不同度量值指標的分析。(4)在當前報表頁中設置兩個簇狀條形圖,分別用toilets和equipment列作為軸;設置兩個簇狀柱形圖,分別用“房型”和direction列作為軸;再設置一個折線圖對象,使用buildingyear作為軸。同時,將以上5個可視化對象的“值”屬性都設置為步驟(3)中構造的“量化分析指標”度量值。1010.1動態分析——參數表案例:使用參數表快速切換基于多個不同度量值指標的分析。(5)通過對切片器對象中復選框的選擇,可以方便地實現基于“每平方米均價”或“二手房數量”等不同度量值指標的數據分析。1110.1動態分析——What-if參數PowerBI在建模選項卡中提供了一個“新建參數”功能(What-if參數),可以自動產生的一個序列用于生成參數替換對應的所有可能取值,幫助用戶創建參數表和參數度量值。1210.1動態分析——What-if參數案例:基于What-if參數的動態排名分析(1)按照小區對二手房均價進行排名。小區信息屬于block表,二手房信息屬于house表,兩張表之間通過block_id字段建立了聯系。構造度量值:二手房小區銷售均價排名=RANKX(ALL(block[blockname]),[每平米均價])添加一個矩陣可視化對象1310.1動態分析——What-if參數案例:基于What-if參數的動態排名分析(2)矩陣對象本質是數據透視表,值為空的數據行不會顯示出來,根據這個原理構造只顯示排名前5的小區信息所需的度量值。定制的二手房小區銷售均價排名=VARRANKBYBLOCKNAME=RANKX(ALL(block[blockname]),[每平方米均價])VARCUSTOMEDRANK=IF(RANKBYBLOCKNAME<=5,RANKBYBLOCKNAME,BLANK())RETURNCUSTOMEDRANK根據排名顯示的二手房均價=VARRANKBYBLOCKNAME=RANKX(ALL(block[blockname]),[每平方米均價])VARCUSTOMEDPRICE=IF(RANKBYBLOCKNAME<=5,[每平方米均價],BLANK())RETURNCUSTOMEDPRICE1410.1動態分析——What-if參數案例:基于What-if參數的動態排名分析(2)基于定制度量值創建分析排名前5小區信息的矩陣對象1510.1動態分析——What-if參數案例:基于What-if參數的動態排名分析(3)如何動態分析排名前n的小區信息?將定制排名度量值公式中的5抽象為n使用What-if參數創建n對應的參數表和切片器修改定制排名度量值公式,使用切片器對參數表的篩選結果結合矩陣可視化對象,達到動態分析的目標1610.1動態分析——What-if參數案例:基于What-if參數的動態排名分析(3)在“建模”選項卡中單擊“新建參數”按鈕,在“模擬參數”對話框中創建用于制定排名數量的參數表RANKARG。參數表的本質RANKARG=GENERATESERIES(0,10,1)配套的度量值(可以修改默認名稱“RANKARG值”)VALUE_RANKARG=SELECTEDVALUE('RANKARG'[RANKARG],5)1710.1動態分析——What-if參數案例:基于What-if參數的動態排名分析(3)修改動態排名所需的度量值定制的二手房小區銷售均價排名= VARRANKCOUNT=RANKARG[VALUE_RANKARG] VARRANKBYBLOCKNAME=RANKX(ALL(block[blockname]),[每平米均價]) VARCUSTOMEDRANK=IF( RANKBYBLOCKNAME<=RANKCOUNT, RANKBYBLOCKNAME, BLANK() ) RETURNCUSTOMEDRANK根據排名顯示的二手房均價= VARRANKCOUNT=RANKARG[VALUE_RANKARG] VARRANKBYBLOCKNAME=RANKX(ALL(blockinfo[blockname]),house[每平米均價]) VARCUSTOMEDPRICE=IF( RANKBYBLOCKNAME<=RANKCOUNT, house[每平米均價], BLANK() ) RETURNCUSTOMEDPRICE1810.1動態分析——What-if參數案例:基于What-if參數的動態排名分析(3)矩陣可視化對象和切片器配合,到達控制和顯示動態排名的效果。1910.2關聯分析聯分析可以發現數據變量之間的關聯規律,可以用于指導實踐或決策。關聯規則分析:通過將數據庫中數據之間頻繁出現的關聯模式以規則的方式表達,然后使用算法在數據庫中進行關聯規則挖掘。例如:購物籃分析以商品數據庫為例,如果購買商品X的同時很大可能也會購買商品Y,則可以構成一條關聯規則X==>Y其中X稱為前件,Y稱為后件。2010.2關聯分析支持度是指同時包含X和Y的樣本占樣本總數的比例Support(X==>Y)=P(X∪Y)置信度是指同時包含X和Y的樣本數占包含X的樣本數的比例。Confidence(X==>Y)=P(X|Y)需要根據問題的背景知識,事先設定好支持度和置信度的閾值2110.2.2二手房數據庫的關聯分析實踐每條二手房銷售記錄都包含多個條目,主要有面積、平米均價、房齡、房型、樓層、裝修程度等等。目標:研究和房價關聯的主要因素考慮將平米均價設置為預挖掘的關聯規則的后件Y,其他因素作為前件X,設置支持度為0.05,置信度為0.4,分析構成不同房價等級的影響因素。2210.2.2二手房數據庫的關聯分析實踐平米均價、房齡、建筑面積等數值型數據不利于關聯規則的生成,因此需要將數值型條目對應的列屬性數據值進行分類將其離散化,根據分類值再來進行關聯分析。2310.2.2二手房數據庫的關聯分析實踐數值列的離散化具體實現:添加新的屬性列。priceclass=if(house[unit_price]<20000,"低價房",if(house[unit_price]>30000,"高價房","中價房"))areaclass=switch(true(), house[area]<100,"面積小于100", house[area]<200,"面積[100,200]", house[area]<300,"面積[200,300]", "面積大于300")ageclass=switch(true(), house[buildingyear]<1990,"90年代前", house[buildingyear]<2000,"90年代", house[buildingyear]<2011,"2000年代", "2010年后")2410.2.2二手房數據庫的關聯分析實踐為了使用前件和后件條件構造上下文,需要在不同的計算時刻使用不同的篩選條件,因此將后件房價等級抽取出來單獨構造一張房價條件表,作為后件篩選上下文構造使用。PRCIECONDTABLE=distinct( SELECTCOLUMNS( 'house', "priceclass",'house'[priceclass]))2510.2.2二手房數據庫的關聯分析實踐在PRCIECONDTABLE與house表建立聯系時,為了不造成度量值計算的影響,將該聯系先設置為不活動的,在需要使用其作為篩選條件時再使用DAX函數激活。2610.2.2二手房數據庫的關聯分析實踐支持度和置信度的定義:Support(X==>Y)=同時包含X和Y的二手房銷售數量/二手房總銷售數量Confidence(X==>Y)=同時包含X和Y的二手房銷售數量/包含X的二手房銷售數量X作為影響房價的因素,可以是單一的,例如面積分類,也可以是復合的,例如面積分類+年代分類+房型等等,可以通過使用篩選器對house表進行篩選實現。2710.2.2二手房數據庫的關聯分析實踐二手房銷售量度量值二手房銷售量=DISTINCTCOUNT(house[no])包含X的二手房銷售數量首先需要篩選出包含因素X的所有二手房銷售數據行,注意在DAX中篩選可以通過上下文環境實現,例如可視化對象、切片器等,這里的篩選上下文是針對house表構造的;然后使用“二手房銷售量”度量值在不同的上下文環境中可以計算得到相應的包含X的二手房銷售數量。2810.2.2二手房數據庫的關聯分析實踐同時包含X和Y的二手房銷售數量通過House表對因素X進行篩選,通過PRICECONDTABLE表對房價類Y進行篩選,共同構造同時包含X和Y的針對House表的篩選上下文環境。VARCURRENTDATA=CALCULATETABLE( house, all('house'), USERELATIONSHIP(house[priceclass],PRICECONDTABLE[priceclass]) )

VARRES=CALCULATE( [二手房銷售量], KEEPFILTERS(CURRENTDATA))RETURNRES2910.2.2二手房數據庫的關聯分析實踐二手房總銷售數量=CALCULATE([二手房銷售量],REMOVEFILTERS('house'))XY支持度=DIVIDE([同時包含X和Y的二手房銷售數量],[二手房總銷售數量])XY置信度=DIVIDE([同時包含X和Y的二手房銷售數量],[二手房銷售量])3010.2.2二手房數據庫的關聯分析實踐使用矩陣對象,將感興趣的house表中的房價影響因素屬性放置在矩陣的行屬性上,將PRICECONDTABLE的房價類屬性放置在矩陣的列屬性上,將支持度和置信度度量值放置在矩陣的值屬性上,則可以計算得到不同影

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論