首页 > 解决方案 > 在 icCube 应用程序(仪表板)的全局过滤器中使用动态 MDX 类别

问题描述

情况

我在 icCube 中定义了几个 MDX++ 类别,我想在应用程序中将它们用作全局过滤器。MDX++ 类别的一个示例是

    create category member [Stats].[Top 100 Leveranciers].[Totaal].[top 100] as
       order(TopCount([leverancier].[leverancier].[leverancier],100, [measures].[bedrag]),[measures].[bedrag], bdesc),
       add_children=true

如果我在应用程序中使用它作为全局过滤器,我的所有仪表板都会被过滤,显示“前 100 名杠杆”的数据。完美,到目前为止。

现在来了问题/问题

一些用户有一个安全设置,允许他们只看到数据的一个子集。因此,“Top 100 Leveranciers”应该对他们不同,然后对可以查看所有数据的用户不同。但是,它不是。“Top 100 Leveranciers”为可以访问子集的人提供与可以访问所有子集的用户完全相同的成员。

-->如何在 icCube 中实现所需的功能?

我的分析

这就是我认为“幕后”发生的事情:要将 CATEGORY 包含为全局过滤器选项,必须在 SCHEMA DEFINITION 中将其定义为 SCRIPT。(到目前为止)仅允许在脚本中包含 STATIC 类别。所以我想我正在寻找方法来创建可用作全局过滤器的类别,但对于仪表板用户来说是动态的。

标签: iccube

解决方案


不确定为什么 Top 成员没有被实际用户访问权限过滤:应该是这样。最好直接联系 icCube 支持。

以下是在线文档中有关类别的静态与动态评估的快速详细信息:

    STATIC | DYNAMIC    : an optional modifier to specify the evaluation context. The default value is DYNAMIC:
                          in that case, when evaluating the formula the list of members is filtered by the slicer
                          and/or sub-select content. In STATIC mode, slicer and sub-select are ignored.

推荐阅读