首頁>科技>

新建列

在現有表格基礎上新增一列,最基本的做法,是使用列工具中的新建列:

簡單實用,就是我們常說的計算列,計算列在模型設計時的作用也很重要,有些逐行生成的值需要固定下來,不再變化的我們就可以使用計算列。

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這個工具是必備的工具

有了這個工具,可以非常方便的檢視計算的中間結果,很直觀,用來排錯特別方便。

好了,表操作增加列就介紹到這裡。

22
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 社群團購大戰發展下去可能的擔憂