Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
danilodalosse
New Contributor III

Expressão com parâmetro retorna erro ')' expected

Boa tarde amigos,

Criei uma expressão com parâmetro para que pudesse passar nesse parâmetro o código de um indicador e essa expressão me desse o valor. Assim como tenho 50 indicadores não precisaria criar 50 expressões. Porém consigo usar essa expressão em gráficos e objetos de texto normalmente, exceto se tentar usá-la dentro de outra função, como por exemplo um 'if' ou um 'Num()'.

Quando tento usar dentro de uma outra função ela me retorna erro de ')' expected.

Alguém poderia me ajudar com esse problema?

Minha expressão:

eIndicador = Num(avg({<%INDICADOR={$1},INDICADOR.DESCRICAO=,INDICADOR.DATA_COLETA={'$(=Date(RangeMin(max({<%INDICADOR={$1},INDICADOR.DATA_COLETA=,INDICADOR.DESCRICAO=>}INDICADOR.DATA_COLETA),max({<%INDICADOR={$1}>}INDICADOR.DATA_COLETA))))'}>}INDICADOR.VALOR),'#.##0,00')

Exemplo do erro: if($(eIndicador(13))>0,'share','not share')

Exemplo de como funciona normalmente: $(eIndicador(13))

1 Solution

Accepted Solutions
danilodalosse
New Contributor III

Re: Expressão com parâmetro retorna erro ')' expected

Para usar a variável dentro de uma função ou dentro de outra variável eu precisei adicionar mais um $!

$(=$(variável(parâmetro)))

Exemplo:

Ao invés de usar assim: if($(eIndicador(13))>0,'share','not share')

Usei assim: if( $(=$(eIndicador(13))) >0,'share','not share')

9 Replies
MCampestrini
Valued Contributor

Re: Expressão com parâmetro retorna erro ')' expected

Danilo,

Tente retirar a função Num da sua expressão.

Márcio Rodrigo Campestrini
danilodalosse
New Contributor III

Re: Expressão com parâmetro retorna erro ')' expected

Bom dia Márcio!
Retirei o Num() mas o erro persiste.

mario_sergio_ti
Valued Contributor

Re: Expressão com parâmetro retorna erro ')' expected

Amigo;

Tente depurar fracionando/simplificando a expressão;

Até encontrar a parte com o erro.

danilodalosse
New Contributor III

Re: Expressão com parâmetro retorna erro ')' expected

Valeu Mario, vou tentar e respondo aqui.

MCampestrini
Valued Contributor

Re: Expressão com parâmetro retorna erro ')' expected

Danilo,

Qual o erro que ocorre? Você consegue enviar um print?

Márcio Rodrigo Campestrini
vinieme12
Esteemed Contributor II

Re: Expressão com parâmetro retorna erro ')' expected

The expression is incorrect.

If you are trying to average two values, you should be using RangeAvg (value1, value2)

Practice indentation so you know which brackets are open and when closing and when


Num (Rangeavg (Sum or any other Aggrgation function ( {<

          % INDICATOR = {$ 1},     <<< What is '$ 1' ??

          INDICATOR.DESCRIPTION =,

          INDICATOR.DATA_COLETA = {'$ .DESCRIPTION = >}        <<< You have not closed the Parenthesis here, also why is there an equal sign?

                INDICATOR.DATA_COLETA )

          ,


Max ( {<% INDICATOR = {$ 1}>}    <<< What is '$ 1' ??

                     INDICATOR DATA_COLETA)

                   )


)   <<< Closing RangeAvg ()


>}   <<< Not Needed remove


VALUE INDICATOR) , '#. ## 0.00 ')

danilodalosse
New Contributor III

Re: Expressão com parâmetro retorna erro ')' expected

Mario, depurei mas não era erro de sintaxe na expressão e sim a maneira de usar a variável

danilodalosse
New Contributor III

Re: Expressão com parâmetro retorna erro ')' expected

A expressão estava correta Vineeth, precisei mudar a maneira de utilizar a variável. De qualquer maneira obrigado pela resposta

danilodalosse
New Contributor III

Re: Expressão com parâmetro retorna erro ')' expected

Para usar a variável dentro de uma função ou dentro de outra variável eu precisei adicionar mais um $!

$(=$(variável(parâmetro)))

Exemplo:

Ao invés de usar assim: if($(eIndicador(13))>0,'share','not share')

Usei assim: if( $(=$(eIndicador(13))) >0,'share','not share')