Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia!
Tenho a seguinte tabela:
CidadeFilial | Assunto | Orientação |
Curitiba | AGILIDADE | Agradecer elogio, e passar para superiores |
Curitiba | AGILIDADE | Rio de Janeiro: Agradecer contato, e informar retorno. |
São Paulo | AGILIDADE | São Paulo: Agradecer elogio e informar aos superiores. |
São Paulo | AGILIDADE | Curitiba: Agradecer elogio e repassar ligação. |
Rio de Janeiro | AGILIDADE | Agradecer elogio, e passar para superiores |
Rio de Janeiro | AGILIDADE | Rio de Janeiro: Agradecer contato, e informar retorno. |
Rio de Janeiro | AGILIDADE | São Paulo: Agradecer elogio e informar aos superiores. |
O filtro foi : Assunto -> Agilidade, como podem ver, infelizmente os dados estão misturados, isso foi possivelmente um erro na população do BD, porém, eu não tenho acesso ao BD e gostaria de consertar isso no QlikView.
Para cada assunto em cada cidade, existe apenas 1 orientação. E nessa orientação pode estar o nome da cidade ou não, ou a orientação de outra cidade.
Tentei fazer uma dimensão calculada 'Orientação':
=if(substringcount(upper(Orientacao),Trim({1-$}CidadeFilial))>0 ,null(), LTrim(PurgeChar(Orientacao,'&')))
Ver se no campo orientação tem o nome de outra filial, sem ser a filial em questão... Se tiver, não aparecerá.
Não deu certo, mas seria mais ou menos essa lógica, talvez. Como posso fazer? Vai em anexo essa tabela.
Desde já, obrigada.
ps: o ltrim, purgechar, trim foram usados pois esses campos precisavam ficar formatados.
Veja se atende, mas sugiro pedir a quem fez essa query de extração que pusesse algum flag para ajudar
Qual deve ser a regra? igual abaixo?
1) Se não tive nome da cidade, vale essa
2) Se tiver um nome de cidade, só vale se for igual ao CidadeFilial
Ficaria assim o resultado final
CidadeFilial | Assunto | Orientação |
---|---|---|
Curitiba | AGILIDADE | Agradecer elogio, e passar para superiores |
Rio de Janeiro | AGILIDADE | Agradecer elogio, e passar para superiores |
São Paulo | AGILIDADE | Agradecer elogio e informar aos superiores. |
Se for assim, use o script abaixo:
Mapa:
mapping LOAD * INLINE [
F1, F2
Curitiba,_cidade_
São Paulo,_cidade_
Rio de Janeiro,_cidade_
];
LOAD CidadeFilial&'|'&CidadeFilial as FiltroDuplicados,
CidadeFilial,
Assunto,
Orientação
FROM
(ooxml, embedded labels, table is Plan1) Where
Index(MapSubString('Mapa',Orientação),'_cidade_')=0;
LOAD CidadeFilial&'|'&CidadeFilial as FiltroDuplicados,
CidadeFilial,
Assunto,
Trim(Replace(MapSubString('Mapa',Orientação),'_cidade_:','')) as Orientação
FROM
(ooxml, embedded labels, table is Plan1) Where
Index(MapSubString('Mapa',Orientação),'_cidade_')>0 and SubField(Orientação,':',1) = CidadeFilial
and not Exists(FiltroDuplicados,CidadeFilial&'|'&CidadeFilial);
Olá! Agradeço pela resposta!
Mas a tabela teria que ficar assim:
CidadeFilial | Assunto | Orientação |
Curitiba | AGILIDADE | Agradecer elogio, e passar para superiores |
São Paulo | AGILIDADE | São Paulo: Agradecer elogio e informar aos superiores. |
Rio de Janeiro | AGILIDADE | Rio de Janeiro: Agradecer contato, e informar retorno. |
No caso de SP e RJ, tinha orientação apontando o nome da filial, então usaria estas. Mas por exemplo, em Curitiba tinha uma orientação do Rio de Janeiro e outra sem nenhum nome de cidade, então usaria esta ultima opção...
Grata!
Só inverter as cargas então
LOAD CidadeFilial&'|'&CidadeFilial as FiltroDuplicados,
CidadeFilial,
Assunto,
Orientação
FROM
Where
Index(MapSubString('Mapa',Orientação),'_cidade_')>0 and SubField(Orientação,':',1) = CidadeFilial;
LOAD CidadeFilial&'|'&CidadeFilial as FiltroDuplicados,
CidadeFilial,
Assunto,
Trim(Replace(MapSubString('Mapa',Orientação),'_cidade_:','')) as Orientação
FROM
Where
Index(MapSubString('Mapa',Orientação),'_cidade_')=0
and not Exists(FiltroDuplicados,CidadeFilial&'|'&CidadeFilial);
Bom dia, Clever!
Perdão, mas como assim inverter as cargas?
Fiz exatamente desse ultimo jeito que você me mandou, a pedido da empresa, tive que colocar mais campos. Isso também influenciou no resultado, mas ficou assim (sem ocultar valores nulos em Filtros Duplicados, para ver o que houve):
FILTROS:
*EMPRESA -> EMPRESA-RIO DE JANEIRO
*ASSUNTO -> AGILIDADE
exemplo:
Empresa | CidadeFilial | Manifestação | GrupoAssunto | Assunto | Orientação | Procedimento | FiltrosDuplicados |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | ATENDIMENTO | AGILIDADE | ATENDIMENTO: AGRADECER ELOGIO, E INFORMAR QUE SERÁ REPASSADO AOS SUPERIORES DE SÃO PAULO. | OUVIR RELATO E COMENTAR. | RIO DE JANEIRO|RIO DE JANEIRO |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | ATENDIMENTO | AGILIDADE | ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | ATENDIMENTO: OUVIR RELATO E COMENTAR. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | - |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | ATENDIMENTO | AGILIDADE | REALIZAR SAUDAÇÃO E INFORMAR QUE LIGAÇÃO ESTA SENDO GRAVADA. | OUVIR RELATO E COMENTAR. INFORMAR AOS SUPERIORES | - |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | EQUIPE | AGILIDADE | ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | ATENDIMENTO: OUVIR RELATO E COMENTAR. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | - |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | EQUIPE | AGILIDADE | ATENDIMENTO: AGRADECER ELOGIO, E INFORMAR QUE SERÁ REPASSADO AOS SUPERIORES | OUVIR RELATO E COMENTAR. | - |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | OPERACIONAL | AGILIDADE | CURITIBA: REALIZAR SAUDAÇÃO E INFORMAR QUE LIGAÇÃO ESTA SENDO GRAVADA | OUVIR RELATO E COMENTAR. | - |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | OPERACIONAL | AGILIDADE | ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | ATENDIMENTO: OUVIR RELATO E COMENTAR. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | - |
Teria que ficar assim (ocultado valores nulos em Filtros Duplicados):
exemplo:
Empresa | CidadeFilial | Manifestação | GrupoAssunto | Assunto | Orientação | Procedimento | FiltrosDuplicados |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | ATENDIMENTO | AGILIDADE | ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | ATENDIMENTO: OUVIR RELATO E COMENTAR. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | RIO DE JANEIRO|RIO DE JANEIRO |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | EQUIPE | AGILIDADE | ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | ATENDIMENTO: OUVIR RELATO E COMENTAR. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | RIO DE JANEIRO|RIO DE JANEIRO |
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | OPERACIONAL | AGILIDADE | ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | ATENDIMENTO: OUVIR RELATO E COMENTAR. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | RIO DE JANEIRO|RIO DE JANEIRO |
Ocorreu como no resultado da tabela que você me mandou... Ele não pegou a informação do Rio de Janeiro mesmo.
Já tentei arrumar isso, mas não consegui. Mas agradeço desde já!
obs: a tabela é fictícia, mas tem exatamente esses campos e apresenta resultados parecidos em esses... Infelizmente não posso postar o qvw, mas o problema é esse mesmo com o expliquei no post principal.
>>Perdão, mas como assim inverter as cargas? - Já te mandei invertido.
Sinceramente não entendi qual o critério para escolher qual dos abaixo deve ser escolhido para
EMPRESA-RIO DE JANEIRO | RIO DE JANEIRO | ELOGIO | ATENDIMENTO | AGILIDADE |
ATENDIMENTO: AGRADECER ELOGIO, E INFORMAR QUE SERÁ REPASSADO AOS SUPERIORES DE SÃO PAULO. |
ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO |
REALIZAR SAUDAÇÃO E INFORMAR QUE LIGAÇÃO ESTA SENDO GRAVADA. |
Neste caso:
Das 3 opções acima, somente a segunda opção tem a palavra 'RIO DE JANEIRO', então a certa seria a segunda:
ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO
-------------------------------------------------------------------------------------------------------------------------------------------------------
Outro exemplo, com a cidade de SP:
Empresa | CidadeFilial | Manifestação | GrupoAssunto | Assunto | Orientação | Procedimento |
EMPRESA-SÃO PAULO | SÃO PAULO | ELOGIO | ATENDIMENTO | AGILIDADE | ATENDIMENTO: AGRADECER CONTATO E FALAR SOBRE RETORNO. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO | ATENDIMENTO: OUVIR RELATO E COMENTAR. RIO DE JANEIRO: O MESMO QUE ATENDIMENTO |
*Correta: EMPRESA-SÃO PAULO | SÃO PAULO | ELOGIO | ATENDIMENTO | AGILIDADE | AGRADECER CONTATO E FALAR SOBRE RETORNO. | OUVIR RELATO E COMENTAR. |
Neste caso, a opção correta seria segunda, pois a primeira se refere ao RJ, e mesmo a segunda não ter mencionando São Paulo, seria a correta dentre as 2. A tabela já corrigida mostraria somente a segunda linha (*Correta)
Veja se atende, mas sugiro pedir a quem fez essa query de extração que pusesse algum flag para ajudar
cleveranjos, como você adiciona esta área de código?
Você monta direto no modo HTML ou algum outro macete?