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