打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Power BI快速批量导入度量值,同时自动设置格式
上一篇文章介绍了利用Tabular Editor批量导入度量值的方法,如果你还没有看过,推荐你先看一看,熟悉导入操作的步骤和要点:
一招实现Power BI批量导入度量值,效率提升10倍!
在介绍本篇文章之前,先修复上篇文章脚本的一个小bug,可能会出现在特定情况下会无法导入的情况,这里贴上优化后的脚本:
// 用你的 CSV 文件路径替换此路径string csvPath = "D:/powerbi星球/Tabulareditor/批量导入度量值/度量值表.csv";
var lines = System.IO.File.ReadAllLines(csvPath).Skip(1); // 跳过标题行
foreach (var line in lines){ var matches = System.Text.RegularExpressions.Regex.Matches(line, @"(?:^|,)(?:""([^""]*(?:""""[^""]*)*)""|([^,]*))"); if (matches.Count < 3) continue;
var tableName = matches[0].Groups[1].Value; if (string.IsNullOrEmpty(tableName)) { tableName = matches[0].Groups[2].Value; }
var measureName = matches[1].Groups[1].Value; if (string.IsNullOrEmpty(measureName)) { measureName = matches[1].Groups[2].Value; }
var formula = matches[2].Groups[1].Value; if (string.IsNullOrEmpty(formula)) { formula = matches[2].Groups[2].Value; }
formula = formula.Replace("\"\"", "\"");
var table = Model.Tables[tableName]; if (table == null) continue;
try { table.AddMeasure(measureName, formula); } catch{}}

另外,度量值批量导入后,如果要修改每个度量值的格式,逐个设置依旧很繁琐,能不能在批量导入的同时,自动将每个度量值的格式也设置好呢?
当然也是可以的。
仍然以上篇文章的度量值模板为例,只需要为每个度量值增加一列格式,比如设置销售额的格式是保留2位小数点的千分位、毛利率为保留2位小数的百分比等。
然后运行下面的脚本:
// 用你的 CSV 文件路径替换此路径string csvPath = "D:/PowerBI星球/Tabulareditor/批量导入度量值并设置格式/度量值.csv";var lines = System.IO.File.ReadAllLines(csvPath).Skip(1); 
foreach (var line in lines){ var matches = System.Text.RegularExpressions.Regex.Matches(line, @"(?:^|,)(?:""([^""]*(?:""""[^""]*)*)""|([^,]*))"); if (matches.Count < 4) continue;
var tableName = matches[0].Groups[1].Value; if (string.IsNullOrEmpty(tableName)) { tableName = matches[0].Groups[2].Value; }
var measureName = matches[1].Groups[1].Value; if (string.IsNullOrEmpty(measureName)) { measureName = matches[1].Groups[2].Value; }
var formula = matches[2].Groups[1].Value; if (string.IsNullOrEmpty(formula)) { formula = matches[2].Groups[2].Value; } var format = matches[3].Groups[1].Value; if (string.IsNullOrEmpty(format)) { format = matches[3].Groups[2].Value; }
formula = formula.Replace("\"\"", "\"");
var table = Model.Tables[tableName]; if (table == null) continue;
try { var newMeasure = table.AddMeasure(measureName, formula); newMeasure.FormatString = format; // 设置度量值的格式 } catch {}}
(具体步骤可参考上篇文章)
这样导入后,不仅度量值批量导入了,并且每个度量值也按我们预设的格式自动设置好了,无需手动调整,展现时自动就是我们期望的格式:
这种方式批量导入度量值是不是更实用呢?

关于度量值格式的写法可以参考:

利用FORMAT函数自定义数据格式


PowerBI星球的最新版内容合辑,值得你收藏学习:
「PowerBI星球」内容合集


如果你想深入学习Power BI,欢迎加入我的PowerBI学习社群
,获取更多学习资源,和5000+ 爱好者一起精进~
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ASP.NET MVC 5 学习教程:添加查询
DDD领域驱动设计初探(7)(中):Web层的搭建
如何编写让别人能读懂的代码?
ASP.NET Core ActionFilter引发的一个EF异常
TinyFrame升级之九:实现复杂的查询
abp(net core)+easyui+efcore实现仓储管理系统——出库管理之四(五十三)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服