Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
robsonenascimen
New Contributor

Como apresentar dados de um campo X (Null) por um campo Y

Olá, pessoal, Boa tarde!

Eu sou novo na Comunidade

Eu tenho alguns dados do campo X [TCO Type] que estão como Null no banco de dados, eu gostaria de representar estes campos nulos com com os dados do campo X [Title], mas esta condição deve ocorrer apenas quando o campo [TCO Type] estiver Null e o campo [ISR Number] for igual aos números: ( '10', '20', '25', '110', '1020', '1000', '1015'), pois estes números que contêm as informações que eu preciso.

Para maiorers detalhes segue a imagem abaixo da Tabela criada no QlikView e a Estrutura abaixo.

IsNull_TCOType.jpg

ISR Number, Title

10, Non-ISR Work, General
20, Non-ISR Work, Customer Relationship Management
25, Non-ISR Work, Training
110, Non Working Hours - Vacation
1020, Non Working Hours - Other (Optional)
1000, Non Working Hours - Sick
1015, Non Working Hours - Training

Segue abaixo a estrutura que estou utilizando;

ViewTimesheet:

LOAD TaskID as [ISR Number], Upper (CDSID) as CDSID, Hours,

Year (WorkDate) as Year, 'Q' & ceil(Month (WorkDate) /3) as Quarter,

Month (WorkDate) as Month, Title;

SQL SELECT CDSID, Hours, TaskID, Title, WorkDate

FROM "WebISR_Reports".dbo.viewTimesheet

WHERE [WorkDate] >= '2015-01-01';

Join


Variation_Log:

LOAD "ITMSFunction_ID" as "Function_ID", "Log_Number" as [ISR Number],

     IF (Type = 'EN', 'Enhancement (EN)',

     IF (Type = 'ND', 'New Development (ND)',

     IF (Type = 'PS', 'Production Support (PS)'))) as [TCO Type];

SQL SELECT "ITMSFunction_ID", "Log_Number", Type

FROM "WebISR_Reports".dbo."Variation_Log"

WHERE "ITMSFunction_ID" > '0';


Obrigado pela Atenção

8 Replies
MCampestrini
Valued Contributor

Re: Como apresentar dados de um campo X (Null) por um campo Y

Robson

Pelo que vejo você pode fazer um grande Join com um IF no seu script, depois do Join atual, criando uma nova coluna com a informação que você quer.

Left ViewTimesheet

Load <chaves>,

        If([ISR Number] = 10, Title,

           If([ISR Number] = 20, Title,

              ...,

           [TCO Type])) As <algum nome>

Resident ViewTimesheet;

Outra possibilidade é criar uma dimensão calculada, mas ainda prefiro uma solução no script.

Márcio Rodrigo Campestrini
robsonenascimen
New Contributor

Re: Como apresentar dados de um campo X (Null) por um campo Y

Olá Marcio,

Desculpe-me, mas você poderia descrever a sintaxe do código de como ficaria, acho que eu fiz algo de errado e não funcionou

Obrigado

MCampestrini
Valued Contributor

Re: Como apresentar dados de um campo X (Null) por um campo Y

Robson

O exemplo que consigo passar é o mesmo que passei antes.

Para melhorar, preciso saber quais os campos que podem ser utilizados para a ligação entre as tabelas.

Outra possibilidade é você postar o seu código aqui e eu tento avalliar.

Márcio Rodrigo Campestrini
mario_sergio_ti
Valued Contributor

Re: Como apresentar dados de um campo X (Null) por um campo Y

Amigo, segue;

If( IsNull([TCO Type]) And Match( [ISR Number], 10, 20, 25, 110, 1020, 1000, 1015), [Title], [TCO Type])

robsonenascimen
New Contributor

Re: Como apresentar dados de um campo X (Null) por um campo Y

Mario, Boa tarde!

Infelizmente não deu certo, ainda existe algo errado. Vou postar aqui o arquivo.qvw, talvez possa ajudar.

Obrigado.

robsonenascimen
New Contributor

Re: Como apresentar dados de um campo X (Null) por um campo Y

Pessoal, Boa tarde!


Segue em anexo o arquivo.QVW, do projeto que estou trabalhando.

Desde já agradeço a atenção.

MCampestrini
Valued Contributor

Re: Como apresentar dados de um campo X (Null) por um campo Y

Robson,

Utilizei a sugestão do mario.sergio.ti‌ diretamente no gráfico e funcionou, mas apareceu mais coisas sem a descrição do campo TCO Type.

Márcio Rodrigo Campestrini
robsonenascimen
New Contributor

Re: Como apresentar dados de um campo X (Null) por um campo Y

Márcio,

Além do IF que apresenta os tipos de horas trabalhadas do analista como (EN, ND, PS) no campo [TCO Type], eu preciso apenas apresentar os (NULL) que contem as (TaskID) e (Title) abaixo, as demais informações eu não preciso.

     IF (Type = 'EN', 'Enhancement (EN)', 

     IF (Type = 'ND', 'New Development (ND)',

     IF (Type = 'PS', 'Production Support (PS)'))) as [TCO Type];


/*

TaskID, Title

10, Non-ISR Work, General

20, Non-ISR Work, Customer Relationship Management

25, Non-ISR Work, Training

110, Non Working Hours - Vacation

1020, Non Working Hours - Other (Optional)

1000, Non Working Hours - Sick

1015, Non Working Hours - Training

*/


Exemplo: Quando o [TCO Type] for nulo e as TaskID for 10 e 25..., deve ser apresentado as mesmas informações do Title, no campo
[TCO Type] -> Non-ISR Work, General e Title "Non-ISR Work, Training".


Non-ISR.jpg

Obrigado pela atenção.