[RESOLVIDO][IREPORTS]Limitar numero de registros no detail em 10 usando SQL SERVER  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
thiagofacanha
JavaBaby
[Avatar]

Membro desde: 31/10/2007 14:40:34
Mensagens: 90
Offline

Opa pessoal.... estou com um prob. Preciso mostrar os 10 sites mais acessados para cada usuario.
Estou usando Ireports e SQL SERVER.

meu select está deste modo


SELECT tb.usr
, tb.dstname
, COUNT(tb.dstname) count
, ROW_NUMBER() OVER (ORDER BY COUNT(tb.dstname) DESC) AS 'RowNumber'
FROM [rawsyslogdb_20081113].[dbo].[sw_0006B1308FF8] tb
WHERE tb.[USR] like '%'+ $P{P_USU} +'%'
AND tb.dstname not like '%mail%' --Exclui emails
AND tb.msg is null --Apenas sites acessados.. sem conexoes de informação.
GROUP BY tb.usr
, tb.dstname
ORDER BY tb.usr
,COUNT(tb.dstname) desc
,tb.DSTNAME

Problema é que ao contrario do oracle aqui não consigo usar o AND RowNumber < 11. Diz "Nome de coluna 'RowNumber' inválido."

Então estou com 2 ideias para resolver.... em ambas estou preso.

1) Conseguir colocar o AND RowNumber < 11 na query


2) Usar formatação condicional para que não imprima os sites que forem da linha 11 para cima..


Alguém tem alguma ideia de como resolver uma das duas possibilidades acima???

Vlw pessoal...

This message was edited 1 time. Last update was at 13/11/2008 15:07:29

[Email] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Qual é a versão do MS SQL Server que você está usando? O "Row_number" só funciona com SQL Server 2005 ou 2008.
[WWW]
thiagofacanha
JavaBaby
[Avatar]

Membro desde: 31/10/2007 14:40:34
Mensagens: 90
Offline

Opa consegui indo pela opcao 1
Não sei pq mas precisa que esteja dentro de um bloco para funcionar....


O problema agora subiu de nivel....
Tem como dentro do REPORT eu usar um parametro ou variavel para mudar dinamicamente o nome da tabela que será usada na query?
O programa que grava os acessos cria 1 tabela por dia.
Tentei concatenar mas da erro....

Eu tenho o select que pega no formato que desejo.. falta soh conseguir colocar dentro do ireports...

select '20' + CONVERT(VARCHAR(16),GETDATE(), 12) dat

Caso alguem possa me ajudar agradeço.
Vlw pessoal.


[Email] [MSN]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team