Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
ISR Number, Title
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
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.
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
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.
Amigo, segue;
If( IsNull([TCO Type]) And Match( [ISR Number], 10, 20, 25, 110, 1020, 1000, 1015), [Title], [TCO Type])
Mario, Boa tarde!
Infelizmente não deu certo, ainda existe algo errado. Vou postar aqui o arquivo.qvw, talvez possa ajudar.
Obrigado.
Pessoal, Boa tarde!
Segue em anexo o arquivo.QVW, do projeto que estou trabalhando.
Desde já agradeço a atenção.
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,
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".
Obrigado pela atenção.