(本文档仅供参考)

问题

SQL中配置了set,生成对应行号,SQL里面执行没问题,但是模型预览以及报表层面预览对应字段是空的。

SQL编辑界面如下:

模型预览结果:

原因及解决方案

此问题是因为有多段SQL,smartbi对于多段SQL的情况下,会以分号为断开点,将每段SQL分别执行,但是像set这种是要跟着一起执行,这也就导致最终执行后结果不对。如下图为最终生成的SQL:

如需解决,一个是考虑合并SQL,处理成一段,如无法处理,也可考虑抽取解决,抽取会将SQL里面的结果落地到mpp,报表层面去查找的时候,从mpp中取数,此时查看正常。