Power BI学习浅析(三) 聚合函数的深入理解-以Averagex为例

目标是求所有省份的平均销售额

数据模型结构如下所示:
在这里插入图片描述

  1. 最简洁明了的方法(利用averagex+all)
省均度量值ALL1 = 
//想比于2更加优雅的写法,因为维度表与事实表之间的关系
AVERAGEX(
    ALL('省份区域'[省份]),//用all去除外部上下文的筛选
    [Actual]
) 
  1. 在维度表中添加列:在省份区域表中加入一列Sales,计算每个省份的销售额,在根据这张表求平均值(前一种的拓展)
省均度量值ALL2 = 
AVERAGEX(
    ADDCOLUMNS(
        all('省份区域'[省份]),
        "Sales",
        [Actual]
    ),
    [Sales]
) 
  1. summarize函数创建新的虚拟表格,计算各省份对应的销售额,最后计算平均
省均度量值SUM = 
AVERAGEX(
        SUMMARIZE(
                all('省份区域'[省份]), //In which table
                '省份区域'[省份],  //Group by which column
                "JINE",           //Name the new column
                [Actual]          //Expression Used
        ),
        [JINE]
)
  1. values函数创建新的虚拟表格,计算各省份对应的销售额,最后计算平均
省均度量值VALUE = 
CALCULATE(
        AVERAGEX(
                ADDCOLUMNS(
                        VALUES('省份区域'[省份]),
                        "Sales",
                        [Actual]
                ),
                [Sales]
        ),
        all( '省份区域'[省份])
)

最后得到的结果如下图所示:
在这里插入图片描述
拓展:
这样计算出来的平均值可以作为平均线的measure来使用,同时可以根据平均值来创建区分不同颜色的柱形图,举例如下:

柱形图颜色 = 
//定义各省平均销售的变量AVGPROVINCE
VAR AVGPROVINCE = AVERAGEX(ALL('省份区域'[省份]),[Actual])
RETURN 
IF(
    [Actual]>AVGPROVINCE,
    "GREEN",
    "RED"
)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值