Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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))
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')
Danilo,
Tente retirar a função Num da sua expressão.
Bom dia Márcio!
Retirei o Num() mas o erro persiste.
Amigo;
Tente depurar fracionando/simplificando a expressão;
Até encontrar a parte com o erro.
Valeu Mario, vou tentar e respondo aqui.
Danilo,
Qual o erro que ocorre? Você consegue enviar um print?
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 ')
Mario, depurei mas não era erro de sintaxe na expressão e sim a maneira de usar a variável
A expressão estava correta Vineeth, precisei mudar a maneira de utilizar a variável. De qualquer maneira obrigado pela resposta
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')