这是群里朋友提的一个问题:用CALCULATE函数写动态度量值的时候,是否可以计算包含某个文本的内容?

PP-DAX:如何实现模糊匹配的动态计算?_3d

      当然,Power Pivot里是不支持使用*号作为通配符的。所以,需要换个方法,比如,以前我们讲过FIND函数,还有​CALCULATE​函数怎么增删改计算条件的内容,这两者结合起来,就能实现模糊匹配情况下的动态计算。举例如下,我们要统计名称里包含“大”字的客户的产品购买数量:

PP-DAX:如何实现模糊匹配的动态计算?_链接地址_02

.包"大"字客户购买数量 = CALCULATE(
SUM('订单明细'[数量]),
FILTER(
'订单',
FIND("大",'订单'[客户],,BLANK())<>BLANK()
)
)

      当然,你也可以用SEARCH函数,因为SEARCH函数和FIND函数只是在区分大小写方面有一点儿差别而已。同时,上图中公式里用的BLANK()也可以用其他数字代替,比如-1等。