Итоговый столбец MDX-запрос

Я новичок в MDX, и у меня есть небольшая проблема, надеюсь, они смогут мне помочь.

У меня есть аналитическая диаграмма со следующим запросом:

WITH 
  MEMBER [Articulo].[Art_Linea].[ Aggregation] AS 
    Aggregate({[Articulo].[Art_Linea].&[3M],[Articulo].[Art_Linea].&[Bendix]}) 
   ,SOLVE_ORDER = 0 
SELECT 
    Hierarchize
    (
      {
        [Almacen].[Alm_Nombre].&[MATRIZ]
       ,[Almacen].[Alm_Nombre].&[TOLUCA]
      }
    )
  * 
    {
      [Measures].[Val]
     ,[Measures].[Disponible]
    } ON COLUMNS
 ,Hierarchize
  (
    {
      [Articulo].[LCD].[Art_Linea].&[3M]
     ,[Articulo].[LCD].[Art_Linea].&[Bendix]
    }
  ) ON ROWS
FROM [Inventario]
WHERE 
  [Articulo].[Art_Linea].[ Aggregation]
CELL PROPERTIES 
  VALUE
 ,FORMATTED_VALUE
 ,CELL_ORDINAL
 ,FONT_FLAGS
 ,FORE_COLOR
 ,BACK_COLOR;

Что возвращает следующую сетку:

Аналитическая диаграмма

Я хотел бы добавить столбец «Итоги» с суммой показателей «Val» и «Disponible» столбцов «MATRIZ» и «TOLUCA» для каждого «Articulo LCD».

Не могли бы вы подсказать мне, как это сделать? Я не уверен, как реализовать функцию "Сумма".

Заранее большое спасибо.

Привет!


person Francisco Alcibar    schedule 25.07.2017    source источник


Ответы (1)


Может быть, попробуйте это:

WITH 
  MEMBER [Articulo].[Art_Linea].[ Aggregation] AS 
    Aggregate({[Articulo].[Art_Linea].&[3M],[Articulo].[Art_Linea].&[Bendix]}) 
   ,SOLVE_ORDER = 0 
  MEMBER [Articulo].[LCD].[All].[3M+Bendix] AS //<<you might need to play around here - maybe this is correct name?: [Articulo].[LCD].[All].[Art_Linea].[3M+Bendix]
    Sum
    (
      {
        [Articulo].[LCD].[Art_Linea].&[3M]
       ,[Articulo].[LCD].[Art_Linea].&[Bendix]
      }
    ) 
SELECT 
    Hierarchize
    (
      {
        [Almacen].[Alm_Nombre].&[MATRIZ]
       ,[Almacen].[Alm_Nombre].&[TOLUCA]
      }
    )
  * 
    {
      [Measures].[Val]
     ,[Measures].[Disponible]
    } ON COLUMNS
 ,Hierarchize
  (
    {
      [Articulo].[LCD].[Art_Linea].&[3M]
     ,[Articulo].[LCD].[Art_Linea].&[Bendix]
     ,[Articulo].[LCD].[All].[3M+Bendix]  //<<you might need to play around here - maybe this is correct name?: [Articulo].[LCD].[All].[Art_Linea].[3M+Bendix]
    }
  ) ON ROWS
FROM [Inventario]
WHERE 
  [Articulo].[Art_Linea].[ Aggregation];

Хотя я немного не уверен в назначении члена агрегации - так что, может быть, просто следующее?

WITH 
  MEMBER [Articulo].[LCD].[All].[3M+Bendix] AS //<<you might need to play around here - maybe this is correct name?: [Articulo].[LCD].[All].[Art_Linea].[3M+Bendix]
    Sum
    (
      {
        [Articulo].[LCD].[Art_Linea].&[3M]
       ,[Articulo].[LCD].[Art_Linea].&[Bendix]
      }
    ) 
SELECT 
    Hierarchize
    (
      {
        [Almacen].[Alm_Nombre].&[MATRIZ]
       ,[Almacen].[Alm_Nombre].&[TOLUCA]
      }
    )
  * 
    {
      [Measures].[Val]
     ,[Measures].[Disponible]
    } ON COLUMNS
 ,Hierarchize
  (
    {
      [Articulo].[LCD].[Art_Linea].&[3M]
     ,[Articulo].[LCD].[Art_Linea].&[Bendix]
     ,[Articulo].[LCD].[All].[3M+Bendix]  //<<you might need to play around here - maybe this is correct name?: [Articulo].[LCD].[All].[Art_Linea].[3M+Bendix]
    }
  ) ON ROWS
FROM [Inventario];
person whytheq    schedule 26.07.2017
comment
Спасибо за две вещи: за отступ моего кода и демонстрацию большей ясности в языке MDX, а также за демонстрацию того, как я могу использовать функцию СУММ. Что я хочу сделать, так это сумму мер Val и Disponible всех столбцов для каждой из строк, что-то вроде этого: i.imgur.com/7vR06rC.png Как мне это сделать? Спасибо за любые предложения! С Уважением! - person Francisco Alcibar; 27.07.2017
comment
И действительно, в моем коде остался член Aggregation! Спасибо! - person Francisco Alcibar; 27.07.2017