Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
luizclaudio
Contributor

Cálculo de percentual de campo no script

Preciso, em determinada situação, considerar apenas 60% do valor de um campo.

É possível calcular no script? Ou seria melhor já preparar isso na base antes da carga?

algo como

if(tipo=1670,valor*0.6,valor) as vlr,

Tentei algo assim, mas dá erro no script.

Luiz Cláudio

Tags (1)
1 Solution

Accepted Solutions
dubucha2012
Contributor II

Re: Cálculo de percentual de campo no script

Luiz, é simples..

você esta usando uma sintaxe do QlikView no SQL

Mude seu IF para CASE

If("Tipo Contribuicao"='1670',"Valor Contribuicao"*0.6) as "Valor Contribuicao",

Case when  "Tipo Contribuicao"='1670' then  "Valor Contribuicao"*0.6 else  "Valor Contribuicao" end as "Valor Contribuicao"

Ou carregue as tabelas SQL e no LOAD vc aplica o if.

Load

campo1,

campo2,

campo3,

if (campo1 ='xxx', campo4 * 0.6) as vle,

SQL

select * FROM SINCOR.dbo."Contribuicoes Sabro_Qlik"

Outra duvidas.. Esse BD é do Hcor???

7 Replies
dubucha2012
Contributor II

Re: Cálculo de percentual de campo no script

Consegue publicar o qvw para te ajudar?

dubucha2012
Contributor II

Re: Cálculo de percentual de campo no script

tentou fazer assim:

if(tipo='1670',valor*0.6,valor) as vlr,

Segue exemplo

teste:

LOAD * INLINE [

codigo, valor

a,1

b,2

c,3

];

teste_final:

load

  codigo as cod,

  if(codigo = 'b',valor*0.6,valor) as val

Resident teste;

drop Table teste

luizclaudio
Contributor

Re: Cálculo de percentual de campo no script

Eduardo,

O script dá erro de sintaxe...

If("Tipo Contribuicao"='1670',"Valor Contribuicao"*0.6,"Valor Contribuicao") as "Valor Contribuicao",

abaixo está o trecho completo do script

SQL SELECT "Dado_ID" as "Tipo Contribuicao",

    UPPER(Dado) as Contribuição,

    DadDadosTipoID

FROM SINCOR.dbo.Dados

WHERE Dado_ID > 1668 and Dado_ID < 1672;

// Carrega as Contribuições do Sabro

SQL SELECT "Processo_ID",

    "Corretor ID" as Corretor_ID,

    "Tipo Contribuicao",

    Exercicio,

    Parcela,

//    "Valor Contribuicao",

If("Tipo Contribuicao"='1670',"Valor Contribuicao"*0.6) as "Valor Contribuicao",

    "Data Vencimento",

    "Data Pagamento",

    "Valor Pago",

    Multa,

    Juros,

    Pago

FROM SINCOR.dbo."Contribuicoes Sabro_Qlik";

dubucha2012
Contributor II

Re: Cálculo de percentual de campo no script

Luiz, é simples..

você esta usando uma sintaxe do QlikView no SQL

Mude seu IF para CASE

If("Tipo Contribuicao"='1670',"Valor Contribuicao"*0.6) as "Valor Contribuicao",

Case when  "Tipo Contribuicao"='1670' then  "Valor Contribuicao"*0.6 else  "Valor Contribuicao" end as "Valor Contribuicao"

Ou carregue as tabelas SQL e no LOAD vc aplica o if.

Load

campo1,

campo2,

campo3,

if (campo1 ='xxx', campo4 * 0.6) as vle,

SQL

select * FROM SINCOR.dbo."Contribuicoes Sabro_Qlik"

Outra duvidas.. Esse BD é do Hcor???

luizclaudio
Contributor

Re: Cálculo de percentual de campo no script

Agora funcionou certinho, Eduardo.

Não entendi sua pergunta..

Hcor?

Luiz Cláudio

dubucha2012
Contributor II

Re: Cálculo de percentual de campo no script

Hcor = Empresa Hospital do Coração...

Pq lá eles tem um BD chamado SinCor

luizclaudio
Contributor

Re: Cálculo de percentual de campo no script

Não.. Apenas coincidência.

Trabalho com gestão de sindicatos patronais. Neste caso, estou analisando alguns dados de um Sincor (Sindicato de Corretores de Seguros).