SSAS: получить отчетливый счетчик на основе двух разных элементов - PullRequest
0 голосов
/ 12 ноября 2018

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

Один из них называется [Студенческая исследовательская степень]. [Текущий исследовательский уровень]. & [Да] Другой называется [Студенческая исследовательская степень]. [Закончен ли исследовательская степень]. & [Да]

Если один или другой ответ Да или оба, тогда мне нужно посчитать запись. Если оба нет, я могу исключить это. У меня есть мера счетчика строк, которая называется [Меры]. [Идентификационный номер скрытого студента скрыт] уже на месте.

Если я использую только один элемент с мерой, я получаю правильный ответ, но если я пытаюсь перекрестно соединить другие элементы, я получаю результат NULL.

например

AGGREGATE(CROSSJOIN(
    [Student Research Degree].[Is Research Degree Current].&[Yes] 
        ,[Student Research Degree].[Is Research Degree Complete].&[Yes]
), [Measures].[Student ID Distinct Count Hidden])

Мне известно, что я могу просто добавить дополнительное значение в ETL и заставить SQL работать, и в конце концов это может быть решением. Есть ли способ сделать оператор OR для такого рода вещей?

1 Ответ

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

Нет, кортеж & [YES], & [YES] не создает ситуацию «ИЛИ», где я хочу получить [НЕТ], когда другой - «да».

Я начал смотреть на вычитающий подход, где я начал с набора ВСЕ, убрал различное количество недопустимых комбинаций в кортеже и вычел это из общей суммы. Этот подход работал, но только потому, что данные позволили это сделать. Если бы человек мог быть в нескольких комбинациях, это не сработало бы.

В настоящее время я тестирую этот подход с остальной частью куба. По всей видимости, это работает отлично, но я пойду с ETL, если будут обнаружены какие-либо ошибки или несоответствия.

...