PowerBI DAX 度量值管理 - 驾驭度量值依赖关系,删除无效
上回写到:PowerBI DAX 度量值管理 - 基本编写到高级管理
很多小伙伴说跟着罗叔已经学习到了很多,一个报告写了几百个度量值了,现在想查找和删除没用的,怎么办呢。
今天我们就来研究下这个问题。
度量值的依赖关系
度量值之间是有依赖关系的。
例如:
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 的关系视图。但当你习惯看这个的时候,就回不去了,因为它从一个直接的角度给出了答案。
总结
通过本文,我们就可以彻底查找度量值以及模型的依赖关系,并且放心的删除不需要的冗余内容了。
当然,还没完,有伙伴继续问了:罗叔,我写了一百个度量值,怎么批量改名字呢?
这个我们下回分解,好戏还在后面。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法