MDX объединяет два запроса - PullRequest
       68

MDX объединяет два запроса

0 голосов
/ 10 февраля 2020

Мне нужно два запроса на соединение, я пробовал с участниками, но это не сработало. Я новичок в MDX, пожалуйста, дайте мне знать, если есть способ сделать это. Ошибка из-за списка в вычисляемом элементе.

SELECT NON EMPTY { [RR TYPE].[Item].[Item].ALLMEMBERS * [Measures].[Unit Value] } ON COLUMNS, 
        NON EMPTY { ([FFS].[FFSCD].[FFSCD].ALLMEMBERS) } ON ROWS 
FROM  [GLCube] 
WHERE ( [Location].[Site Name].&[Sandbox]
        , [LT DT].[DATE HIERARCHY].[YEAR].&[2010]
        ,-{ [Ledger].[ID].&[A1],[Ledger].[ID].&[A2] ,[Ledger].[ID].&[A3]} ) 

enter image description here

SELECT NON EMPTY {  [RT TYPE].[Item].[Item].ALLMEMBERS * [Measures].[Price Value] } ON COLUMNS, 
    NON EMPTY { ([FFS].[FFSCD].[FFSCD].ALLMEMBERS) } ON ROWS 
FROM (SELECT [CCTYPE].[Desc].&[FCD] ON COLUMNS 
        FROM [GLCube])
WHERE ( [Location].[Site Name].&[Sandbox]
        , [LT DT].[DATE HIERARCHY].[YEAR].&[2010])

enter image description here

Combined query

WITH MEMBER [Measures].[Unit Value]] AS
    (-{[Ledger].[ID].&[A1],[Ledger].[ID].&[A2] ,[Ledger].[ID].&[A3]},[Measures].[Unit Value])
MEMBER [Measures].[Price Value] AS
    ( [CCTYPE].[Desc].&[FCD],[Measures].[Price Value] )
SELECT NON EMPTY {[Measures].[Unit Value],[Measures].[Price Value]} ON COLUMNS,
    NON EMPTY { ([FFS].[FFSCD].[FFSCD].ALLMEMBERS} ON ROWS 
FROM  [GLCube] 
WHERE ( [Location].[Site Name].&[Sandbox]
        , [LT DT].[DATE HIERARCHY].[YEAR].&[2010])

enter image description here

Expected Output

enter image description here

1 Ответ

1 голос
/ 11 февраля 2020
WITH
MEMBER [Measures].[Filtered Unit Value] as 
 Aggregate(
  -{ [Ledger].[ID].&[A1],[Ledger].[ID].&[A2] ,[Ledger].[ID].&[A3]},
      [Measures].[Unit Value]
 )
SELECT NON EMPTY 
{ 
[RR TYPE].[Item].[Item].ALLMEMBERS 
* {[RT TYPE].[Item].[All]}
* { [CCTYPE].[Desc].[All]}
* [Measures].[Filtered Unit Value] 
} 
+
{ 
{[RR TYPE].[Item].[All]} 
* [RT TYPE].[Item].[Item].ALLMEMBERS 
* { [CCTYPE].[Desc].&[FCD]}
* [Measures].[Price Value] 
}

ON COLUMNS, 
        NON EMPTY { ([FFS].[FFSCD].[FFSCD].ALLMEMBERS) } ON ROWS 
FROM  [GLCube] 
WHERE ( [Location].[Site Name].&[Sandbox]
        , [LT DT].[DATE HIERARCHY].[YEAR].&[2010]
 ) 



...