數據可視化之powerBI基礎(十九)學會使用Power BI的參數,輕松搞定動態分析


https://zhuanlan.zhihu.com/p/55295072

靜態的分析經常不能滿足實際分析的需要,還需要引入動態分析,通過調節某個維度的增減變化來觀察對分析結果的影響。在PowerBI中,可以使用「參數」,以切片器的形式來控制變量,與其他指標進行交互,進而完成動態分析。

 

創建「參數」

 

在PowerBI Desktop中,在“建模”選型卡下,點擊“新建參數”,

 

 

 

然后將出現這個窗口,

 

 

比如按照以上默認的值建立的參數就是建立一個從0到20的整數序列:0、1、2、3……20,點擊確定,畫布上將出現一個切片器,這是因為新建參數時,左下角有個默認選項:將切片器添加到此頁,通過滑動切片器可以調整參數的數值,

 

在數據視圖下,可以看到這個參數表,

 

 

其實就是利用DAX函數GENERATESERIES新建了一個表而已,只是這里是通過圖形界面點擊的方式創建的,並且通過新建參數的方式,不只是新建了這張表,同時也新建了一個度量值,並自動添加到數據模型中,可以在整個報表中使用,通過右邊的字段區可以看到這個度量值,

參數 值 = SELECTEDVALUE('參數'[參數])

這個度量值就是提取被選中的參數值,切片器滑到哪個數值,該度量值就返回什么數值,正是通過這個切片器和這個度量值的結合,來自由的控制變量,以下就通過幾個實例來看看參數是如何實現動態分析的。

 

TopN分析

 

假設有全國每個省市的GDP金額,想知道GDP排名前5位GDP之和,可以這樣寫度量值:

 

GDP = SUM('各省市GDP'[金額])
前5名GDP = CALCULATE([GDP],TOPN(5,ALL('各省市GDP'[地區]),[GDP]))

 

這里使用了函數TOPN,第一個參數就是要返回的行數,第二個參數是被篩選的表,第三個參數是排序依據,還有第四個可選參數,默認為0按降序排列,就是提取前N位的行數;如果為1,就是按降序排列,將返回最小的N行。

 

這個度量值是計算前5名之和,如果想知道前10名,把TOPN的第一個參數改為10即可,但是在分析過程中我們不能總是手動更改度量值,這時就可以利用參數來自動實現。

 

新建一個從1到10的參數,自動生成的度量值為了更具可讀性可以重命名為[TOPN參數],然后把這個度量值來替換TOPN函數的第一個參數,更改上面的這個度量值:

 

前N名GDP = CALCULATE([GDP],TOPN([TOPN參數],ALL('各省市GDP'[地區]),[GDP]))

 

然后就可以通過拖動切片器來實現動態的TOPN分析了,

 

動態移動平均

 

在分析股價走勢圖時,經常用到30日均線、60日均線等,使用移動平均線可以熨平每日價格的劇烈波動,讓用戶能更清晰看到長期的變化趨勢。

 

30日均線就是向前推30天的均價折線圖,60天均線、120天均線以此類推,我們先建立一個參數GENERATESERIES(30,120,30),以及度量值:[移動平均參數]。

 

由於股市不是每天都開盤的,所以不能直接用自然日期表向前推N天,這里直接在每日股價走勢數據中添加編號,編寫度量值:

 

N天均線 = AVERAGEX(
filter(all('股價走勢'),'股價走勢'[編號]<=VALUES('股價走勢'[編號])&&'股價走勢'[編號]>=VALUES('股價走勢'[編號])-[移動平均參數]),
'股價走勢'[收盤價])

 

AVERAGEX函數是一個迭代函數,可以將篩選出的表依據最后一個參數取算術平均值,控制移動平均天數的就是'股價走勢'[編號])-[移動平均參數],將這個度量值和收盤價維度同時放入到折線圖中,

 

 

可以直觀的看出,天數越長的均線越平滑,走勢越穩定。

 

動態折扣率

 

如果要測算對商品進行打折的情況下的銷售額,可以新建一個折扣率參數GENERATESERIES(0.5,1,0.1),假設最低打5折,設置最小值為0.5,注意這里的數據類型選擇“十進制數字”,

 

 

 

 

參數度量值重命名為[折扣率參數],原有計算銷售額的度量值假設為[銷售額],新建一個度量值:

 

折扣銷售額=[銷售額]*[折扣率參數]

 

將這個度量值和原來的[銷售額]同時放入到柱形圖中,

 

 

 

通過切片器選擇不同的折扣率就可以動態的展示折后的銷售情況。

關於參數就介紹到這里,參數的更多應用場景,可以根據這里的例子舉一反三,使用方法類似。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM