0

我在角色的 CellData 表达式中使用 CurrentMember 函数来限制通过特定维度对多维数据集的访问。这按预期工作,但有一个例外。即使使用切片器尺寸过滤掉角色无权查看的数据,字符串“#N/A”也会显示在所有单元格中。

只有在轴中包含角色限制访问的维度后,单元格的值才会按预期显示。

在我看来,CurrentMember 函数似乎忽略了切片器维度。是这样吗?我应该如何解决这个问题?

4

2 回答 2

1

这取决于您如何使用过滤器进行查询。如果您正在生成子查询(使用 SSMS 或 BIDS 中的顶部过滤器区域),则 currentMember 将返回 All 成员 - 这是子查询的设计方式。如果您在 SSMS 或 BIDS 中使用较低的查询,它将使用 WHERE 子句,您应该会看到预期的结果。

如果您只是按维度成员过滤,您可能会更好地使用维度数据选项卡而不是单元格数据。

于 2009-06-16T04:50:23.783 回答
0

严肃地说,我的建议是远离要求您使用多维数据集值限制访问的多维数据集。去过那里,这样做了,浪费了太多时间,但最终还是得到了一个不稳定的解决方案。

绝对不要在 OLAP 中使用“角色”。

于 2009-04-24T13:57:52.467 回答