我有一个包含2列的powerpivot表: 第1列包含字符串。 第2列包含逗号分隔的字符串。
当第2列中的行包含来自过滤器或切片器的选择时,我希望能够显示第1列中的所有行。例如:
字符串值
ABCD A,A,B
EFGH A,C
如果选择了A,我会显示两行,如果选择了B,我只显示第1行......等等。
我知道我可以拆分记录 - 但这对我来说不切实际 - 上面只是冰山一角。 VBA是不可能的,因为它将在SharePoint中发布。有人知道我该怎么做吗?感谢。
答案 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作为选择器。如果按照选择过滤行。
一个小细节:PowerView中没有这个措施......有人知道为什么吗?