Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Condição para executar comando no Script

Tenho uma dúvida e não sei se é possível implementar no Script a seguinte validação (vou fazer o algoritimo generico)

Set GravarResultado = True

Tabela:

Load * From Tabela;

If (GravarResultado = True, Store Tabela Into Tabela.qvw);

Ou seja, se lá no início do script eu setar "GravarResultado" como True, eu quero que ele salve as tabelas.

Será que isso é possível?

1 Solution

Accepted Solutions
Not applicable
Author

Raphael e Fernando obrigado pela ajuda, porém a versão final que realmente funcionou é um misto de tudo, pois as demais (inclusive o teste enviado) não davam erro mas também não exportavam.

SET GrupoEmpresa = Empresa1;

SET SavarQVD = 'Sim';

Dados:

LOAD * INLINE [

    F1, F2

    A, 10

    B, 20

    C, 30  ];

If (SavarQVD = 'Sim') then

Store Dados Into $(GrupoEmpresa)_Dados.qvd;

End If;

Valeu, obrigado um abraço.

View solution in original post

5 Replies
fernando_tonial
Partner - Specialist
Partner - Specialist

É possível sim, mas teve ser utilizado o IF THEN no lugar do IF Ternário.

Set GravarResultado = 'True';

Tabela:

Load * From Tabela;

If (GravarResultado = 'True') Then

  Store Tabela Into Tabela.qvw;

Endif

Don't Worry, be Qlik.
Not applicable
Author

Prezado Fernando, muito obrigado pela resposta, porém testei aqui algumas variações e não deu certo. O que posso estar fazendo errado:

SET GrupoEmpresa = Empresa1;

SET SavarQVD = 'Sim';

Dados:

LOAD * INLINE [

    F1, F2

    A, 10

    B, 20

    C, 30  ];


If (SalvarQVD = 'Sim') then

Store Dados Into $(GrupoEmpresa)_Dados.qvd;

rphpacheco
Creator III
Creator III

Este If não pode estar entre parenteses e a variável deve set utilizado o LET. Agora, a Variável que você criou sim e nela dever ter o Caracter '$' antes dos parenteses para identificar o valor como sendo uma variável:

SET GrupoEmpresa = Empresa1;

LET SavarQVD = 'Sim';

Dados:

LOAD * INLINE [

    F1, F2

    A, 10

    B, 20

    C, 30  ];


If $(SalvarQVD) = 'Sim' then

Store Dados Into $(GrupoEmpresa)_Dados.qvd;

End If

Segue tmbm um exemplo

fernando_tonial
Partner - Specialist
Partner - Specialist

Faltou o ENDIF ao final.

Segue um que sempre utilizo.

SET vApagaTabelaModelo    = 'S';

IF (vApagaTabelaModelo = 'S') THEN

    DROP Table Pedido;   

ENDIF

Don't Worry, be Qlik.
Not applicable
Author

Raphael e Fernando obrigado pela ajuda, porém a versão final que realmente funcionou é um misto de tudo, pois as demais (inclusive o teste enviado) não davam erro mas também não exportavam.

SET GrupoEmpresa = Empresa1;

SET SavarQVD = 'Sim';

Dados:

LOAD * INLINE [

    F1, F2

    A, 10

    B, 20

    C, 30  ];

If (SavarQVD = 'Sim') then

Store Dados Into $(GrupoEmpresa)_Dados.qvd;

End If;

Valeu, obrigado um abraço.