将报表从cognos迁移到sql server

r7xajy2e  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(475)

我在cognos报告中生成了以下查询。
我的问题是我需要它工作,在sqlserver中使用相同的逻辑/过滤器。下面的过滤器(cognos语法)能以同样的方式生成吗 WHERE 在sql server中?

select
      *    
from
       dbo.ia_code 
group by
       client__iacode.ia_code,
       client__iacode.ia_short_descr
 ------ here my problem
filter
       (rank() over ( at client__iacode.ia_code order by XCOUNT(client.client_code  at client__iacode.ia_code,client.client_id  for client__iacode.ia_code ) desc nulls last) <= 25) and
       (RCOUNT(rank() over ( at client__iacode.ia_code order by XCOUNT(client_document.client_document_id  for client__iacode.ia_code ) desc nulls last)  at client__iacode.ia_code  order by rank() over ( at client__iacode.ia_code order by XCOUNT(client_document.client_document_id  for client__iacode.ia_code ) desc nulls last) asc,client__iacode.ia_code asc,client__iacode.ia_short_descr asc ) <= 25)

任何帮助都将不胜感激。

hts6caw3

hts6caw31#

使用 where 筛选前分组
group by只用于如下查询中的聚合函数调用

select
      Sum(id),client__iacode.ia_code,client__iacode.ia_short_descr
from
       dbo.ia_code 
group by
       client__iacode.ia_code,
       client__iacode.ia_short_descr

用于查询中的过滤器功能
请阅读以下说明,了解如何使用:
地点:学校
分组依据:w3shoolcs
拥有:w3shoolcs
最后:我试着把你的代码改成SQLServer,但我现在不想把这段代码删掉。请添加表格样本数据和输出样本。

clj7thdc

clj7thdc2#

首先尝试将查询(或数据源)的“汇总处理”属性更改为“数据库”。这将有助于将扩展聚合函数(xcount等)转换为本机sql。还要检查“usesqlparameters”属性并将其设置为“literal”,看看这是否有助于处理原生sql中的参数。完成这些操作后,将新生成的本机查询粘贴到此处。
“属性”窗口的屏幕截图
这是我回答下面这个问题的一个片段。阅读更多的细节,并遵循这个问题,因为它可能有助于你的问题了。
将包含筛选器的IBMCognosSQL转换为MicrosoftSQLServer查询

相关问题