Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

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
Marcio_Campestrini
Specialist
Specialist

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
Anonymous
Not applicable
Author

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

Marcio_Campestrini
Specialist
Specialist

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
Partner - Specialist
Partner - Specialist

Amigo, segue;

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

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Anonymous
Not applicable
Author

Mario, Boa tarde!

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

Obrigado.

Anonymous
Not applicable
Author

Pessoal, Boa tarde!


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

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

Marcio_Campestrini
Specialist
Specialist

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
Anonymous
Not applicable
Author

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.