iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
AI & Data

Power BI 資料分析與技術運用系列 第 16

D-16.在Power BI管理DAX語境與函數篩選

  • 分享至 

  • xImage
  •  

理解DAX語境(Context)目標是為了進行更複雜的資料分析,進一步理解如何從語境去影響數據。
整體而言,語境有兩類:

  • 篩選語境(Filter Context)
    產生自視覺效果選用的資料行、交叉分析篩選器等函數產生。主要屬於過濾資料表,無逐筆疊代(iteration)行為。
  • 資料列語境(Row Context)
    有逐筆疊代資料表,逐筆建立資料列語境指出當前資料列,缺少篩選過濾。主要由倒出資料行或具疊代特性的函數產生。

語境意指DAX函數之間的前後文與環境。像是資料表關聯、圖表之間的互動過濾都屬範疇內。
【篩選語境】
當使用者將量值或其他值的欄位放入樞紐分析表中,或是使用表格模型為基礎的報表中時,這一類位資料行套用報果視覺效果
【資料列語境】
意指當前資料列,也包含特定資料表中的所有資料值,通常使用具有疊代特性的函數(如:SumX、Filter、AddColumns這類)

新增資料行"新的資料與公式"並進行資料計算。DAx會從第一列進行疊代運算,逐筆建立資料列語境,導出的資料行使用彙總函數。如果在忽略資料列語境且無篩選語境的情境下,會產生的計算結果會是整個資料行的值。
https://ithelp.ithome.com.tw/upload/images/20220916/20146115rCNVjmHTjy.jpg
https://ithelp.ithome.com.tw/upload/images/20220916/20146115T53vO51ROG.jpg

依據第15日提及,Filter、All函數再加上DAX過濾資料的篩選語境。
Filter可以過濾資料,不過不會改變篩選語境,產生對資料表逐筆疊代的結果,取同時符合Filter條判斷和篩選語境的資料子集。
All會產生無視篩選語境的結果。
目前唯有兩個函數會影響篩選語境:Calculate和CalculateTable。這兩個函數的差異是Calculate回傳值;CalculateTable回傳資料表。
Calculate語法結構:

Calculate(<運算式>,<篩選條件1>,…<篩選條件N>)

當Calculate包含篩選條件時,會建立出新的「篩選語境」然後移除資料行裡已存在的篩選條件,改套用指定的新條件。


上一篇
D-15.Power BI的Dax資料表函數
下一篇
D-17.Power BI資料歷程
系列文
Power BI 資料分析與技術運用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言