鸿鹄是基于SQL查询来做数据分析的,在使用过程中可能会发现所写的SQL查询没有数据或者和期望的数据结果不一致。这里有一些小的技巧可供参考:
查看时间范围
鸿鹄会根据查询页面的时间范围来减少数据的查询量。如果没有查询到期望的数据结果,第一步要确认的就是查询的时间范围是否正确。 这里的时间范围包含两部分:
查询页面的时间范围,包括相对时间/绝对时间/时区等信息
SQL查询中指定的时间范围,比如_time > '2022-09-05T08:28:31+00:00'
确保基础查询有数据
如果查询是基于数据集的,可以先确认数据集中是否有数据
可以通过数据集管理页面查看数据的数目
可以通过SQL来查看数据集中数据的
如果查询分析语句是基于表函数,检查基础的表函数是否返回期望的数据
拆解SQL分步验证
如果查询相对比较复杂,比如定义了一个CTE,然后加上JOIN操作,最后搜索出来的结果和预期不一致。这种情况可以先拆解SQL查询,分步验证。
比如先确定CTE搜索出来的结果是期望的,在此基础上再验证JOIN的结果,最后再找到可能出问题的地方。
查看查询错误日志
可以通过查询任务页面查看对应查询任务的查询日志。
在打开的查询页面加上过滤条件:log_level = 'error'