我有一个包含 2 列的 powerpivot 表:第 1 列包含字符串。第 2 列包含逗号分隔的字符串。
当第 2 列中的行包含来自过滤器或切片器的选择时,我希望能够显示第 1 列中的所有行。例如:
字符串值
ABCD A,A,B
EFGH A,C
如果选择 A,我将显示两行,如果选择 B,我将仅显示第 1 行...等。
我知道我可以拆分记录——但这对我来说并不实用——以上只是冰山一角。VBA 是不可能的,因为这将在 SharePoint 中发布。有人知道我该怎么做吗?谢谢。
我有一个包含 2 列的 powerpivot 表:第 1 列包含字符串。第 2 列包含逗号分隔的字符串。
当第 2 列中的行包含来自过滤器或切片器的选择时,我希望能够显示第 1 列中的所有行。例如:
字符串值
ABCD A,A,B
EFGH A,C
如果选择 A,我将显示两行,如果选择 B,我将仅显示第 1 行...等。
我知道我可以拆分记录——但这对我来说并不实用——以上只是冰山一角。VBA 是不可能的,因为这将在 SharePoint 中发布。有人知道我该怎么做吗?谢谢。
我在 Javier Guillem 的博客中找到了解决方案:http:
//javierguillen.wordpress.com/2012/02/10/simulating-an-approximate-match-vlookup-in-powerpivot/
如果在我的示例中是表的名称是“事实”,我创建了第二个名为 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 中不提供该措施……有人知道为什么吗?