Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
pericles_silva
Contributor III
Contributor III

Expansão de string de um campo

(anexo: teste.qvw)

Olá.

Estou com um problema para resolver em expansões de string de campo. Tenho dois exemplos, onde o primeiro funciona e o segundo não. Esta solução vai me ajudar em futuras implementações.

tab1:

LOAD * Inline [

Ano, Mes, Expr, Valor

2015, 1, Sum({<Mes={2}>} Valor), 10

2015, 1, Sum({<Mes={2}>} Valor), 10

2015, 2, Sum({<Mes={2}>} Valor), 12

2015, 2, Sum({<Mes={2}>} Valor), 8

2015, 2, Sum({<Mes={2}>} Valor), 5

];

AnoMesValorExpr
4525
20151200
201512525

Valor = Sum(Valor)

Expr = $(=Expr)

tab2:

LOAD * Inline [

Anoo, Mess, Exprr, Valorr

2015, 1, Sum({<Mess={1}>} Valorr), 10

2015, 1, Sum({<Mess={1}>} Valorr), 10

2015, 2, Sum({<Mess={2}>} Valorr), 12

2015, 2, Sum({<Mess={2}>} Valorr), 8

2015, 2, Sum({<Mess={2}>} Valorr), 5

];

AnooMessValorrExprr
45-
2015120-
2015125-

Valorr = Sum(Valorr)

Exprr = $(=Exprr)

Agradeço desde já.

Péricles.

Labels (2)
1 Solution

Accepted Solutions
9 Replies
nicolett_yuri

Veja esse exemplo, vai te ajudar.

Qlikview utilizando Expressão com origem no Excel

fernando_tonial
Partner - Specialist
Partner - Specialist

Bom dia Pericles,

O primeiro funciona pois todas as linhas do campo Expr são iguais.

Isso não ocorre no segundo.

Caso você retire a analise de conjunto, vai funcionar perfeitamente.

tab2:

LOAD * Inline [

     Anoo, Mess, Exprr, Valorr

     2015, 1, Sum(Valorr), 10

     2015, 1, Sum(Valorr), 10

     2015, 2, Sum(Valorr), 12

     2015, 2, Sum(Valorr), 8

     2015, 2, Sum(Valorr), 5

];

Don't worry, be Qlik.

Tonial.

Don't Worry, be Qlik.
pericles_silva
Contributor III
Contributor III
Author

Grande Tonial, boa tarde.

Na verdade eu provoquei o Set Analisys pois preciso criar um campo no transformador que receberá strings de expressão diferentes. Acho que o exemplo do Yuri acima pode ajudar. Vou dar uma olhada.

Grande abraço!

Péricles.

pericles_silva
Contributor III
Contributor III
Author

Baixei os arquivos. Vou analisar e pelo visto acho que é o que eu preciso.

Wait..

fernando_tonial
Partner - Specialist
Partner - Specialist

Olá, testei agora de outra forma e funcionou.

Utilize assim em sua expressão:

$(=MinString(Exprr))

Don't worry, be Qlik.

Tonial.

Don't Worry, be Qlik.
pericles_silva
Contributor III
Contributor III
Author

O problema é que desta forma ele sempre pega a string por ordem alfabética, não respeitando o mês e o ano.

Ai dependendo do mês, a expressão está errada

fernando_tonial
Partner - Specialist
Partner - Specialist

Olá Pericles,

Funciona corretamente, veja esse exemplo.

Don't worry, be Qlik.

Tonial.

Don't Worry, be Qlik.
pericles_silva
Contributor III
Contributor III
Author

Tonial, só não entendi uma coisa: O Set Analisys no campo "Exprr" da "tab2" está referenciando o campo "Mes" da "tab1".

tab2:

LOAD * Inline [

Anoo, Mess, Exprr, Valorr

2015, 1, Sum({<Mes={1}>} Valorr), 10

2015, 1, Sum({<Mes={1}>} Valorr), 10

2015, 2, Sum({<Mes={2}>} Valorr), 12

2015, 2, Sum({<Mes={2}>} Valorr), 8

2015, 3, Sum({<Mes={3}>} Valorr), 5

];

a tab2 possui o campo "Mess" e não "Mes". Não deveria ser o campo "Mess"?

Abraços!

pericles_silva
Contributor III
Contributor III
Author

Consegui adaptar algumas implementações do exemplo e funcionou.

Obrigado cara.