Mostrar dados estratificados
21/03/2017
0
Senhores, tenho o seguinte cenário:
Em uma ferramenta de servicedesk, preciso coletar maiores ofensores dos clientes. Portanto, um relatório útil seria "Número de chamados abertos por cliente estratificados pela categoria".
Para isso, tenho no banco: 'código do chamado', 'nmcliente' e 'nmcategoriachamado'. Numa select simples agrupada por nome do cliente, tenho:
"
select
count (DISTINCT C.cdchamado) as 'Número de chamados', C.nmcliente as 'Cliente'
from vw_hd_chamado13 C
where
C.cdempresa = 4 and cdorigem in (16,17)
group by C.nmcliente
order by 1 desc"
Número de chamados Cliente
------------------ ----------------------------------------------------------------------------------------------------
266 Suporte Getrak
243 central24hrs - Central24hrs
165 Erro e-mail
90 autoprotector - Auto Protector
80 reforce - REFORCE
79 vivonline - VIVONLINE RASTREAMENTO E MONITORAMENTO DE SEGURANCA LTDA ME
73 delator - delasat
59 ativasat - Central24hs
55 RastrearVeiculos
54 TK rastreadores
Agora gostaria de adicionar a coluna 'Categorias' e que ele estratificasse o número de chamados por categoria que foram abertos por cada cliente. Ex:
Número de chamados Cliente Categoria
------------------ ----------------------------------------------------------------------------------------------------
266 Suporte Getrak
12 Solicitação/Análise
254 Incidente/Máquina
Total 266
Sei que vai ser uma query muito difícil e não faço ideia de como começar. Consigo fazer algo parecido em uma única query?
Em uma ferramenta de servicedesk, preciso coletar maiores ofensores dos clientes. Portanto, um relatório útil seria "Número de chamados abertos por cliente estratificados pela categoria".
Para isso, tenho no banco: 'código do chamado', 'nmcliente' e 'nmcategoriachamado'. Numa select simples agrupada por nome do cliente, tenho:
"
select
count (DISTINCT C.cdchamado) as 'Número de chamados', C.nmcliente as 'Cliente'
from vw_hd_chamado13 C
where
C.cdempresa = 4 and cdorigem in (16,17)
group by C.nmcliente
order by 1 desc"
Número de chamados Cliente
------------------ ----------------------------------------------------------------------------------------------------
266 Suporte Getrak
243 central24hrs - Central24hrs
165 Erro e-mail
90 autoprotector - Auto Protector
80 reforce - REFORCE
79 vivonline - VIVONLINE RASTREAMENTO E MONITORAMENTO DE SEGURANCA LTDA ME
73 delator - delasat
59 ativasat - Central24hs
55 RastrearVeiculos
54 TK rastreadores
Agora gostaria de adicionar a coluna 'Categorias' e que ele estratificasse o número de chamados por categoria que foram abertos por cada cliente. Ex:
Número de chamados Cliente Categoria
------------------ ----------------------------------------------------------------------------------------------------
266 Suporte Getrak
12 Solicitação/Análise
254 Incidente/Máquina
Total 266
Sei que vai ser uma query muito difícil e não faço ideia de como começar. Consigo fazer algo parecido em uma única query?
Daniel Madureira
Curtir tópico
+ 0
Responder
Posts
06/05/2017
Rafael Oliveira
Boa noite Daniel,
na sua situação eu usaria o UNION para juntar esses resultados em uma unica query.
Espero ter ajudado e boa sorte em sua jornada.
na sua situação eu usaria o UNION para juntar esses resultados em uma unica query.
Espero ter ajudado e boa sorte em sua jornada.
Responder
06/05/2017
Fabiano Carvalho
Possui relacionamento as tabelas mencionadas?
Se sim, voce consegue fazer com inner join!
Exemplo
Se sim, voce consegue fazer com inner join!
Exemplo
select count (DISTINCT C.cdchamado) as 'Número de chamados', C.nmcliente as 'Cliente', Cat.Categoria from vw_hd_chamado13 C inner join vw_hd_categoria cat on c.Cod_Categoria = Cat.Cod_Categoria where C.cdempresa = 4 and cdorigem in (16,17) group by C.nmcliente,Cat.Categoria order by 1 desc" Número de chamados Cliente
Responder
Clique aqui para fazer login e interagir na Comunidade :)