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
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)');
Fala jovem, tudo certo?
Como você está fazendo a passagem de parâmetros?
Tudo certo!!
Estou passando desta maneira:
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.
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)');
Amigo!!
Ficou perfeito, era isso mesmo que queria. Ficou mais legível desta forma.
Muito Obrigado!