154-模型-一鍵批量建立時間智慧度量值
一、背景
在我們做 Power BI 專案的時候,幾乎都要和時間智慧打交道的。我們常規的業務度量值寫好了後,就面對要寫各個時間維度的度量值了,而且時間表達的維度非常多,同比、環比、周累計、月累計、年累計,還有季度累計、半年度累計等等。
各個基本業務度量值對於時間維度來說都是一樣的,一個基本業務的時間維度寫好了還要寫下一個時間維度的度量值,在這個環節上是費時費力。
時間對於所有都是公平的。我們總結了常見的 51 個時間狀態(見下文),基本覆蓋了所有業務場景;通過 Tabular Editor 一鍵生成所有的時間維度的度量值。
附件下載地址:https://jiaopengzi.com/2653.html
二、時間維度
1、時間維度說明
2、時間維度分類說明
- DAY:指標分類按照所選日期計算的單日的分類。
- XTD:按照所選日期對應計算的累計的分類。
- B:base 的簡寫,按照基期分類。
- P:previous 的簡寫,按照 base 對應的上一期分類。
- Δ:大寫的希臘字母:德爾塔(音),按照差異 base - previous 分類。
- %:百分號,按照百分比分類。
- D:day 的簡寫,按照天分類。
- W:week 的簡寫,按照周分類。
- M:month 的簡寫,按照月分類。
- Q:quarter 的簡寫,按照季度分類。
- H:half year 的簡寫,按照半年度分類。
- Y:year 的簡寫,按照年度分類。
三、具體操作
1、首先是需要一張符合要求日期表,在上一期的文章中我們已經介紹(https://jiaopengzi.com/2635.html),這裡就不在贅述,日期表會在本案例附件中。
日期表必須按照我們的要求來,時間智慧函式依賴日期表,這很重要。
2、對需要建立時間維度的度量值提前打標,如下圖:
3、使用我們提供的 C# 指令碼(附件中),在 Tabular Editor 中一鍵生成所需要的時間智慧度量值。
Tabular Editor 下載地址:https://jiaopengzi.com/tools
Tabular Editor 安裝教程:https://jiaopengzi.com/video/video-102?rkvid=74
3、引數說明
-
digitsN:新建的度量值的小數位數,只能填寫大於等於 0 的整數。
-
digitsP:新建的百分數度量值的小數位數,只能填寫大於等於 0 的整數。
-
measureTableN:度量值所在的表的名稱。
-
measureMark0:需要使用時間智慧函式的標識,一般可以在度量名稱後面加:"_D_",當然標識可以自定義。
-
folder0:批量建立的時間智慧函式的度量值資料夾,由於度量值比較多需使用資料夾來管理。
-
uselist:當前度量值需要建立的索引,如有部分不需要刻意移除對應索引即可,如下:
// uselist 如下設定表示只需要新建上述 ID 從 0 到 5 的時間維度度量值。
var uselist = new List<int>
{
0,1,2,3,4,5
};
// uselist 如下設定表示只需要新建上述 ID 從 0 到 50 的時間維度度量值。
var uselist = new List<int>
{
0,1,2,3,4,5,6,7,8,9,10
,11,12,13,14,15,16,17,18,19,20
,21,22,23,24,25,26,27,28,29,30
,31,32,33,34,35,36,37,38,39,40
,41,42,43,44,45,46,47,48,49,50
};
四、總結
1、要想很好的操作時間維度的度量值來表達業務,那麼就需要一張設計好日期表。
2、究其原因,維度表的建立對於業務表達很重要,也就是我們經常說的你要懂業務。
3、對 “重複” 度量值建立要多思考。
by 焦棚子