PowerBI DAX 计算阶乘的方法

非常碰巧,在最近几个项目中都遇见计算阶乘的情况,主要是计算排列组合数的时候会用到阶乘。

理论

PowerBI DAX 中默认是没有计算阶乘的函数的。这里给出一种在PowerBI DAX 中计算阶乘的方法。

在数学的定义中,对阶乘的定义是这样的:
N ! =
如果 N = 0 , N ! = 1;
否则 N = N × ( N - 1 ) !

这是一个使用递归的经典场景。

可惜的是,PowerBI DAX并不支持阶乘,阶乘的另一种计算方式是可以直接进行计算。例如:

N ! = 1 × 2 × … × N

PowerBI DAX实现

下面给出在 PowerBI DAX 的计算方式:

PowerBI DAX 计算阶乘的方法

 

其中,通过参数获得 N值,然后通过N值构建一个序列,再对序列进行连乘得到最后结果。

PowerBI 实现效果

用PowerBI实现的效果如下:

PowerBI DAX 计算阶乘的方法

 

阶乘的可视化

在学习理论的时候,我们都知道如果一个数列呈现阶乘

 

如果我们直观对比x的平方,2的x次方与x的阶乘,可以看出:

PowerBI DAX 计算阶乘的方法

 

随着N的增长,阶乘的增长是很恐怖的。

PowerBI DAX 计算阶乘的方法

小结

本案例使用参数灵活地实现了N的阶乘,希望对正在使用手机报表的用户有所帮助。