SQL专栏
快速度量值
相比度量值需要手动书写DAX函数,快速度量值主要是对现有的字段使用系统设置好的一些功能,通过配置而生成度量值。
示例
我们以销售表为示例
创建快速度量值
创建快速度量值的方法有两中,右击某个字段,在弹出的菜单中选择“新建快速度量值”即可,如下图:
或者选中某个字段,点击菜单栏上的“新建快速度量值”,如下图:
配置快速度量值
当我们选择某个字段去创建快速度量值时,会弹出一个对话框,如下图:
我们尝试创建一个各个省份销售金额汇总的度量值。只需要将客户省份拖到字段中即可,如下图:
当我们配置完成后,会出现一个度量值,点击这个度量值可以看到系统自动生成的DAX代码,如下图:
我们可以将这个度量值重命名后拖放到可视化对象上,查看各省的累计汇总的销售金额。
完整示例
上面只是其中一个比较常用的功能,与我们实际的销售金额一致,只是DAX出于安全性考虑写了更多的代码以防意外情况。下面我们演示一个用星级表示各省销售额的示例。
我们还是选择销售金额来创建快速度量值,配置如下
点击确定后,会看到系统自动生成的度量值,具体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)
)
(提示:可以左右滑动代码)
下面我们将这个度量值添加到刚才的图表中,如下图:
通过最后一列的销售金额的星级评分,我们可以清楚的看到每个省份的具体销售情况,非常的直观。
批注
快速度量值只是为了方便我们日常操作过程中,需要经常使用到的一些函数功能,例如汇总,计数,累计等等,省去写代码的时间。但是当我们熟练掌握了DAX后,还可以写出很多快速度量值里没有的功能。