Я создал куб в Apache Kylin (1.5.3) с двумя таблицами, которые выглядят так:
Facttable || Dimensiontable
id_a | id_b || id | pos
------------------------------
01 | 011 || 011 | 1
01 | 011 || 012 | 1
01 | 011 || 013 | 0
01 | 012 || 021 | 1
01 | 013 || 022 | 0
02 | 021 || 023 | 0
02 | 022 || 031 | 1
02 | 023 || 032 | 0
03 | 031 || 033 | 0
03 | 032 || 034 | 1
03 | 033 || 035 | 1
03 | 034 ||
03 | 034 ||
03 | 034 ||
03 | 035 ||
03 | 035 ||
Таблицы объединены по facttable.id_b = dimensiontable.id. В «конструкторе кубов - дополнительные настройки» я создал одну группу агрегации с id_a, id_b и pos в «включает».
Теперь я хочу знать каждый id_a, где 'pos = 1' более одного раза связан с.
Итак, в случае с таблицами выше:
id_a | count
------------
01 | 2
03 | 3
На вкладке "Insight" я попробовал запрос
select ft.id_a, count(ft.id_a)
from(
select id_a, id_b
from facttable
group by id_b, id_a
) as ft inner join (
select id
from dimensiontable
where pos = 1
) as dt on (ft.id_a = dt.id)
group by ft.id_a
having (count(ft.id_a) > 1);
Но он возвращается
Ошибка при выполнении SQL «[запрос]»: null
Кто-нибудь знает, в чем проблема? Мне нужно изменить некоторые настройки в «создании модели» или «создании куба»?
Любая помощь приветствуется!