一键实现 PowerBI 度量值批量重命名

2020-10-19 14:29:49 浏览数 (3)

如题,这是一个很常见的需求。

大家在命名时,会按照很多规则来命名,例如:

KPI.CRM.xxx

KPI.CRM.yyy

...

以此类推,度量值可能非常多。

但有一天,突然想改成:

KPI.CRM.xxx -> KPI.User.xxx

这就需要要给批量重新命名。

PowerBI 中本身并不携带这个功能,我们可以借助 Tabular Editor 来实现。

方法如下。

准备

下载安装 Tabular Editor,这在此前的的文章已经写过,大家可以参考:

Tabular Editor 介绍

此前,我们还介绍了一些 Tabular Editor 的应用,可以参考。

现在会用这个功能:

也就是说,我们只需要两步:

1、选择要批量处理的度量值;

2、在 Tabular Editor 中运行这段脚本即可。

下面给出脚本的内容。

批量替换前缀内容

以下脚本可以批量替换前缀,如下:

代码语言:javascript复制
foreach(var x in Selected.Measures) {

    var oldNameSpace = "Start:"; // 要替换的原始文本
    var newNameSpace = "StartNew:"; // 要替换的结果文本

    if( x.Name.StartsWith( oldNameSpace ) )
    {
        x.Name = newNameSpace   x.Name.Substring( oldNameSpace.Length , x.Name.Length - oldNameSpace.Length );
    }

}

它仅仅替换前缀部分。

批量替换内容

以下脚本可以批量替换内容,如下:

代码语言:javascript复制
foreach(var x in Selected.Measures) {

    var oldWord = "old"; // 要替换的原始文本
    var newWord = "new"; // 要替换的结果文本

    if( x.Name.Contains( oldWord ) )
    {
        x.Name = x.Name.Substring( 0 , x.Name.IndexOf( oldWord ) )  
        newWord  
        x.Name.Substring( x.Name.Length - ( x.Name.Length - x.Name.IndexOf( oldWord ) )   oldWord.Length );
    }

}

这可以替换任意部分。

总结

您并不需要知道这里的脚本是什么意思,因为这是 IT 程序员的工作,您只需要复制粘贴,替换使用即可。

0 人点赞