一键批量建立时间智能度量值

154-模型-一键批量建立时间智能度量值

一、背景

在我们做 Power BI 项目的时候,几乎都要和时间智能打交道的。我们常规的业务度量值写好了后,就面对要写各个时间维度的度量值了,而且时间表达的维度非常多,同比、环比、周累计、月累计、年累计,还有季度累计、半年度累计等等。

各个基本业务度量值对于时间维度来说都是一样的,一个基本业务的时间维度写好了还要写下一个时间维度的度量值,在这个环节上是费时费力。

时间对于所有都是公平的。我们总结了常见的 51 个时间状态(见下文),基本覆盖了所有业务场景;通过 Tabular Editor 一键生成所有的时间维度的度量值。

附件下载地址:https://jiaopengzi.com/2653.html

二、时间维度

1、时间维度说明

image-20220602171319668

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、对需要建立时间维度的度量值提前打标,如下图:

image-20220602154719501

3、使用我们提供的 C# 脚本(附件中),在 Tabular Editor 中一键生成所需要的时间智能度量值。

Tabular Editor 下载地址:https://jiaopengzi.com/tools

Tabular Editor 安装教程:https://jiaopengzi.com/video/video-102?rkvid=74

image-20220602154851849

3、参数说明

  • digitsN:新建的度量值的小数位数,只能填写大于等于 0 的整数。

  • digitsP:新建的百分数度量值的小数位数,只能填写大于等于 0 的整数。

  • measureTableN:度量值所在的表的名称。

  • measureMark0:需要使用时间智能函数的标识,一般可以在度量名称后面加:"_D_",当然标识可以自定义。

    image-20220602161801959

  • 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 焦棚子