在数据分析中,我们经常需要从多个表中提取信息,并进行复杂的计算。例如,我们可能需要计算跨多个维度的聚合值。今天我们将带大家学习如何在 Power BI 中实现这一计算。
举个例子,假设我们有两个维度表,一个是地理位置表,包含各个城市的信息;另一个是日历表,包含日期信息。我们的目标是计算所有省份在所有时间段(某年某月)的最大销售额,这应该怎么计算呢?
在 Power BI 中计算最大值,我们第一时间想到的是 MAX 函数和 MAXX 函数。MAX 函数的参数只能是列,我们这里选择 MAXX 函数。
如果我们计算单表的最大值,以日历表为例,计算所有年月的最大销售额。
年月最大销售额 =
MAXX (
ALL (
'Dim Calendar'[YearNameCN],
'Dim Calendar'[MonthNameCN]
),
[Sales]
)
计算单表最大值对于 MAXX 函数来说还是比较简单的。
计算正确,如果我们再加一个表,计算出所有省份在所有年月的最大销售额,这应该怎么计算。
在计算之前,我们应该先构建出一个包含所有省份和所有年月的表,也就是省份和年月的笛卡尔积,表应该是这样的。
我们可以使用 CROSSJOIN 函数实现,CROSSJOIN 函数语法如下。
使用 CROSSJOIN 求出省份和年月的笛卡尔积,新建一个表,看下结果。
如果我们把这个表当做是 MAXX 函数的第一个参数表,那计算所有省份所有年月最大销售额的 DAX 语句为:
最大销售额 =
MAXX (
CROSSJOIN (
ALL ( 'Dim 地理位置'[省份] ),
ALL (
'Dim Calendar'[YearNameCN],
'Dim Calendar'[MonthNameCN]
)
),
[Sales]
)
求最小值、平均值等也是一样的道理,比如计算所有省份在所有年月的最小利润。
最小利润 =
MINX (
CROSSJOIN (
ALL ( 'Dim 地理位置'[省份] ),
ALL (
'Dim Calendar'[YearNameCN],
'Dim Calendar'[MonthNameCN]
)
),
[Profit]
)
在 Power BI 中进行多表聚合操作,我们只需要使用增强版聚合 X 函数加上 CROSSJOIN 函数连接多个表即可轻松实现跨多表的聚合操作。理解这些函数及其组合使用,对于在 Power BI 中进行高级数据分析和报告制作非常重要。
希望这篇文章对你有所能帮助,赶快去 Power BI 中试一试吧。
数据分析精英都会遇到的二十大分析问题
数据分析精英都在学习的五大能力境界
他们是:企业老板,高管,CFO,分析...
可以体验百万级真实企业项目案例,彻底打通任督二脉
课程:
《业财分析之道》
业务财务人数字化能力必修课
🔥
🔥
🔥
2024年7月 满
2024年8月
少量席位
🎓
更多热门课程推荐👇👇👇
🚀
《业财分析之道》
:
业务财务人数字化能力必修课
。
📈
《经营分析之道》
:
企业指标拆解及经营分析框架
。
🔍
《
数据分析之道
》
:
精通分析十大方法加十大模型
。
💡
《
PowerBI 真经
》
:
更专业更系统化学习 Power BI
。
🔗
如何获取更多信息?扫描下方二维码具体咨询。
这样老师才能更快地识别并回应