Pivot com parâmetros dinâmicos

24/03/2017

0

Olá, pessoal. Bom dia.

Estou com uma dúvida, que na realidade nem sei se é possível de ser feito.

Vou tentar explicar.

Eu preciso utilizar o pivot (oracle), porém, os parâmetros precisam ser dinâmicos.

Eu preciso saber quantos beneficiários utilizaram o pronto atendimento durante um determinado período, e se esse beneficiário retornou ao PA com até 7 dias consecutivos.

Então o que eu pensei:

Em pegar o período e listar as datas. Isso eu consegui, com o comando:
SELECT DTINICIAL + LEVEL - 1 DATA
FROM (SELECT :DTINICIAL DTINICIAL FROM DUAL)
CONNECT BY DTINICIAL + LEVEL - 1 <= :DTFINAL

Show de bola, primeira fase concluída.

Na segunda fase eu queria utilizar uma query que me retornasse os beneficiários que utilizaram o PA dentro desse período (que é um parâmetro que o usuário irá passar)

E que ficasse dessa forma (vou tentar desenhar rs)

Exemplo: 01/03/2017 até 07/03/2017

-------------------------------------------------------------------------------------------------------------------------------------
Beneficiário | 01/03/2017 | 02/03/2017 | 03/03/2017 | 04/03/2017 | 05/03/2017 | 06/03/2017 | 07/03/2017
-------------------------------------------------------------------------------------------------------------------------------------
Fulano 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0
Fulano 2 | 1 | 0 | 1 | 0 | 0 | 0 | 0
Fulano 3 | 1 | 0 | 1 | 0 | 0 | 0 | 0
Fulano 4 | 1 | 0 | 1 | 0 | 0 | 0 | 0
Fulano 5 | 1 | 0 | 1 | 0 | 0 | 0 | 0
-------------------------------------------------------------------------------------------------------------------------------------

Dai, vou trabalhar com essas informações.

O meu problema é:

No pivot você precisa passar o nome dos campos para ele te retornar em formato coluna. Só que como o período é um parâmetro livre, ou seja, podem colocar 3 dias ou 30 dias, preciso que ao passar essa informação para o pivot.

Me fiz clara, na dúvida? Alguém sabe como faz?

Grata,
Vanessa
Vanessa Almeida

Vanessa Almeida

Responder

Posts

12/04/2017

Roberto Spernega

Boa tarde Vanessa,

Você já deve ter resolvido essa questão...

Para gerar o pivot com parâmetros, só usando como "pivo xml"
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar