在项目实施中有可能会遇到再数据库中可以运行的SQL语句,使用smartbi的原生SQL 会报获取总行数错误。对于获取总行数报错的需要确认如下信息,
(本文仅供参考)
问题说明
在项目实施中有可能会遇到再数据库中可以运行的SQL语句,使用smartbi的原生SQL 会报获取总行数错误。
解析
对于获取总行数报错的需要确认如下信息,
第一种:查看编写的SQL查询是否包含 order by,在smartbi中获取总行数,相当于外面包了一层,SQL Server嵌套不允许用order by
第二种:没有使用order by 语句,那就看具体错误日志信息判定问题解决方法。
针对第一种情况,有如下两种解决办法:
1、设置禁止获取总行数。在 定制管理 > 系统运维 > 系统选项 的查询设置中进行设置。
注意:不同版本配置入口可能存在差异,请以当前使用的版本为准,可参考对应版本的配置文档。
对于灵活分析可以对报表进行设置禁止获取总行数。
2、在SQL中显示总行数top 2、在SQL中显示总行数top 10000。如下SQL 语句:
注:
top 数字 : 返回指定数目的行
top 数字 : 返回指定数目的行
TOP 数字 PERCENT :返回指定百分比的行
一般用 top 100 PERCENT 即可
top 数字 : 返回指定数目的行
TOP 数字 PERCENT :返回指定百分比的行
一般用 top 100 PERCENT 即可