SQL,MDX,将2个查询的结果合并为一个

时间:2018-07-16 18:14:52

标签: mdx

使用SQL Server 2014 SSAS。 我需要帮助,从下面的2个MDX查询创建一个查询。

我有2个查询:

SELECT NON EMPTY { [ItemType].[ItemType Key].&[Large Bag]}on columns,
    NON EMPTY { ([MainMarket].[MainMarket Key].&[BOSTON] ) } ON ROWS
    FROM [Cube1];

返回:

          Large Bag
BOSTON      24,911 

SELECT NON EMPTY {[ItemCategory].[ItemCategory Desc].&[Dress Item]} on columns,
    NON EMPTY { [MainMarket].[MainMarket Key].&[BOSTON]  ) } ON ROWS
    FROM [Cube1];

返回:

        Dress Item
BOSTON  519,699

我需要返回:

            Large Bag   Dress Item
BOSTON      24,911      519,699

感谢您的帮助。

注意

我需要一个查询,该查询将尺寸并排放置为列标题,行总和。

ItemType和ItemCategory是维度以及MainMarket。我希望将ItemType和ItemCategory作为列(彼此相邻,而不是一个在另一个之上),并将MainMarkets作为行。

在此示例中,我将所有ItemsTypes作为列标题获得,将状态作为行包含每个状态/ Item的每个相关总和。我可以运行相同的查询,将ItemType维度替换为ItemCategory维度,并获得相同的结果。

SELECT NON EMPTY {[ItemType].[ItemType Key].ALLMEMBERS} on columns,
    NON EMPTY {[MainMarket].[MainMarket Key].ALLMEMBERS} ON ROWS
    FROM [Cube1];

我需要的是一个查询,该查询将以列的形式并排返回两个Item尺寸;

         Type1   Type2  Type3   Category1   Category2   Category3
Albany    100     200    700        250       250         500
Boston    100     350    300        250       250         250
Chicago    10      20     80         50        50           0

1 个答案:

答案 0 :(得分:0)

仅看问题的第一部分,您可以使用逗号将给出的两个查询组合在一起,以列出第一组中的两个成员:

SELECT 
{[ItemType].[ItemType Key].&[Large Bag],[ItemCategory].[ItemCategory Desc].&[Dress Item]} ON COLUMNS,
{[MainMarket].[MainMarket Key].&[BOSTON]} ON ROWS
FROM [Cube1];

请注意,显示的数字将来自默认度量。您可以在查询结束时使用WHERE ([Measures].[NameOfMeasure])指定要查看的度量。