Kylin系列4-Kylin使用注意事项

一. 只能按照构建 Model的连接条件来写SQL

我们之前的Model选择的emp表和dept表的连接条件是inner join
image.png

此时我们想把inner join改成left join

select dname, sum(sal) 
  from emp e
  left join dept d
    on e.deptno = d.deptno
  group by dname;

直接运行报错:
image.png

如果Model指定了inner join,那么SQL只能写inner join,其它join会报错

并且,顺序不能变,只能事实表在前维度表在后

select dname, sum(sal) 
  from dept d
  inner join emp e
    on e.deptno = d.deptno
  group by dname;

image.png

二. 只能根据创建cube的时选择的维度字段分组统计

这个比较好理解,Kylin的原理是通过cube去做预计算,如果group by的时候,并不是cube选择的维度字段,那么没有提前做预计算,所以查询不出来。

select ename, sum(sal) 
  from dept d
  inner join emp e
    on e.deptno = d.deptno
  group by ename;

image.png

三. 只能统计构建cube时选择的度量值字段

这个比较好理解,Kylin的原理是通过cube去做预计算,如果度量字段没有选择,或者查询的时候聚合类型不同于cube的聚合类型,此时没有预计算的结果,所以查询不出来。

select dname, max(sal) 
  from dept d
  inner join emp e
    on e.deptno = d.deptno
  group by dname;

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值