0

一緒に結合したい2つのクエリがあります。これにより、行の計算された合計が得られます。私が抱えている問題は、メジャーが1つのファクトテーブルからのものであるにもかかわらず、分隊名が2つのロールプレイング次元にあることです。私はMDXに非常に慣れていません。

結果は次のようになります

 | Competition    | Squad   | Goals A | Goals B | Total (Goals A + Goals B)|
 |----------------|---------|---------|---------|--------------------------|
 | Premier League | Arsenal | 25      | 15      | 40                       |

前もって感謝します。

クエリ1:

SELECT 
([Measures].[Goals A]) ON COLUMNS,
NON EMPTY ([Dim Competition].[Hierarchy].[Competition ID],[Squad A].[Squad Name].ALLMEMBERS) ON ROWS
FROM 
[FDC Star]
WHERE [Dim Competition].[Competition ID].&[1];

Query1の結果:

Competition     Squad                 Goals A
Premier League  Arsenal                 25
Premier League  Aston Villa              8
Premier League  Chelsea                 22
Premier League  Everton                 17
Premier League  Fulham                  17
Premier League  Liverpool               17
Premier League  Manchester City         25
Premier League  Manchester United       28
Premier League  Newcastle United        13
Premier League  Norwich City            13
Premier League  Queens Park Rangers      8
Premier League  Reading                 15
Premier League  Southampton             15
Premier League  Stoke City              14
Premier League  Sunderland              11
Premier League  Swansea City            19
Premier League  Tottenham Hotspur       17
Premier League  West Bromwich Albion    17
Premier League  West Ham United         19

クエリ2:

SELECT 
([Measures].[Goals B]) ON COLUMNS,
NON EMPTY ([Dim Competition].[Hierarchy].[Competition ID],[Squad B].[Squad Name].ALLMEMBERS) ON ROWS
FROM 
[FDC Star]
WHERE [Dim Competition].[Competition ID].&[1];

Query2の結果:

Competition     Squad                 Goals B
Premier League  Arsenal                 15
Premier League  Aston Villa              9
Premier League  Chelsea                 17
Premier League  Everton                 18
Premier League  Fulham                  15
Premier League  Liverpool               17
Premier League  Manchester City         16
Premier League  Manchester United       26
Premier League  Newcastle United        14
Premier League  Norwich City            11
Premier League  Queens Park Rangers      9
Premier League  Reading                  8
Premier League  Southampton             12
Premier League  Stoke City               7
Premier League  Sunderland              10
Premier League  Swansea City            12
Premier League  Tottenham Hotspur       22
Premier League  West Bromwich Albion    12
Premier League  West Ham United         5
4

2 に答える 2

0

あなたはこのようなことを試すことができます:

WITH MEMBER [Measures].[Goals B Linked]
AS (LinkMember([Squad A].[Squad Name].CurrentMember, [Squad B].[Squad Name]), [Measures].[Goals B]),
MEMBER [Measures].[Total]
AS [Measures].[Goals A] + [Measures].[Goals B Linked]

SELECT 
{[Measures].[Goals A], [Measures].[Goals B Linked], [Measures].[Total]}  ON COLUMNS,
NON EMPTY ([Dim Competition].[Hierarchy].[Competition ID],[Squad A].[Squad Name].ALLMEMBERS) ON ROWS
FROM 
[FDC Star]
WHERE [Dim Competition].[Competition ID].&[1];
于 2013-01-11T21:56:22.567 に答える
0

解決策を考え出すために何時間も費やした後、私はついに私の質問を解決しました。

ありがとう

    WITH  
    MEMBER [Measures].[GFA] AS 
    (
    ([Measures].[Goals A]),
    linkmember([Dim Squad].[Squad Name],[Squad A].[Squad Name]),
    root([Squad Name])
    )
    MEMBER [Measures].[GFB] AS 
    (
    ([Measures].[Goals B]),
    linkmember([Dim Squad].[Squad Name],[Squad B].[Squad Name]),
    root([Squad Name])
    )
    MEMBER [MEASURES].[GF] AS
    (
        [Measures].[GFA] + [Measures].[GFB]
    )
    select 
    {[Measures].[GFA],[Measures].[GFB],[MEASURES].[GF]} on 0,
    non empty [Dim Squad].[Squad Name].allmembers on 1
    from [FDC Star]
    where [Dim Competition].[Competition ID].&[1]
于 2013-01-12T10:38:25.877 に答える