MDX 组合查询
MDX Combining Queries
我是 MDX 的新手,我正在尝试将 2 个单独的查询组合成以下格式:
|产品名称|数量Madison_Chicago|数量Chicago_Madison|
我有两个单独的查询,它们为下面列出的数量创建了每个条件:
------Query #1------
WITH
MEMBER measures.Quantity_Madison_Chicago as 'COALESCEEMPTY( [Measures].
[Quantity - Tb Transactions], 0)'
SELECT {
measures.Quantity_Madison_Chicago
} ON COLUMNS,
{(
[Tb Product].[Name].[Name].ALLMEMBERS
)} ON ROWS
FROM (
SELECT ({
[Tb Consumer].[City].&[Chicago]
}) ON COLUMNS
FROM (
SELECT ({
[Tb Supplier].[City].&[Madison]
}) ON COLUMNS
FROM [DS715]))
------Query #2------
WITH
MEMBER measures.Quantity_Chicago_Madison as 'COALESCEEMPTY( [Measures].
[Quantity - Tb Transactions], 0)'
SELECT {
measures.Quantity_Chicago_Madison
} ON COLUMNS,
{(
[Tb Product].[Name].[Name].ALLMEMBERS
)} ON ROWS
FROM (
SELECT ({
[Tb Consumer].[City].&[Madison]
}) ON COLUMNS
FROM (
SELECT ({
[Tb Supplier].[City].&[Chicago]
}) ON COLUMNS
FROM [DS715]))
非常感谢任何帮助。
谢谢。
您可以使用两个计算成员来完成:
WITH
MEMBER measures.Quantity_Madison_Chicago
CASE WHEN
[Tb Consumer].[City].currentMember=[Tb Consumer].[City].&[Chicago]
AND
[Tb Supplier].[City].currentMember=[Tb Supplier].[City].&[Madison]
THEN COALESCEEMPTY( [Measures].
[Quantity - Tb Transactions], 0)
ELSE 0
END
MEMBER measures.Quantity_Chicago_Madison AS
CASE WHEN
[Tb Consumer].[City].currentMember=[Tb Consumer].[City].&[Madison]
AND
[Tb Supplier].[City].currentMember=[Tb Supplier].[City].&[Chicago]
THEN COALESCEEMPTY( [Measures].
[Quantity - Tb Transactions], 0)
ELSE 0
END
SELECT {
measures.Quantity_Chicago_Madison , measures.Quantity_Madison_Chicago
} ON COLUMNS,
{ [Tb Product].[Name].[Name].ALLMEMBERS } ON ROWS
FROM [DS715]
我认为您不需要在 select 的 supplier/consumer 城市切立方体才能工作,但我目前没有 SSAS 可以尝试。如果它不能像那样工作,请像您使用 2 个计算成员所做的那样执行 select,并在消费者和供应商维度中添加两个城市 subselects
我是 MDX 的新手,我正在尝试将 2 个单独的查询组合成以下格式:
|产品名称|数量Madison_Chicago|数量Chicago_Madison|
我有两个单独的查询,它们为下面列出的数量创建了每个条件:
------Query #1------
WITH
MEMBER measures.Quantity_Madison_Chicago as 'COALESCEEMPTY( [Measures].
[Quantity - Tb Transactions], 0)'
SELECT {
measures.Quantity_Madison_Chicago
} ON COLUMNS,
{(
[Tb Product].[Name].[Name].ALLMEMBERS
)} ON ROWS
FROM (
SELECT ({
[Tb Consumer].[City].&[Chicago]
}) ON COLUMNS
FROM (
SELECT ({
[Tb Supplier].[City].&[Madison]
}) ON COLUMNS
FROM [DS715]))
------Query #2------
WITH
MEMBER measures.Quantity_Chicago_Madison as 'COALESCEEMPTY( [Measures].
[Quantity - Tb Transactions], 0)'
SELECT {
measures.Quantity_Chicago_Madison
} ON COLUMNS,
{(
[Tb Product].[Name].[Name].ALLMEMBERS
)} ON ROWS
FROM (
SELECT ({
[Tb Consumer].[City].&[Madison]
}) ON COLUMNS
FROM (
SELECT ({
[Tb Supplier].[City].&[Chicago]
}) ON COLUMNS
FROM [DS715]))
非常感谢任何帮助。
谢谢。
您可以使用两个计算成员来完成:
WITH
MEMBER measures.Quantity_Madison_Chicago
CASE WHEN
[Tb Consumer].[City].currentMember=[Tb Consumer].[City].&[Chicago]
AND
[Tb Supplier].[City].currentMember=[Tb Supplier].[City].&[Madison]
THEN COALESCEEMPTY( [Measures].
[Quantity - Tb Transactions], 0)
ELSE 0
END
MEMBER measures.Quantity_Chicago_Madison AS
CASE WHEN
[Tb Consumer].[City].currentMember=[Tb Consumer].[City].&[Madison]
AND
[Tb Supplier].[City].currentMember=[Tb Supplier].[City].&[Chicago]
THEN COALESCEEMPTY( [Measures].
[Quantity - Tb Transactions], 0)
ELSE 0
END
SELECT {
measures.Quantity_Chicago_Madison , measures.Quantity_Madison_Chicago
} ON COLUMNS,
{ [Tb Product].[Name].[Name].ALLMEMBERS } ON ROWS
FROM [DS715]
我认为您不需要在 select 的 supplier/consumer 城市切立方体才能工作,但我目前没有 SSAS 可以尝试。如果它不能像那样工作,请像您使用 2 个计算成员所做的那样执行 select,并在消费者和供应商维度中添加两个城市 subselects