我有一个包含类别的表。类别可以是顶级和独立的,也可以是子类别:
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
...
请注意,该类别只有两个级别:root(Parent为null)和leaf(Parent指向...父级。
我用它制作一个立方体,MyFacts作为我的facs,MyCategory作为维度。
让我们在类别表中使用此数据:
(1, 'Red', NULL)
(2, 'Green', NULL)
(3, 'Tomato', 1)
(4, 'Strawbery, 1)
(5, 'Cucumber, 2)
类别将在UI中显示为多个列表框,但我希望通过直接连接甚至是多维数据集的Web控件来访问它们。
问题:当检查" Red"时,多维数据集应返回" Red"的值,对于#34; Tomato"而对于" Strawberry"。这很容易看到,
,但
我可以经常控制和消毒输入,但并非总是如此。我可以做一个简单的第二个表/视图来允许这些类别加入,但是,如果用户检查"红色"和"草莓?突然之间,源和SQL中都有重复的项目。
那么有没有办法建立成员价值的层次结构?我看过MDX Descendants(),但它似乎并不适用。请注意,用例是我设置此多维数据集,用户进入客户端X,检查"红色" "草莓"和"红","草莓"和#34;番茄"出现 - 没有重复。
答案 0 :(得分:0)
如果使用&符,则指定ID 如果未使用&符,则指定成员名称
e.g.
[Model and Manufacturer].[Manufacturer].&[1002]
[Model and Manufacturer].[Manufacturer].[Apple]