PowerBI DAX 度量值管理 - 驾驭度量值依赖关系,删除无效

2020-07-24 09:47:40 浏览数 (3)

上回写到:PowerBI DAX 度量值管理 - 基本编写到高级管理

很多小伙伴说跟着罗叔已经学习到了很多,一个报告写了几百个度量值了,现在想查找和删除没用的,怎么办呢。

今天我们就来研究下这个问题。

度量值的依赖关系

度量值之间是有依赖关系的。

例如:

代码语言:javascript复制
Start:KPI =
// 通用类 KPI,具体 KPI 由用户选择决定
SWITCH( SELECTEDVALUE( 'Option.KPI'[KPICode] ),
    "Sales" , [Start:KPI.Sales] ,
    "Profit" , [Start:KPI.Profit] ,
    "Volume" , [Start:KPI.Volume] ,
    "Profit%" , [Start:KPI.Profit%] ,
    [Start:KPI.Sales]
)

以上的度量值 KPI 是希望把 KPI 的计算通用化,他依赖了:[Start:KPI.Sales],[Start:KPI.Profit],[Start:KPI.Volume]三个独立度量值。

这样,对于 [Start:KPI.Sales],我们就不敢轻易删除,因为一旦这个度量值被删除,依赖他的度量值就都完犊子了。

再观察下:[Start:KPI.Sales],可以看到:

代码语言:javascript复制
Start:KPI.Sales =
SUM( 'Order'[LinePrice] ) / [Start:Option.Unit.Value]

又依赖于度量值:[Start:Option.Unit.Value]

所以,大家对删除一个度量值有恐惧感,是可以理解的。

检测度量值依赖关系

我们可以借助 PowerBI 外挂 Tabular Editor 来检测度量值的依赖关系,如下:

如果在实用 PowerBI 外挂方面,有什么问题可以参考:PowerBI 外挂修复指南。

得到:

这句洋文的意思是:查看他的依赖对象们。

我们可以展开其中之一,如下:

WOW!太详细了。

可以看到:这个结构展开了所有的依赖层次。

如果我们想考察谁依赖了当前的度量值,则可以选择第二项:

既然有这么多内容依赖于这个度量值,因此,是不能删除这个度量值的。

再例如:

对于这个度量值,没有任何人依赖它,就可以放心的删除了。

从度量值依赖关系扩展到模型依赖关系

罗叔懂得。你马上该问了:

  • 有很多表,不敢删除,咋整?
  • 有很多列,不敢删除,咋整?

还是可以利用这个工具的,如下:

看到了吗?对于一个表来说,把有关系的全部列出,虽然没有了 PowerBI 的关系视图。但当你习惯看这个的时候,就回不去了,因为它从一个直接的角度给出了答案。

总结

通过本文,我们就可以彻底查找度量值以及模型的依赖关系,并且放心的删除不需要的冗余内容了。

当然,还没完,有伙伴继续问了:罗叔,我写了一百个度量值,怎么批量改名字呢?

这个我们下回分解,好戏还在后面。

0 人点赞