Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Ben-Hur
Contributor
Contributor

Dúvida função

Senhores,

Boa tarde, acredito que eu esteja com uma dúvida simples, 

Os campos: SEQUENCIA, CAMPO1, CAMPO2 já existem no meu banco de dados, quero criar a coluna CAMPO3

A lógica é pra retornar pro CAMPO3

Se CAMPO1 = X, retornar CAMPO2; (essa parte eu consigo com um if(CAMPO1 = 'X', CAMPO2)

Caso contrário, retornar o "último" valor de CAMPO2 em que o CAMPO1 tenha um X (essa parte que não consigo)

 

Segue abaixo um EXCEL que fiz pra esboçar o problema:

 

SEQUENCIACAMPO1CAMPO2CAMPO3
1XITEM 1ITEM 1
2XITEM 2ITEM 2
3 ITEM 3ITEM 2
4 ITEM 4ITEM 2
5XITEM 5ITEM 5
6 ITEM 6ITEM 5
7XITEM 7ITEM 7
8XITEM 8ITEM 8
9 ITEM 9ITEM 8
10 ITEM 10ITEM 8
1 Solution

Accepted Solutions
Clever_Anjos
Employee
Employee

tabela:
Load SEQUENCIA, CAMPO1, CAMPO2 Inline [
SEQUENCIA, CAMPO1, CAMPO2, CAMPO3
1 ,X ,ITEM 1 ,ITEM 1
2 ,X ,ITEM 2 ,ITEM 2
3 , ,ITEM 3 ,ITEM 2
4 , ,ITEM 4 ,ITEM 2
5 ,X ,ITEM 5 ,ITEM 5
6 , ,ITEM 6 ,ITEM 5
7 ,X ,ITEM 7 ,ITEM 7
8 ,X ,ITEM 8 ,ITEM 8
9 , ,ITEM 9 ,ITEM 8
10 , ,ITEM 10, ITEM 8
];

Load
SEQUENCIA,
CAMPO1,
CAMPO2,
IF(CAMPO1 = 'X',
CAMPO2,
Peek('CAMPO3')
)
AS CAMPO3
Resident tabela Order BY SEQUENCIA;

DROP Table tabela;

View solution in original post

1 Reply
Clever_Anjos
Employee
Employee

tabela:
Load SEQUENCIA, CAMPO1, CAMPO2 Inline [
SEQUENCIA, CAMPO1, CAMPO2, CAMPO3
1 ,X ,ITEM 1 ,ITEM 1
2 ,X ,ITEM 2 ,ITEM 2
3 , ,ITEM 3 ,ITEM 2
4 , ,ITEM 4 ,ITEM 2
5 ,X ,ITEM 5 ,ITEM 5
6 , ,ITEM 6 ,ITEM 5
7 ,X ,ITEM 7 ,ITEM 7
8 ,X ,ITEM 8 ,ITEM 8
9 , ,ITEM 9 ,ITEM 8
10 , ,ITEM 10, ITEM 8
];

Load
SEQUENCIA,
CAMPO1,
CAMPO2,
IF(CAMPO1 = 'X',
CAMPO2,
Peek('CAMPO3')
)
AS CAMPO3
Resident tabela Order BY SEQUENCIA;

DROP Table tabela;