【问题标题】:Filter dimension hierarchically分层过滤维度
【发布时间】:2017-02-14 23:29:40
【问题描述】:

我有一个包含类别的表格。类别可以是顶级且独立的,也可以是子类别:

MyCategory
  MyCategoryId Int  -- PK
  Name Character Varying 50  -- descriptive "Name" of the category
  ...
  MyParentCategoryId Int NULL  -- Self-referencing PK, NULL means root level
  ...

它被一个巨大的MyFacts表引用:

MyFacts
  ...
  MyCategoryId Int  -- Foreign Key
  ...

请注意,该类别只有两个级别:根(Parent 为空)和叶(Parent 指向...父级。

我用它制作了一个立方体,MyFacts 作为我的 facs,MyCategory 作为一个维度。

让我们在类别表中统计一下:

  (1, 'Red', NULL)
  (2, 'Green', NULL)
  (3, 'Tomato', 1)
  (4, 'Strawbery, 1)
  (5, 'Cucumber, 2)

这些类别将在 UI 中显示为多个列表框,但我希望它可以通过直接连接甚至多维数据集的 Web 控件进行访问。

问题:检查“红色”时,多维数据集应返回“红色”、“番茄”和“草莓”的值。有了视图就很容易了,

但是,

我可以经常控制和清理输入,但并非总是如此。我可以做一个简单的第二个表/视图来允许加入这些类别,但是,如果用户选中“红色”和“草莓”怎么办?突然间,源代码和 SQL 中有重复的项目。

那么有没有办法让成员值分层?我看过 MDX Descendants() 但它似乎并不适用。请注意,用例是我设置这个多维数据集,用户进入客户端 X,检查“红色”和“草莓”,并显示“红色”、“草莓”和“番茄”的结果——没有重复。

【问题讨论】:

  • 您能否截取尺寸设计器,以便我们了解您是如何设置尺寸的?我感兴趣的是您是否使用了父子层次结构,或者您是否只有一个平面的类别列表。

标签: ssas cube olap-cube


【解决方案1】:

如果使用 & 符号,则它指定一个 ID 如果不使用 & 符号,则它指定成员名称

e.g.
[Model and Manufacturer].[Manufacturer].&[1002]
[Model and Manufacturer].[Manufacturer].[Apple]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多