Ssas MDX如何获得子组的总和?
我有如下MDX查询:Ssas MDX如何获得子组的总和?,ssas,mdx,Ssas,Mdx,我有如下MDX查询: SELECT NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS, NON EMPTY { ([Customer].[City].[City] * [Customer].[Gender].[Gender] ) } ON ROWS FROM [Analysis Services Tutorial] 如您所知,此MDX查询将获得下表结果: |---------------------|-----------|---------
SELECT
NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY { ([Customer].[City].[City] * [Customer].[Gender].[Gender] ) } ON ROWS
FROM [Analysis Services Tutorial]
如您所知,此MDX查询将获得下表结果:
|---------------------|-----------|---------------|
| City | Gender | Sales Amount |
|---------------------|-----------|---------------|
| Ballard | F | 300 |
|---------------------|-----------|---------------|
| Ballard | M | 500 |
|---------------------|-----------|---------------|
| Berkeley | F | 200 |
|---------------------|-----------|---------------|
| Berkeley | M | 100 |
|---------------------|-----------|---------------|
.
.
.
但我需要表中的小计如下:
|---------------------|-----------|---------------|
| City | Gender | Sales Amount |
|---------------------|-----------|---------------|
| Ballard | F | 300 |
|---------------------|-----------|---------------|
| Ballard | M | 500 |
|---------------------|-----------|---------------|
| Ballard | All | 800 |
|---------------------|-----------|---------------|
| Berkeley | F | 200 |
|---------------------|-----------|---------------|
| Berkeley | M | 100 |
|---------------------|-----------|---------------|
| Berkeley | All | 300 |
|---------------------|-----------|---------------|
.
.
.
在MDX中有这样做的建议吗?任何帮助都将不胜感激。谢谢你能试试这个查询吗
SELECT
NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY { ([Customer].[City].[City] * [Customer].[Gender].allmembers ) } ON ROWS
FROM [Analysis Services Tutorial]
通常需要使用allmembers才能显示All成员。如果它没有返回所有成员,那么您需要这样计算它
WITH Member [Customer].[Gender].[All Genders] AS [Customer].[Gender].&[M] +
[Customer].[Gender].&[F]
SELECT
NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY { ([Customer].[City].[City] * [Customer].[Gender].allmembers ) } ON ROWS
FROM [Analysis Services Tutorial]
您可以添加“所有成员”:
SELECT
NON EMPTY [Measures].[Sales Amount] ON COLUMNS,
NON EMPTY [Customer].[City].[City].Members * {[Customer].[Gender].[Gender].Members + [Customer].[Gender].[All]} ON ROWS
FROM [Analysis Services Tutorial]
或性别阶层的所有成员:
SELECT
NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY [Customer].[City].[City].Members * [Customer].[Gender].Members ON ROWS
FROM [Analysis Services Tutorial]
第一个选项应该是一个非常可选的选项。。。你的第二个脚本就是答案。如果性别层次是多层次的,那么可能会被误用。