MDX - общий итог отсутствует при фильтрации - PullRequest
1 голос
/ 27 января 2020

Я работаю над ExcelDNA C# xll, который позволяет пользователям вводить простые слова (под руководством), и я создаю сложный MDX, чтобы они могли выполнять запросы к удаленному кубу ActivePivot.

Во время тестирования Я заметил, что при фильтрации общий итог исчезает (возможно, он объединяет кортежи). Как я могу получить итоговую сумму? Нужно ли использовать SCOPE или создать вычисляемый член?

Благодаря более продвинутым людям в MDX:

SELECT 
  NON EMPTY 
    {
      [Measures].[Notional.SUM]
     ,[Measures].[Notional.SHORT]
     ,[Measures].[Notional.LONG]
    } ON COLUMNS
 ,NON EMPTY 
    Hierarchize
    (
      Filter
      (
        (
          [CDR].[CDR].MEMBERS
         ,[Book].[Book].MEMBERS
        )
       ,
        Left([Book].[Book].CurrentMember.MemberValue,2) = "22"
      )
     ,POST
    ) ON ROWS
FROM [TraderCube]
WHERE 
  [Date].[Date].[2020-01-24];

1 Ответ

1 голос
/ 30 января 2020

С кубом AdvWrks похоже что-то похожее:

WITH 

  //>>inside the WITH clause we have moved the set
  SET [FilteredSet] AS 
    {
      Filter
      (
        [Reseller].[Reseller Type].[Business Type].MEMBERS
       ,
          Left([Reseller].[Reseller Type].CurrentMember.MemberValue,2) = "sp"
        OR 
          Left([Reseller].[Reseller Type].CurrentMember.MemberValue,2) = "VA"
      )
    } 

  //>>next we create a custom member that is the sum of the filtered set 
  MEMBER [Reseller].[Reseller Type].[All Visible Resellers] AS 
    Aggregate([FilteredSet]) 
SELECT 
  NON EMPTY 
    {[Measures].[Reseller Sales Amount]} ON COLUMNS
 ,NON EMPTY 

    //>> inside these curly brackets we declare a set that is the filtered set and the Total member
    { 
      [FilteredSet]
     ,[Reseller].[Reseller Type].[All Visible Resellers]
    } ON ROWS
FROM [Adventure Works]
WHERE 
  [Date].[Calendar].[Calendar Year].&[2013];

Ниже приведены следующие результаты:

enter image description here

...