Неаддитивный факт - PullRequest
       84

Неаддитивный факт

2 голосов
/ 21 декабря 2011

У меня есть таблица фактов с 10 измерениями. из 10 мер 9 агрегируются на уровне суммы. Но у меня есть цена за единицу, которая является неаддитивной факторной мерой. Когда я перехожу к свойству Агрегации и не делаю его, он не работает в SSAS и дает значения NULL в кубе. когда куб обработан. Так есть ли способ, где я могу иметь дело с моей неаддитивной мерой под названием Unit_Price.SO создал MDX. Я не знаю, правильно ли это делать, или нет. Вот мой MDX. Пожалуйста, предложите метод, чтобы сделать выше.

with member [Measures].[Non Additive Unit Sales] as
  case when [Time].Level is [Time].[Month]
     and [Gender].Level is [Gender].[Gender]
     and [Customers].Level is [Customers].[Name]
     and [Product].Level is [Product].[Product Name]
  then [Measures].[Unit Sales]
  else null
  endselect
   {[Measures].[Unit Sales],
     [Measures].[Non Additive Unit Sales],
     [Measures].[Semi Additive Unit Sales]}
   * [Gender].Members ON COLUMNS,
  [Time].Members ON ROWS
from [Sales]

1 Ответ

2 голосов
/ 21 декабря 2011

Это не правильный метод. Если для показателя задано значение «Не агрегировать», оно не будет отображаться ни на одном кардинальном числе, где его необходимо будет агрегировать.

По сути, стоимость единицы товара является атрибутом вашего Продукта, а не мерой как таковой. Есть несколько способов справиться с этим:

  • Установите его как свойство элемента продукта. Вы можете запросить это через MDX, и некоторые инструменты запроса (например, ProClarity) покажут свойства элемента в виде всплывающей подсказки.

  • Составьте еще одну таблицу фактов со стоимостью единицы. Имейте одну строку на продукт, и не связывайте группу мер ни с одним измерением, кроме продукта. Вы можете установить для этого параметра «Не объединять», и показатель будет пустым, если вы не детализированы до продукта.

...