上回写到: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]
,可以看到:
Start:KPI.Sales =
SUM( 'Order'[LinePrice] ) / [Start:Option.Unit.Value]
又依赖于度量值:[Start:Option.Unit.Value]
。
所以,大家对删除一个度量值有恐惧感,是可以理解的。
检测度量值依赖关系
我们可以借助 PowerBI 外挂 Tabular Editor 来检测度量值的依赖关系,如下:
如果在实用 PowerBI 外挂方面,有什么问题可以参考:PowerBI 外挂修复指南。
得到:
这句洋文的意思是:查看他的依赖对象们。
我们可以展开其中之一,如下:
WOW!太详细了。
可以看到:这个结构展开了所有的依赖层次。
如果我们想考察谁依赖了当前的度量值,则可以选择第二项:
既然有这么多内容依赖于这个度量值,因此,是不能删除这个度量值的。
再例如:
对于这个度量值,没有任何人依赖它,就可以放心的删除了。
从度量值依赖关系扩展到模型依赖关系
罗叔懂得。你马上该问了:
- 有很多表,不敢删除,咋整?
- 有很多列,不敢删除,咋整?
还是可以利用这个工具的,如下:
看到了吗?对于一个表来说,把有关系的全部列出,虽然没有了 PowerBI 的关系视图。但当你习惯看这个的时候,就回不去了,因为它从一个直接的角度给出了答案。
总结
通过本文,我们就可以彻底查找度量值以及模型的依赖关系,并且放心的删除不需要的冗余内容了。
当然,还没完,有伙伴继续问了:罗叔,我写了一百个度量值,怎么批量改名字呢?
这个我们下回分解,好戏还在后面。