Как рассчитать на кубе меру с функцией агрегации count distinct?

Добрый день!
Можно ли рассчитать количество уникальных идентификаторов на трех уровнях иерархии, при том что возможно вхождение в разные классы на каждом уровне?
Пример иерархии: медорганизация - район - город, требуется вычислить количество уникальных врачей.
Врачи, естественно, могут работать в разных МО из различных районов.

пост https://help.luxmsbi.com/-1035/distinct#post-1
не помог.
Возможна ли такая агрегация в кубе, или все значения должны быть предрассчитаны?

Добрый день!

Могу предложить следующие два варианта для куба:

select gorod,
       count(distinct id_sotrudnika)
from schema.table
group by gorod
union all
select MO,
       count(distinct id_sotrudnika)
from schema.table
group by MO
union all
select raion,
       count(distinct id_sotrudnika)
from schema.table
group by raion

или

select 
       gorod,
       raion,
       MO,
       count(distinct id_sotrudnika)
from schema.table
group by
grouping sets (
        (gorod),
        (raion),
        (MO)
)

где schema.table - Ваша таблица, содержащая три уровня иерархии

Добрый день!
Я сделала второй вариант, но через group by cube. Потом пришлось отрезать лишнее)
Вариант с group by set не содержит лишние записи?
Спасибо. Попробую.