列运算_DAX表操作基础第二招:增加列
新建列
在現有表格基礎上添加一列,最基本的做法,是使用列工具中的新建列:
簡單實用,就是我們常說的計算列,計算列在模型設計時的作用也很重要,有些逐行生成的值需要固定下來,不再變化的我們就可以使用計算列。
ADDCOLUMNS函數
最初接觸這個函數,大多是學習DAX查詢的時候,我們要在Excel中做一個鏈回表,應該算一個實體表吧,經??吹竭@樣的寫法:
我們把這句放到Excel表中的DAX查詢:
就會生成一個這樣的表,這個表再連接到Power Pivot中就是鏈回表。鏈回表的應用也很廣泛,從明細表到統計表這個過程,我們就可以使用DAX查詢的方式,計算出統計結果,再鏈回到模型為下一步的運算做準備。
直接運用ADDCOLUMNS函數生成列的時候通常不會改變數據表的行的數量,原來多少行,添加列之后還是多少行,如果在ADDCOLUMNS函數的第一參數上使用了CROSSJOIN函數、或者SUMMARIZE函數,或者其他篩選函數,就會對原表的行進行修改,通常都是減少行數。
SUMMARIZE函數
SUMMARIZE函數能夠像ADDCOLUMNS函數一樣實現添加列的運算,SUMMARIZE函數是在去除指列的重復項之后添加列,所以功能上還是有區別的。
表1_2是鏈回表,我們用ADDCOLUMNS函數添加了合計列的表,重新連接到模型中,SUMMARIZE函數直接對名稱列做了去重復,然后對合計列做運算,同時去掉了其他沒有選擇的列。SUMMARIZE函數生成的表更像我們在Excel中的數據透視表。當然也和數據透視表一樣,你選擇的列越多,顯示的細節越多,表的行數越多,列數越少,越概括,行數越少。
我們同樣可以使用DAX查詢讓結果顯示在Excel表格中,或者,顯示在Power BI Desktop的表中:
Power BI Desktop我沒修改數據,所以顯示的行數多,Excel中的數據B變成A所以顯示行數少。
SUMMARIZECOLUMNS函數
SUMMARIZECOLUMNS函數與SUMMARIZE函數很接近:
第一參數由原來的表,直接變成去重復的列,雖然函數名稱復雜了點,但是使用方法比SUMMARIZE函數更簡潔。
SUMMARIZECOLUMNS函數與SUMMARIZE函數是對原表的統計,當然ADDCOLUMNS函數也能完成這樣的統計,需要與VALUES函數、CROSSJOIN函數配合。
如果是多列的去重復統計,就要使用CROSSJOIN函數了。
我們在DAX學習過程中,DAX Studio這個工具是必備的工具
有了這個工具,可以非常方便的查看計算的中間結果,很直觀,用來排錯特別方便。
好了,表操作增加列就介紹到這里。
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的列运算_DAX表操作基础第二招:增加列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中post请求太慢_AJAX
- 下一篇: 初中数学抽象教学的案例_初中八年级数学上