Qlik Community

Ask a Question

Brasil

Announcements
QlikWorld Online 2021, May 10-12: Our Free, Virtual, Global Event REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
isaiasdd
Creator
Creator

Montar String para passar por parâmetro para variável

Tenho um Subroutine no Qlik Sense que carrega uma tabela que eu passar por parâmetro. Porém agora estou tentando passar um parâmetro que seria o WHERE, gostaria de passar da seguinte maneira.

Ex.:  " [Tipo]='Outros' AND [TP]='NZ' " .

Mas o Qlik Sense não reconhece nenhum valor dentro da Subroutine quando passo desta maneira. Alguém teria alguma ideia de como proceder?? 

SUB GerarTabela(vTabela, vWhere)

    $(vTabela):
    LOAD *
    FROM $(vTabela)
    WHERE $(vWhere);

END SUB
1 Solution

Accepted Solutions
otavio_marco
Creator II
Creator II

Então você vai ter que dar uma contornada.

Veja assim:

 

SUB Rotina(p1, p2)

	TRACE p1 = $(p1);
    TRACE p2 = $(p2);

ENDSUB

SET where = campo = 'valor';

CALL Rotina('Teste', '$(where)');

 

Grupo Telegram Qlik Brasil: https://t.me/joinchat/AeRmnUmcxQ02L00g3x-HtQ

View solution in original post

4 Replies
otavio_marco
Creator II
Creator II

Fala jovem, tudo certo?

Como você está fazendo a passagem de parâmetros?

Grupo Telegram Qlik Brasil: https://t.me/joinchat/AeRmnUmcxQ02L00g3x-HtQ
isaiasdd
Creator
Creator
Author

Tudo certo!!

Estou passando desta maneira:

parametro_QS.PNG

Meu terceiro parâmetro é meu "Where". só assim funciona. Mas ele fica mostrando em vermelho.. e se eu tiver mais instruções dentro desse "Where", fica um tanto quanto ilegível.

otavio_marco
Creator II
Creator II

Então você vai ter que dar uma contornada.

Veja assim:

 

SUB Rotina(p1, p2)

	TRACE p1 = $(p1);
    TRACE p2 = $(p2);

ENDSUB

SET where = campo = 'valor';

CALL Rotina('Teste', '$(where)');

 

Grupo Telegram Qlik Brasil: https://t.me/joinchat/AeRmnUmcxQ02L00g3x-HtQ

View solution in original post

isaiasdd
Creator
Creator
Author

Amigo!!

Ficou perfeito, era isso mesmo que queria. Ficou mais legível desta forma. 

Muito Obrigado!