1

我有一张这样的桌子:

PersonId    Job    City    ParentId
---------   ----   -----   --------
101          A      C1      105
102          B      C2      101
103          A      C1      102

然后我需要获取Person's jobparent's city之间的关联规则。

我使用了自引用并定义了案例/嵌套表,但是在依赖图的结果中,人的工作或城市与父母的工作或城市之间没有区别!

SSAS项目中这个问题的最佳解决方案是什么?

4

3 回答 3

1

SSAS 层次结构应该解决您的问题。但是,如果不了解您的具体情况,很难准确地说出如何使用它们。

于 2015-01-09T00:23:29.667 回答
1

我在自己的工作中遇到了类似的需求。到目前为止,我只研究了 SQL Server Analysis Services 表格模型。完成对多维模型的研究后,我将使用更多信息更新此答案。

根据关系(SSAS 表格),SSAS 表格模型不支持自联接(相关报价见下文)。您最终要做的是将父元素组及其子元素的每个级别分解为单独的模型表。一旦有了模型表,就可以使用图表视图来绘制相关关系。

自连接和循环

表格模型表中不允许自连接。自联接是表与自身之间的递归关系。自联接通常用于定义父子层次结构。例如,您可以将Employees 表连接到其自身以生成显示企业管理链的层次结构。

模型设计者不允许在模型中的关系之间创建循环。换句话说,以下一组关系是被禁止的。+

表 1,a 列至表 2,f 列

表 2,f 列至表 3,n 列

表 3 第 n 列至表 1 第 a 列

如果您尝试创建会导致创建循环的关系,则会生成错误。

于 2017-08-15T16:43:04.237 回答
0

不确定您要达到什么目的,但以下 SQL 将是一个很好的起点:

select c.PersonId , p.City 
from ptable c, ptable p
where c.ParentId = p.PersonId
于 2011-07-07T08:41:02.457 回答