下載安裝 :
1.地址網址: https://daxstudio.org/
目前版本: https://github.com/DaxStudio/DaxStudio/releases/download/2.9.4/DaxStudio_2_9_4_setup.exe
2. 下載安裝包進行安裝,注意選中 Excel Addin
3.安裝完成以后, 需要在EXCEL 中進行加載, 在excel 菜單欄,選擇文件,然后再選擇加載項,在管理中選擇"COM加載項" 單點"轉到" 然后選中DAX Studio Excel Add-in .最后在電子表格菜單欄就出現DAX Studio.
![]()
|
![]()
|
為什么選擇中 excel add-in 因為excel也有使用POWER Pivot , 也就是使用到 "Vertipaq engine" 列存儲運擎,
安裝完畢,點擊DAX Studio 運行.
案例1 POWER BI 模型中各個表大小,及哪些列比較大小
1.創建表,通過自定義表達式的方式創建表,而不是連接數據源, 選擇"建模" 然后單擊 新表,
表1 日期及月分表, 總10萬條記錄 ,
表2 共萬10條記錄 , 字段密度比較大,只有 0,1,2,3
DAX表達式
表 = SELECTCOLUMNS( GENERATESERIES(1,100000,1),"日期",DATE(1980,1,1)+ [Value],"年份", YEAR(DATE(1980,1,1)+ [Value] )) 表 2 = SELECTCOLUMNS( GENERATESERIES(1,100000,1),"數字",MOD( [Value] ,4))
2.打開DAX Studio ,連接POWER BI 選擇PBI/SSDT Model , 然后選擇打開 的POWER BI文件, 注意 POWER BI 文件一定要打開狀態,不然找不到對應模型
通過DMV過濾掉 不相關的表, 簡單的來說. 數據是列存儲的, 它會數據轉成字典來存儲, 如果字典多的話,就會有分段, 下面通過 dictionary_size 來過濾,
輸入下面語句點一下 "RUN" 執行
SELECT dimension_name, attribute_name, DataType,(dictionary_size/1024) AS dictionary_size ,dictionary_size as d FROM $system.DISCOVER_STORAGE_TABLE_COLUMNS WHERE dictionary_size > 0 and (dimension_name = '表 2' or dimension_name = '表')
可以看出,同樣10萬條記錄 ,日期占用了5M, 而數字也是10條記錄,只占了1K多. 所以POWER BI 大小會字段密度有關. 同時加載內存內存開銷就大了. 下一節會講如何查看內存開銷.
案例2 如何導出全部數據
1.可以通過POWER BI 可視化 導出數據, 試一下. 在... 中,點擊,添出點導出 ,導出會出現限制, 當前我的版本 CSV是 3萬行,可能后續版本會提高些
3. 如何解決需要導出數據, 通過DAX Studio 查詢DAX語句把結果輸入電子表格 具體操作如下:
3.1 打開電子表格 在加載中找到DAX Stuio 單擊, 注意是在EXCEL中打開
3.2 同樣連接當前打開的POWE BI文件 如案例1 第2點截圖
3.3把OUTPUT 選擇 EXCEL
3.4 寫上DAX 語句,並且執行
EVALUAT '表'
點執行后,就可以把數據寫到電子表格上了. 下面我們可以數據全部10萬條加載到電子表格了
結論
power bi ,tabular, Excel power pivot 使用 都是 "Vertipaq engine' 它會把數據先地行轉碼, 例如 紅色 ,用1 表示. 然后用 1 作字典, 例如1 對應紅色, 它出現多少次. 從開始到哪結束. 等. 所以數據基數 distinct 的值越少 ,數據就少. 它不是根據行的多少來確定大小的. 並且如果在powe bi 導出數據可以借用DAX Studio.
下載地址 https://github.com/zengxinwen/PowerBI/tree/master/6_DAX%20Studio