使用缓慢变化的维度管理PerformancePoint过滤器

时间:2015-12-04 17:29:39

标签: ssas data-warehouse performancepoint scd scd2

只是一些背景信息:

我有维度表,它使用SCD2跟踪我们公司的用户变化(团队变更,职位名称变更等)见下面的例子:

Some of the User dimension columns

我已经构建了一个Analysis Services Cube,并为维度创建了所有必要的层次结构,并且在导航和深入查看事实表时效果很好。

SSAS Hierarchy

我遇到的问题是PerformancePoint仪表板上的过滤器。我正在使用User Dimension表及其多个用户实例,它在列表中显示重复项。我可以理解为什么在Dimension上引用了代理ID。但是,如果我选择A团队的第一个实例,我会看到他们在特定时期内的所有销售情况,如果我选择第二个实例,我会看到他们在不同时期的所有销售。

Example of 1 of the duplicated team names

处理此类行为的最佳方法是什么?理想情况下,我希望按字母顺序查看不同的团队列表,当我选择团队名称时,它会随时间显示所有数据。

我考虑过使用MDX查询过滤器,但我想知道是否有任何我想过的事情。

我意识到这不是一个简单快捷的问题,但任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

在多维数据集上通过我的用户维度表进行拖网后,答案很简单。

  1. 在我的用户维度下,我向属性列表添加了2个重复属性(“团队过滤器”是“团队”的副本,“用户过滤器”是“用户名”的副本)这些属性仅用于过滤仪表板
  2. Dimension Designer Window

    1. 在每个副本的属性属性下,我将AttributeHierarchyOptimizedState设置为“Not Optimized”,我还将其AttributeHierarchyVisible设置为false,因为我在中间的层次结构窗口中显示了两个重复的属性。
    2. Dimension Attribute Properties

      1. 将多维数据集部署到服务器并进入PerformancePoint。创建一个新的MDX过滤器(此图像显示已完成的过滤器)
      2. Create a MDX Filter in PerformancePoint

        1. 这是我使用的代码,它只显示维度成员有一个事实对他们(减少列表相当大的数量)和通过使用维度的所有成员它也让我可以选择在顶部显示“全部”列表。
        2. MDX Code

          1. 部署新过滤器,现在您可以看到不同的用户和团队列表,完美运行并选择每个实例(无论SCD2行如何)
          2. Dashboard Filters now working