在SSAS表格模式多维数据集中返回重复行的MDX查询
我对SSAS多维数据集和术语(成员、层次结构、e.t.c)以及MDX查询一无所知,但我已经开始学习这些东西,如果我的问题非常清楚,我深表歉意 我有上面正在执行的MDX查询。我从SSMS中的MDX查询设计器工具生成查询,只需手动进行简单修改 在查询中,如果我注释掉行在SSAS表格模式多维数据集中返回重复行的MDX查询,ssas,mdx,ssas-tabular,mdx-query,Ssas,Mdx,Ssas Tabular,Mdx Query,我对SSAS多维数据集和术语(成员、层次结构、e.t.c)以及MDX查询一无所知,但我已经开始学习这些东西,如果我的问题非常清楚,我深表歉意 我有上面正在执行的MDX查询。我从SSMS中的MDX查询设计器工具生成查询,只需手动进行简单修改 在查询中,如果我注释掉行[Parent\u Details].[Unit\u Name].[Unit\u Name]-.ALLMEMBERS,我会得到正确的行数 主要问题。 如果我取消对其进行注释,以便返回单位名称列,则我的行重复。原来的100行现在是正确的,
[Parent\u Details].[Unit\u Name].[Unit\u Name]-.ALLMEMBERS
,我会得到正确的行数
主要问题。
如果我取消对其进行注释,以便返回单位名称列,则我的行重复。原来的100行现在是正确的,因为有数千行的值都是重复的。任何人都知道我应该注意什么导致了这一切。看起来应用了错误的联接
其他我想了解的事情。
1。查询设计器以以下格式生成查询:
[建议].[Parent\u id].[Parent\u id]。所有成员*
。如果我注释掉.ALLMEMBERS*
,使得查询只是[Suggestions].[Parent\u id].[Parent\u id]
而没有注释掉.ALLMEMBERS*
,结果是相同的。那么.ALLMEMBERS*
2。我还注意到我要选择的列重复了两次,如下所示
建议].[Parent\u id].[Parent\u id]
,为什么会这样?为什么不能将其生成为建议].[Parent\u id]
如果从不同维度进行选择,结果基本上是相乘的。仔细想想,这是正确的行为。在您的情况下,您有[建议]和[家长详细信息]。这些是不同的维度。在查询中,您希望结果同时具有这两个属性,因此:
对于[Suggestion]的每个成员,获取[Parent Details]的所有成员并将其添加到结果中。因此,结果集变为:
[Suggestion-1][Parent_Details-1][Measures...]
[Suggestion-1][Parent_Details-2][Measures...]
[Suggestion-2][Parent_Details-1][Measures...]
[Suggestion-2][Parent_Details-2][Measures...]
[Suggestion-3][Parent_Details-1][Measures...]
etc.
(与[Suggestions]维度具有不同的级别不会使度量值成倍增加)
当你考虑它时,这是一个正确的行为,因为如果你添加这两个维度,你可能想知道类似“该建议和这些父细节的度量值是什么?”这样的信息,并且结果集中的确切行是正确的。这完全取决于你想要得到什么结果(你要求什么)
名称的乘法取决于您的多维数据集设计。第一行是级别,第二行是成员。例如,如果您创建一个层次结构,它将不会像这样
[Suggestion-1][Parent_Details-1][Measures...]
[Suggestion-1][Parent_Details-2][Measures...]
[Suggestion-2][Parent_Details-1][Measures...]
[Suggestion-2][Parent_Details-2][Measures...]
[Suggestion-3][Parent_Details-1][Measures...]
etc.