MDX-выражение в Excel Power pivot с использованием оператора = - PullRequest
0 голосов
/ 23 ноября 2018

Я новичок в MDX, пытаюсь создать отчет в Excel (Power Pivot OLAP) с использованием кубовой табличной модели.

Мне нужно преобразовать выражение ниже DAX в выражение MDX,

DAX Experssion

  CALCULATE(
   sum('Finance GL'[Value in Origin Currency]),
       'Measure Name'[Measure Name] = "GSR", 
        filter('Customer',Customer[Customer PLTO Level 4 Name]="P3-TH KEY 
         ACCOUNTS"  ||
            Customer[Customer PLTO Code]="339883" ||
            Customer[Customer PLTO Code]="339801" ||
            Customer[Customer PLTO Code]="339879" || 
            Customer[Customer PLTO Code]="339899" ||
            Customer[Customer PLTO Code]="339830" ||
            Customer[Customer PLTO Code]="339878" || 
            Customer[Customer PLTO Code]="339928" || 
            Customer[Customer PLTO Code]="339929" ))

Для MDX эквивалентные размеры и атрибуты для использования из куба следующие:

    [Measure Name].[Measure Name]=[Measure Name].[Measure Name].&[GSR],

    [Customer].[Customer PLTO Level 4 Name]=[Customer].[Customer PLTO Level 
           4 Name].&[P3-TH KEY ACCOUNTS]

    [Customer].[Customer PLTO Code].

    [Customer].[Customer PLTO Code].&[339883], 
    [Customer].[Customer PLTO Code].&[339801],
    [Customer].[Customer PLTO Code].&[339879],
    [Customer].[Customer PLTO Code].&[339899],
    [Customer].[Customer PLTO Code].&[339830],
    [Customer].[Customer PLTO Code].&[339878],
    [Customer].[Customer PLTO Code].&[339928],
    [Customer].[Customer PLTO Code].&[339929]
    I have tried to use OR operator in MDX 

Мой подход в MDX:

     sum(
      {
        (  
         [Measure Name].[Measure Name].&[GSR],
         [Customer].[Customer PLTO Level 4 Name].&[P3-TH KEY ACCOUNTS],
         strtomember("[Customer].[Customer PLTO Code].&[339883]") or 
         strtomember("[Customer].[Customer PLTO Code].&[339899]")


       )
      },
      [Measures].[Total Value in Origin Currency]
   )

, но он выбрасывает бесконечнорекурсия обнаружена как сообщение об ошибке

Пожалуйста, сообщите мне, любая помощь очень ценится.

Спасибо,

С уважением, Kedarnath

1 Ответ

0 голосов
/ 25 ноября 2018

Если мое понимание верно, вам нужна сумма «[Показатели]. [Общая стоимость в валюте происхождения]», когда 1) [Имя показателя]. [Имя показателя]. & [GSR] и [Клиент]. [Клиент]Имя PLTO уровня 4]. & [КЛЮЧЕВЫЕ СЧЕТА P3-TH] и любой код PLTO клиента 2) [Имя меры]. [Имя меры]. & [GSR] и код PLTO клиента указаны в списке и любой уровень PLTO клиента4 Название.В MDX это будет преобразовано в два набора набора.И оба кортежа должны иметь членов из одного и того же атрибута.

Исходя из этого, запрос должен выглядеть следующим образом

Sum(
{
([Measure Name].[Measure Name].&[GSR],
[Customer].[Customer PLTO Level 4 Name].&[P3-TH KEY ACCOUNTS],
[Customer].[Customer PLTO Code].[All]),

([Measure Name].[Measure Name].&[GSR],
[Customer].[Customer PLTO Level 4 Name].[All],
{[Customer].[Customer PLTO Code].&[339883],
[Customer].[Customer PLTO Code].&[339801],
[Customer].[Customer PLTO Code].&[339879],
[Customer].[Customer PLTO Code].&[339899],
[Customer].[Customer PLTO Code].&[339830],
[Customer].[Customer PLTO Code].&[339878],
[Customer].[Customer PLTO Code].&[339928],
[Customer].[Customer PLTO Code].&[339929]}
)
},
[Measures].[Total Value in Origin Currency]
)
...