Ssas MDX查询中的求和与分组
我需要一个MDX查询来对一列中的数据求和,并按其类型聚合另一列中的数据。例如,我当前的查询是:Ssas MDX查询中的求和与分组,ssas,mdx,Ssas,Mdx,我需要一个MDX查询来对一列中的数据求和,并按其类型聚合另一列中的数据。例如,我当前的查询是: SELECT { [Measures].[DeclCount], [Measures].[SubCount]} ON COLUMNS, { ( [Organization].[OrganizationKey].[OrganizationKey].ALLMEMBERS * [Organization].[Name].[Name].ALLMEMBERS * [Organizat
SELECT
{ [Measures].[DeclCount], [Measures].[SubCount]} ON COLUMNS,
{ (
[Organization].[OrganizationKey].[OrganizationKey].ALLMEMBERS *
[Organization].[Name].[Name].ALLMEMBERS *
[Organization].[Need Declaration10].[Need Declaration10].ALLMEMBERS *
[DeclType].[DeclarationNumber].[DeclarationNumber].ALLMEMBERS
)
}
ON ROWS
FROM
(
SELECT
DESCENDANTS([Organization].[OrganizationKey].CHILDREN) on COLUMNS
FROM
(
SELECT ([Organization].[Code].&[0105044397] ON COLUMNS
FROM [MyCube]
)
)
目前的结果是:
代码-名称-需要声明10-DeclType-DeclCount-SubCount
代码1-Organization1-0-1-NULL-NULL
代码1-组织1-1-2-1-2
代码1-组织1-1-3-2-2
预期结果是:
Code - Name - Sum(Need Declaration10) - SumDeclCount1 - SumSubCount1 - SumDeclCount2 - SumSubCount2 - SumDeclCount3 - SumSubCount3
Code1 - Organization1 - 2 - NULL - NULL - 1 - 2 - 2 -2
如何使用MDX实现这一点?谢谢你的帮助
编辑:
谢谢你,弗兰克,这几乎是我所需要的一切。
最后两件事是:
1.我有10个不同的[DeclType].[DeclarationNumber]。是否可以修改([DeclType].[DeclarationNumber].All,Measures.[Sum of Needs Declaration10])来计算每一项的总和?
2.我需要用这个查询填充SSRS报告。是否可以从此查询中获取展开的数据集?理想的解决方案将设置为
(OrganizationKey、OrganizationName、DeclCount\u X、SubCount\u X、SumOfNeed\u X)
其中X=1..10正如我在评论中所述,这比应该的困难,因为
[DeclarationNumber]
是一个属性/层次结构,而不是度量。假设[DeclarationNumber]
只包含整数值,我希望下面的解决方法能够奏效。然而,它们必须从字符串转换为数字类型,以便能够像度量值一样使用它们
简单的部分是将[DeclType].[DeclarationNumber]
移动到列中
WITH MEMBER Measures.[Declaration10 numeric] as
CInt([Organization].[Need Declaration10].CurrentMember.Name)
MEMBER Measures.[Sum of Need Declaration10] as
Sum(EXISTING [Organization].[Need Declaration10].[Need Declaration10].Members,
Measures.[Declaration10 numeric]
)
SELECT { (
[DeclType].[DeclarationNumber].All,
Measures.[Sum of Need Declaration10]
) }
+
(
[DeclType].[DeclarationNumber].[DeclarationNumber].Members
*
{[Measures].[DeclCount], [Measures].[SubCount]}
)
ON COLUMNS,
[Organization].[OrganizationKey].[OrganizationKey].ALLMEMBERS
*
[Organization].[Name].[Name].ALLMEMBERS
ON ROWS
FROM
(
SELECT
DESCENDANTS([Organization].[OrganizationKey].CHILDREN) on COLUMNS
FROM
(
SELECT ([Organization].[Code].&[0105044397] ON COLUMNS
FROM [MyCube]
)
)
由于我无法访问您的多维数据集,可能需要进行一些调整,无论是语法还是语句的某些逻辑。正如我在评论中所述,这比应该的困难,因为
[DeclarationNumber]
是一个属性/层次结构,而不是一个度量。假设[DeclarationNumber]
只包含整数值,我希望下面的解决方法能够奏效。然而,它们必须从字符串转换为数字类型,以便能够像度量值一样使用它们
简单的部分是将[DeclType].[DeclarationNumber]
移动到列中
WITH MEMBER Measures.[Declaration10 numeric] as
CInt([Organization].[Need Declaration10].CurrentMember.Name)
MEMBER Measures.[Sum of Need Declaration10] as
Sum(EXISTING [Organization].[Need Declaration10].[Need Declaration10].Members,
Measures.[Declaration10 numeric]
)
SELECT { (
[DeclType].[DeclarationNumber].All,
Measures.[Sum of Need Declaration10]
) }
+
(
[DeclType].[DeclarationNumber].[DeclarationNumber].Members
*
{[Measures].[DeclCount], [Measures].[SubCount]}
)
ON COLUMNS,
[Organization].[OrganizationKey].[OrganizationKey].ALLMEMBERS
*
[Organization].[Name].[Name].ALLMEMBERS
ON ROWS
FROM
(
SELECT
DESCENDANTS([Organization].[OrganizationKey].CHILDREN) on COLUMNS
FROM
(
SELECT ([Organization].[Code].&[0105044397] ON COLUMNS
FROM [MyCube]
)
)
由于我无法访问您的多维数据集,因此可能需要对语句的语法或某些逻辑进行一些调整。您要求和的内容应该是度量值。我认为你应该先学习三维建模。然后,如果数据模型是正确的,MDX可能会非常简单。不幸的是,我无法更改模型。您想要求和的东西应该是度量。我认为你应该先学习三维建模。然后,如果数据模型是正确的,MDX可能会非常简单。不幸的是,我无法更改模型。谢谢,这几乎是我所需要的一切。最后两件事是:1。我有10个不同的[DeclType].[DeclarationNumber]。是否可以修改([DeclType].[DeclarationNumber].All,Measures.[Sum of Needs Declaration10])来计算每一项的总和?2.我需要用这个查询填充SSRS报告。是否可以从此查询中获取展开的数据集?理想的解算将设置为(OrganizationKey、OrganizationName、DeclCount_X、SubCount_X、SumOfNeed_X),其中X=1..10。要展平结果,需要为声明编号和原始度量值的每个组合定义一个新的度量值成员。使用元组语法,e。g<代码>([DeclType].[DeclarationNumber].[typename1],[Measures].[DeclCount])。然后你会在你的专栏列表中列出所有这些措施。谢谢你,弗兰克,这正是我需要的。谢谢,这几乎是我需要的一切。最后两件事是:1。我有10个不同的[DeclType].[DeclarationNumber]。是否可以修改([DeclType].[DeclarationNumber].All,Measures.[Sum of Needs Declaration10])来计算每一项的总和?2.我需要用这个查询填充SSRS报告。是否可以从此查询中获取展开的数据集?理想的解算将设置为(OrganizationKey、OrganizationName、DeclCount_X、SubCount_X、SumOfNeed_X),其中X=1..10。要展平结果,需要为声明编号和原始度量值的每个组合定义一个新的度量值成员。使用元组语法,e。g<代码>([DeclType].[DeclarationNumber].[typename1],[Measures].[DeclCount])。然后你会在你的专栏列表中列出所有这些措施。谢谢你,弗兰克,这正是我需要的