如何在 Power BI 中求解多列数据最小值问题

嗨~各位周五好呀!今天我们来总结一波如何在Power BI中求解多列数据的最小值,bingo!


1 In Excel

在Excel中我们可以直接使用Min函数求多个值的最小值,效果如下:

file

这里直接使用MIN函数一步得到计算结果,而且这些值中有空值会自动忽略。


2 In DAX

如果我们用DAX中的MIN函数来计算,会得到什么结果呢?一起来看:

file

首先在写MIN函数的时候会提示只有两个参数,我们无法一次实现对多列求最小值,那么我们自然会想到分开求,先两列进行求最小值然后再整体求最小值。会得到什么结果呢?

file

这个结果很令人困惑,只有第一行值是对的,其他都是空白,这是因为在DAX中,如果有比较或算术运算,空白值将自动转换为0进行比较或计算,所以只有除第一行外其他行的最小值都是空值。


3 In M

既然DAX不能实现,那么我们会想到用M能否实现呢?如果要用M求一行的最小值,也就是把一行值变为一个List,然后求每个List的最小值就可以了。如何构建List我们在之前的文章《DAX+M语言应用场景:如何得到含有全国维度的图表?》最后总结的部分提到过:

={列的内容},用{ }代表列

我们添加一个自定义列,将一行值变为一个List,点击预览第一行,如下图所示:

file

接下来我们再求List的最小值:

file

我们在公式编辑栏添加了List.Min函数直接得到了结果,很明显这个结果跟用Excel中MIN函数得到的结果一致,都忽略了空值。


总结

DAX与EXCEL虽然有很多函数名称是一致的,但是有些用法并不相同,可能DAX会得到意料之外的结果,我们需要在实践中去总结具体用法。



* PowerPivot工坊原创文章,转载请注明出处!


如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

Power Pivot工坊