Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
luizbezerra
Contributor

Error in set modifier expression

Olá ,a todos !

Estou criando a expressão com uma variável de conversão, porém quando agrego a soma na expressão, me apresenta a mensagem :

=$(vConvertNumber(Sum({<Ano = {"$(=Max(Ano))"}; AgrupVisao = {"TESTE"};Cenario = {"FEITO"}>}vlr)

+ Sum({<Ano = {"$(=Max(Ano))"}; Portfolio = {"Cliente"};Produto ={"teste"};Cenario = {"FEITO"}>}vlr)))

=$(vConvertNumber(Sum({<Ano = {"$(=Max(Ano))"}; AgrupVisao = {"TESTE"};Cenario = {"FEITO"}>}vlr)

+ Sum({<Ano = {"$(=Max(Ano))"}; Portfolio = {"Cliente"};Produto ={"teste"};Cenario = {"FEITO"}>}vlr)))

Obrigado a todos !

Mensagem editada por: Luiz Fernando Bezerra

Luiz Fernando Bezerra
Tags (1)
1 Solution

Accepted Solutions
MCampestrini
Valued Contributor

Re: Error in set modifier expression

Luiz

O post faz referência também a formatação de campos através de uma variável/função, por isso a referência.

Também olhei o seu exemplo e me pareceu funcionar normalmente.

Márcio Rodrigo Campestrini
17 Replies
vinieme12
Esteemed Contributor II

Re: Error in set modifier expression

what is =$(vConvertNumber here??

also try rangesum()

Rangesum(

Sum({<Ano = {"$(=Max(Ano))"}; AgrupVisao = {"CREDITO"};Cenario = {"REALIZADO"}>}VlFaturamento)

, Sum ({<Year = { "$ (= Max (Year))"}; Portfolio = { "HSBC"}; Product = { "Card Credit Bandeirado"}; Cenario = { "PERFORMED"}>} VlFaturamento) )

luizbezerra
Contributor

Re: Error in set modifier expression

vinieme12‌ ,

vConvertNumber is  =

   if($(=Replace('$1', ';', ','))<0   ,                             Num($(=Replace('$1', ';', ',')),'##0,00 un'),

   if($(=Replace('$1', ';', ','))<=999,                            Num($(=Replace('$1', ';', ',')),'##0,00 un'),

   if($(=Replace('$1', ';', ','))>=1000        and $(=Replace('$1', ';', ','))<=999999,    Num($(=Replace('$1', ';', ','))/1000,'##0,00 mi'),

   if($(=Replace('$1', ';', ','))>=1000000     and $(=Replace('$1', ';', ','))<=999999999, Num($(=Replace('$1', ';', ','))/1000000,'##0,00 mm'),

   if($(=Replace('$1', ';', ','))>=1000000000,                    Num($(=Replace('$1', ';', ','))/1000000000 ,'##0,00 bi'))))))

Luiz Fernando Bezerra
MCampestrini
Valued Contributor

Re: Error in set modifier expression

Luiz

Você tentou sem o vConvertNumber?

Márcio Rodrigo Campestrini
luizbezerra
Contributor

Re: Error in set modifier expression

Marcio,

Funciona perfeitamente !

Porém eu utilizo o vConvertNumber, para fazer a conversão dos valores e formatar as unidades de medidas e também como pode observar, utilizo o vConvertNumber, para aplicar o Replace de ';' , ','.

Assim forçando a virgula, pois no set analyses, o Qlik se perde ao tentar ignorar algum campo, no meu caso  o mês.

Quando eu menciono o campo Mes=, na expressão  ele se perde, utilizando o   a variável , vConvertNumber.

Luiz Fernando Bezerra
vinieme12
Esteemed Contributor II

Re: Error in set modifier expression

instead of formatting manually why not change the formatting to currency and use thousand, million and billion symbols?

formatting.PNG

MCampestrini
Valued Contributor

Re: Error in set modifier expression

E se você substituir o ';' por ',' no SetAnalysis

Márcio Rodrigo Campestrini
luizbezerra
Contributor

Re: Error in set modifier expression

A questão  de utilizar o Replace é exatamente essa  !

O Qlik, não entende que , é para ir para o próximo parametro na expressão, então eu utilizo o operador ; fazendo o replace para , se eu utilizar , ele não funciona .

Luiz Fernando Bezerra
MCampestrini
Valued Contributor

Re: Error in set modifier expression

Luiz

Você pode disponibilizar uma amostra da sua aplicação para podermos avaliar e analisar o problema?

Márcio Rodrigo Campestrini
luizbezerra
Contributor

Re: Error in set modifier expression

Marcio, Bom dia !

Desculpe a demora, estava ausente.

Segue um modelo da aplicação.

Atenciosamente,

Luiz Fernando

Luiz Fernando Bezerra