1

我使用 BO 4.2 + SQL Server 2008 进行报告。报表的设计模式允许在查询过滤器中使用数据排名,包括百分比排名。对于百分比排名,BO 调用 SQL Server 中的 PERCENT_RANK() 函数。似乎错误消息“PERCENT_RANK”不是可识别的内置函数名称。我知道这个功能是在 SQL Server 2012 中引入的。我的第一个问题是 - 为什么 BO Designer 允许添加百分比排名来查询,并且这个按钮在 SQL Server 2008 中没有被禁用/隐藏?第二个问题是 - 有什么方法可以禁用/隐藏这个按钮?

ps 您可以通过以下方式找到此按钮: -> 报表设计 -> 编辑数据提供者 -> 查询过滤器面板 -> 添加数据库排名 -> 设置 '% top' (见屏幕)
pps 使用 BO 3.1 此按钮在我的情况没问题,但我需要为 BO 4.2 修复它。

在此处输入图像描述

谢谢

4

1 回答 1

0

SAP 支持:

1)通过执行以下步骤在 4.2 SP3 Patch3 上内部测试场景

-创建基于 SQL SERVER 2008 R2 Universe 的报告。

- 在结果窗格中获取一些对象。

- 现在在查询过滤器窗格中,单击数据库跟踪 -> 选择 % Top 选项 -> 选择对象。

-运行报告。

-抛出的错误与您得到的完全相同“发生以下数据库错误:[Microsoft SQL Server Native Client 10.0]:'PERCENT_RANK'不是可识别的内置函数名称。有关此错误的信息,请参阅 SAP SAP Support Portal 上的知识库文章 2054721。(IES 10901)(错误:INF)“”

2)现在通过在 SQL SERVER 2012 Universe 上创建报告来测试上述相同的场景,它工作正常。

3)原因是 SQL SERVER 2008 R2 无法识别 percent_rank 函数,因为此功能是 Microsoft 在 SQL SERVER 2012 上引入的。

以下链接中提供了有关此的信息

https://docs.microsoft.com/en-us/sql/t-sql/functions/percent-rank-transact-sql

4)现在也禁用该选项。现在,如果您不想看到 %TOP 选项,请使用 Applet 模式或 Rich Client 而不是 HTML 模式。

因为此选项默认为 HTML 模式。

:D

于 2017-05-19T12:31:30.617 回答