MDX 如何获得子组的总和?
MDX how to get total sum for sub groups?
我有如下 MDX 查询:
SELECT
NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY { ([Customer].[City].[City] * [Customer].[Gender].[Gender] ) } ON ROWS
FROM [Analysis Services Tutorial]
如您所知,此 MDX 查询得到以下 table 结果:
|---------------------|-----------|---------------|
| City | Gender | Sales Amount |
|---------------------|-----------|---------------|
| Ballard | F | 300 |
|---------------------|-----------|---------------|
| Ballard | M | 500 |
|---------------------|-----------|---------------|
| Berkeley | F | 200 |
|---------------------|-----------|---------------|
| Berkeley | M | 100 |
|---------------------|-----------|---------------|
.
.
.
但我需要 table 这样的小计:
|---------------------|-----------|---------------|
| 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 成员。如果那不是 return 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]
您可以添加 ALL 成员:
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]
我有如下 MDX 查询:
SELECT
NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY { ([Customer].[City].[City] * [Customer].[Gender].[Gender] ) } ON ROWS
FROM [Analysis Services Tutorial]
如您所知,此 MDX 查询得到以下 table 结果:
|---------------------|-----------|---------------|
| City | Gender | Sales Amount |
|---------------------|-----------|---------------|
| Ballard | F | 300 |
|---------------------|-----------|---------------|
| Ballard | M | 500 |
|---------------------|-----------|---------------|
| Berkeley | F | 200 |
|---------------------|-----------|---------------|
| Berkeley | M | 100 |
|---------------------|-----------|---------------|
.
.
.
但我需要 table 这样的小计:
|---------------------|-----------|---------------|
| 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 成员。如果那不是 return 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]
您可以添加 ALL 成员:
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]