Добрый день!
Можно ли рассчитать количество уникальных идентификаторов на трех уровнях иерархии, при том что возможно вхождение в разные классы на каждом уровне?
Пример иерархии: медорганизация - район - город, требуется вычислить количество уникальных врачей.
Врачи, естественно, могут работать в разных МО из различных районов.
пост 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 не содержит лишние записи?
Спасибо. Попробую.