我在Apache Kylin(1.5.3)中创建了一个带有2个表格的立方体:
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上是联合的。 在'cube designer - advanced settings'中,我在'includes'中创建了一个id_a,id_b和pos的聚合组。
现在我想知道每个id_a,其中'pos = 1'不止一次与。
相关所以对于上面的表格:
id_a | count
------------
01 | 2
03 | 3
在“洞察力”标签中,我尝试了查询
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“[query]”时出错:null
有谁知道问题是什么?我是否需要更改“模型创建”或“多维数据集创建”中的某些设置?
感谢任何帮助!
答案 0 :(得分:1)
您的要求听起来就像我这样。
select
id_a, count(distinct id_b)
from
facttable
inner join dimensiontable
on facttable.id_b = dimensiontable.id
where
pos = 1
group by
id_a
having
count(distinct id_b) > 1