首頁>科技>

DATATABLE函式

接著上面的話題,我們直接使用表建構函式,構造出的表不能自定義標題,這個問題今天來解決,DAX中有一個函式,DATATABLE函式,這個函式就要比表建構函式更進一步,可以定義列標題,並且可以定義列的資料型別:

可以看出DATATABLE函式最後一個引數就是一個表,前面的引數成對出現,一個列名稱,一個數據型別。

DATATABLE函式與Power Query 中的#table函式的使用方法幾乎是一樣的:

就連最後一個列資料的結構都是一樣的,與昨天表構建函式的用法不同,表構建函式中列資料是用括號包裹,這裡的列資料是大括號包裹。

而我們在Excel中構建表是這樣的結構,大家是否還記得:

分號是行的分隔符號,逗號是列的分隔符。

DATATABLE函式與表建構函式除了列標題可以自定義以外,還有一個明顯的不同之處,表建構函式,可以使用任何的標量函式來生成表的內容,但是DATATABLE函式除了BLANK()函式、DATE函式、TIME函式以及常量表達式之外,不能使用其他表示式來生成表的資料。

GENERATESERIES函式

除了基本的表建構函式和DATATABLE函式之外還有一個函式能夠直接生成表,GENERATESERIES函式,這個函式能夠生成固定步長的等差數列:

如果是昨天成績問題,60分以上每20分一個檔進行分組:

其實相當於我們只分了兩檔,[60-80],[80-100],只有100分才是優秀。

GENERATESERIES(60,100,20)生成的單列表,列的名稱就是[Value]。

大家可以發揮自己的想象力,進行動態分組設計:

這個度量值公式中,GENERATESERIES函式的第一引數起始值為最低分,結束值為最高分,步長為最高分的1/3,分數不同分組不同,只是舉一個例子,實際應用的時候,起始值、終止值、步長,大家可以根據自己的需要進行設計,也包括後面的SWITCH函式中的內容。

沒有任何函式名稱的基本表建構函式、DATATABLE函式、GENERATESERIES函式都可以憑空的構建一個表。不管你是使用在度量值的公式之中,還是直接在位址列裡輸入公式,都能實現構造表的功能。

9
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 諾基亞新機發布!499元還是安卓系統