1

154_一键批量建立时间智能度量值 - 焦棚子

 1 year ago
source link: https://www.cnblogs.com/jiaopengzi/p/16338956.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK