SQL专栏

​SQL数据库基础知识汇总​

​SQL数据库高级知识汇总​

快速度量值

相比度量值需要手动书写DAX函数,快速度量值主要是对现有的字段使用系统设置好的一些功能,通过配置而生成度量值。


示例

我们以销售表为示例

PowerBI基础知识——快速度量值_sql


创建快速度量值

创建快速度量值的方法有两中,右击某个字段,在弹出的菜单中选择“新建快速度量值”即可,如下图:

PowerBI基础知识——快速度量值_sql数据库_02


或者选中某个字段,点击菜单栏上的“新建快速度量值”,如下图:

PowerBI基础知识——快速度量值_sql数据库_03


配置快速度量值

当我们选择某个字段去创建快速度量值时,会弹出一个对话框,如下图:

PowerBI基础知识——快速度量值_字段_04

我们尝试创建一个各个省份销售金额汇总的度量值。只需要将客户省份拖到字段中即可,如下图:

PowerBI基础知识——快速度量值_字段_05

当我们配置完成后,会出现一个度量值,点击这个度量值可以看到系统自动生成的DAX代码,如下图:

PowerBI基础知识——快速度量值_字段_06

我们可以将这个度量值重命名后拖放到可视化对象上,查看各省的累计汇总的销售金额。

PowerBI基础知识——快速度量值_字段_07


完整示例

上面只是其中一个比较常用的功能,与我们实际的销售金额一致,只是DAX出于安全性考虑写了更多的代码以防意外情况。下面我们演示一个用星级表示各省销售额的示例。

我们还是选择销售金额来创建快速度量值,配置如下

PowerBI基础知识——快速度量值_sql_08

点击确定后,会看到系统自动生成的度量值,具体DAX代码如下:


销售金额 星级评分 = 
VAR __MAX_NUMBER_OF_STARS = 5
VAR __MIN_RATED_VALUE = 0
VAR __MAX_RATED_VALUE = 800000
VAR __BASE_VALUE = [销售金额]
VAR __NORMALIZED_BASE_VALUE =
MIN(
MAX(
DIVIDE(
__BASE_VALUE - __MIN_RATED_VALUE,
__MAX_RATED_VALUE - __MIN_RATED_VALUE
),
0
),
1
)
VAR __STAR_RATING = ROUND(__NORMALIZED_BASE_VALUE * __MAX_NUMBER_OF_STARS, 0)
RETURN
IF(
NOT ISBLANK(__BASE_VALUE),
REPT(UNICHAR(9733), __STAR_RATING)
& REPT(UNICHAR(9734), __MAX_NUMBER_OF_STARS - __STAR_RATING)
)

(提示:可以左右滑动代码)


下面我们将这个度量值添加到刚才的图表中,如下图:

PowerBI基础知识——快速度量值_字段_09

通过最后一列的销售金额的星级评分,我们可以清楚的看到每个省份的具体销售情况,非常的直观。


批注

快速度量值只是为了方便我们日常操作过程中,需要经常使用到的一些函数功能,例如汇总,计数,累计等等,省去写代码的时间。但是当我们熟练掌握了DAX后,还可以写出很多快速度量值里没有的功能。