...
就目前来说,大部分旧数据集中常用的基本还是原生SQL数据集、SQL数据集、可视化数据集、自助数据集。就这几种类型,外加即席查询、透视分析,那排查数据不对就比较简单了,主要就是看看是SQL哪儿不对。
那怎么知道SQL在哪儿啊,这就要用到修炼来的秘技去找SQL了!
但是!在找SQL前,得先清空缓存,因为有缓存情况下,不会重新将SQL拿到数据库中执行,此时就找不到执行SQL了:
秘技一:用户日志
入口:就在右上角,点开三个点就能看到:
进去之后,需要点击开始监控,并切换到服务器端:
接着就可以回到数据集的界面,去预览数据,或是回到报表查看界面,去重新打开报表后,再返回这个监控界面,那就可以看到SQL了:
秘技二:SQL监控/MDX监控
入口:也在右上角,点开三个点就能看到:
进去之后,在左侧目录树上找到入口:SQL监控/MDX监控
...
跟【秘技一】一样,2234再来一次,重新刷新报表再回到这个页面点个刷新,就能看到对应的SQL了。
秘技三:耗时分析
这个的入口需要现在系统选项->公共设置开启耗时分析,选择为开启后记得点右下角的保存:
...
开启后,以仪表盘为例,可以看到耗时分析的入口:
如图所示,点开就能看到对应的sql啦:
秘技四:工具栏查看SQL
即席查询报表,我们工具栏是有个查看SQL的,可以直接点击查看SQL就好啦。
...
借助秘技拿到SQL后剩下就是去找地方执行了,可以拿去原生SQL数据集或者模型查询中的SQL查询里面执行,毕竟这两个地方比较特别,我们不会对在里面执行的SQL套一层,数据集里面写了啥我们送啥SQL去数据库执行。
那要是怀疑是产品的问题,也可以换别的数据库工具,但要JDBC方式连接的数据库工具,for example:DBeaver,DBvisualizer等等。
接下来就是根据执行结果,看看是SQL写的不对,还是实际原始数据有问题,或者是可能设置了数据权限,多拼接了一些条件导致不对等等。
总的来说,这几个秘技对于旧数据集而言基本够用了,相信你自己!看看SQL借助AI问问,基本都知道为什么我的数据不是我要的了。
来个例子
说那么多,下面举个简单例子套一套我们的公式。小红说,怎么我这张报表没有数据,但是只是检查查询一张表的字段,数据库也是有数据的。
...