通常情況下,在PowerBI進行分析的各種數據表都是從外部的各種數據源導入進來的,但並不總是如此,某些情況下在PowerBI Desktop中也可以根據需要直接建立各種表格。

在進行數據分析的過程中,也許還需要加入新的數據表或者新的維度,而我們並不想再導入源數據或者回到PQ編輯器進行處理,那麼就可以利用已載入到模型中的數據進行構建新表,下面就來看看如何在PowerBI Desktop中新建數據表,以及幾種常見的使用場景。

如何新建表

在【建模】選項卡下點擊「新表」,就可以建立一個表格了,

然後在出現的編輯框中輸入DAX函數就可以了。

常見的使用場景

合併數據表

將現有數據結構相同的多個表合併為一個表,無需進入PQ編輯器操作。假如PowerBI Desktop中已經有如下兩個分月銷售數據表,表名分別為1月和2月,

▲1月份銷售數據

▲2月份銷售數據

在新表的編輯框中輸入:

合併 = union(1月,2月)

然後1月和2月的數據就合併到這種新建的合併表中了,

▲1月和2月合併數據

UNION函數的參數就是表名,它的功能是縱向追加數據,和PQ的追加合併功能相同。

交叉聯結

就是把兩個表通過某個欄位進行聯結,還是上面的數據,另外還有一個採購表,

先把這個表中的[產品]列和合併表中的[商品名稱]建立關係,

然後新建表,輸入:

合併聯結 = NATURALINNERJOIN(合併,採購表)

然後就新建了一個合併聯結表如下,

這張表自動把每種商品的購入價匹配進來了,NATURALINNERJOIN函數類似於我們最熟悉的Vlookup,它的參數就是兩個表格,不過要區分前後順序,第一個表是基礎表,第二個表是聯結表,相當於左聯結。

提取維度表

可以根據現有的數據欄位,提取需要的維度表,根據上面的合併表,如果需要一個商品名稱的維度表,在DAX編輯框中輸入:

產品表 = DISTINCT(合併[名稱])

將建立一個產品表,

DISTINCT函數可以提取一列中不重複的值。

生成日期表

這個應該是最經常使用的了,如果數據模型中沒有日期表,那麼沒有必要再去找一個日期表然後導入進來,可以直接在PowerBI Desktop中新建表,並輸入:

日期表 = ADDCOLUMNS (

CALENDAR (DATE(2016,1,1), DATE(2016,12,31)),"年度", YEAR ( [Date] ),"月份", FORMAT ( [Date], "MM" ),"年月", FORMAT ( [Date], "YYYY/MM" ),"星期", WEEKDAY ( [Date] ) & "-" & FORMAT ( [Date], "ddd" ),

"季度", "Q" & FORMAT ( [Date], "Q" ),

"年份季度", FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" ))

然後就生成了一個標準的日期表,

這個DAX看著很長,其實並不難,第一行利用CALENDAR函數設置日期表的起止日期,然後就是利用FORMAT函數對每一列進行格式設置而已,比在Excel中生成還簡單,如果需要帶有特定欄位的日期表,在上面的DAX公式添加特定的格式列即可。

新增空表

新增加一個空表經常用來放置度量值,比如新建一個空表,輸入:

度量值表 = ROW("度量值", BLANK())

然後選擇度量值,放入到這個表中,操作步驟如GIF圖,

當模型中新建的度量值特別多的情況下,用一個表專門收納度量值非常必要。

通過以上的例子可以看出,在PowerBI Desktop中新建的表與其他導入的表並沒有區別,可以和其他表建立關係,也可以添加到報表進行可視化;如果是在導入表的基礎上構建的,那麼源數據變動,這些新建表同樣會自動更新。

並且新建表是用DAX函數構建的,這讓它變得十分靈活高效,利用DAX的強大功能,新建表的使用場景遠不止於此,以後的文章中還會提到。

公眾號:PowerBI星球


推薦閱讀:
相关文章