我是小必,很高兴在这里遇见你,以Excel和Power BI会友。
本期内容主要讲解DAX函数中的CONCATENATEX函数,一个非常有用的函数,相当于Excel工作表函数中的TEXTJOIN函数.
1
函数解释
用途:对表的每一行计算表达式,然后将得到的结果串联到一个字符串中,由指定的分隔符分隔。
语法:CONCATENATEX ( , , [], [], [], [], [] … )
CONCATENATEX是一个迭代函数,返回一个字符串连接的标量值。
2
实际案例
如图所示,以下是数据源,本次内容我们在Excel Power Pivot中完成。当然内容也可以在Power BI中完成,都是一样的函数的与做法。
下面我们写一个度量值,将每个部分的等级进行连接,然后将评级按升级排列:
我们将结果放到数据透视表中来看一下:
这时,我们发现上面的内容中有重复项,我们需要使用到VALUES函数来去重;另一个问题同时也暴露出来了,就是总计行里不是我们想到的结果,我们想让总计行显示空白。那么我们可以使用HAXONEVALUE函数。所以度量值代码也可以写成下面:
来看一下结果:
接下来我们再增加下难度,我们需要将每个部门的姓名与等级连接起来,然后再按部门分组,所以此时度量值代码就可以写成:
在这里,分隔符我们使用了"/",如果要使用换行符,在Excel Power Pivot中,使用Shift+Enter在分隔符的位置敲一个即可,在Power BI中则可以使用UNICHAR(10),而在Excel Power Pviot则不支持该UNICHAR(10)。这一点作为一个小技巧来说明一下。这个函数在文本函数的时候非常有用,但是有记得配合HASONEVALUE函数来使用效果更佳哦。
END