DAX - 选择部分匹配的行

时间:2014-07-19 15:31:55

标签: powerpivot dax powerview

我有一个包含2列的powerpivot表: 第1列包含字符串。 第2列包含逗号分隔的字符串。

当第2列中的行包含来自过滤器或切片器的选择时,我希望能够显示第1列中的所有行。例如:

字符串值
ABCD A,A,B
EFGH A,C
如果选择了A,我会显示两行,如果选择了B,我只显示第1行......等等。

我知道我可以拆分记录 - 但这对我来说不切实际 - 上面只是冰山一角。 VBA是不可能的,因为它将在SharePoint中发布。有人知道我该怎么做吗?感谢。

1 个答案:

答案 0 :(得分:1)

我在Javier Guillem的博客中找到了解决方案:
http://javierguillen.wordpress.com/2012/02/10/simulating-an-approximate-match-vlookup-in-powerpivot/
如果在我的例子中,表的名称是“fact”,我创建了一个名为dimRef的第二个未链接表,我填充了我有兴趣匹配的所有可能值:A,B,C,D ......等等。 /> 然后我将度量M定义为:
M:=If ( Hasonevalue(facts[Values] ), Calculate ( LASTNONBLANK (dimRef[String], 1 ), Filter ( dimRef, SEARCH(dimRef[String],Values(facts[String]),1,0) > 0 ) ) ) 然后,我可以使用事实表的字符串列和数据透视表中的度量,并使用dimRef作为选择器。如果按照选择过滤行。

enter image description here
一个小细节:PowerView中没有这个措施......有人知道为什么吗?