之前我分享过
Tabular Editor一行代码批量替换度量值名称或表达式中的变量
Tabular Editor为度量值建立一级或多级文件夹的两种方法
Tabular Editor 一行代码格式化所有的度量值或指定的度量值
等使用代码实现自动化的文章,今天再分享一个如何一键生成30个度量值,即批量生成度量值的方法。
工具仍旧是外部工具Tabular Editor,可在公众号菜单栏单击
外部工具-->Tabular Editor,获取安装包,如图:

准备一个案例文件,已有的字段和度量值,如图:

总共有9个度量值,度量值表达式不重要,我们只用到度量值的名称。
要生成的度量值,如大搜_nop,大搜订单,大搜业绩等27个度量值,如图:

以大搜_nop,大搜订单,大搜业绩的度量值为例,查看下要生成的度量值表达式,大搜_nop:

大搜订单:

大搜业绩:

其他度量值表达式只是和这三个表达式双引号中名称不一样。
我们要实现的目标,是以大搜生成大搜_nop,大搜订单,大搜业绩度量值,其他亦然。步骤如下:
第一步:单击Advance Scripting选项卡,如图:

第二步:选中大搜,代理,代理导入,其他,天猫,推荐,网络,线下,信息流 9个度量值,如图:

第三步:将如下的代码粘贴进去:
foreach(var m in Selected.Measures) { m.Table.AddMeasure( m.Name+"订单", //名字 "CALCULATE (COUNT ( order_pivot[jftotalcount] ),FILTER(all('order_pivot'[DDtypenew]),[DDtypenew] =\""+ m.Name+ "\"))" //表达式 ); m.Table.AddMeasure( m.Name+"_nop", //名字 "CALCULATE (SUM ( user_nop_pivot[num] ),FILTER ( ALL ( user_nop_pivot[DDtypenew]), [DDtypenew] = \""+ m.Name+ "\"))" //表达式 ); m.Table.AddMeasure( m.Name+"业绩", //名字 "CALCULATE (SUM ( order_pivot[jftotalcount] ),FILTER ( ALL ( order_pivot[DDtypenew] ), [DDtypenew] = \""+ m.Name+ "\"))" //表达式 ); }
第四步:单击绿色小三角,运行代码,结果如图:

我们查看下大搜_nop的代码,和目标度量值相同,如图:

通过这段代码就实现了批量生成度量值的目标。视频形式稍后我会通过我的视频号和我的bilibili账号进行发布,欢迎关注。
我的bilibili账号,链接直达:
https://space.bilibili.com/408292920?spm_id_from=333.788.b_765f7570696e666f.1
我的视频号:
单击下方可以留言
:
↓




