Расчетная мера SSAS MDX - СЧЕТ [ПУНКТЫ]. [Элемент] сгруппирован [Элементы]. [Группа элементов] - PullRequest
0 голосов
/ 19 января 2019

В Excel, подключенном к SSAS, я пытаюсь создать сводную таблицу и добавить пользовательский расчет показателей с помощью «инструментов OLAP» и / или «расширений сводной таблицы OLAP». Я пытаюсь добавить вычисления, которые на самом деле просты, но я не могу заставить их работать. Мне нужен калькулятор:

ЦЕЛЬ: количество записей записей измерений [Предметы], сгруппированных по любому из [Items] размерные поля.

В частности, я пытаюсь группировать по [Items].[Items Groups] и [Items].[Item]. Элемент - самая низкая зернистость, поэтому счетчик должен возвращать значение «1». Я создал несколько вычислений, которые в некотором роде в приблизительном (см. Ниже). Но кальки не работают должным образом.

Что я пробовал:

Попытка № 1 - [Measures].[Items Count (With net amount values)]

DISTINCTCOUNT( {[Items].[Item].MEMBERS} )

Расчет "Количество элементов (со значениями чистой суммы)" возвращая приличное значение счетчика, но, похоже, он считает только элемент если найдены транснациональные записи (не знаю почему). Кроме того, когда на самом низком уровне зерна вычисление возвращает это значение для родителя группа, а не уровень измерения, выбранный в строках.

Попытка № 2 - [Measures].[Items Count (All)]

[Items].[Item].[Item].Count

Этот калькулятор возвращает общее количество элементов для всего измерения независимо от уровня измерения, размещенного в строках.

Попытка № 3 - [Measures].[Items Count]

COUNT ( { [Items].[Item].MEMBERS}, EXCLUDEEMPTY)

Этот калькулятор зависает в Excel, и мне нужно выйти из Excel. Понятия не имею почему. Я видел этот ситнакс, рекомендованный на нескольких разных сайтах.

Скриншот:

Помогите пожалуйста? Это кажется очень простым, но я не очень разбираюсь в MDX. В DAX и SSAS TABULAR это было бы очень простым выражением. Но я изо всех сил пытаюсь посчитать строки с MDX в SSAS MD.

В группе «Внешняя покупная говядина» 18 сделок, но всего 41 товар. Я не знаю, как рассчитать значение «41».

SSAS Excel-CalcMeasure-CountRows.png

enter image description here

1 Ответ

0 голосов
/ 25 января 2019

Взгляните на следующие примеры на AdventureWorks.

with member [Measures].[CountTest]
as 
count(existing  [Product].[Subcategory].members - [Product].[Subcategory].[All])
select 
{
[Measures].[Internet Sales Amount],[Measures].[CountTest]
}
on columns,
{
([Product].[Category].[Category]
,[Product].[Subcategory].[Subcategory] -- comment this line for the second result
)
}
on rows 
from [Adventure Works]

enter image description here

Теперь прокомментируйте указанную строку для родительского представления.

enter image description here

...