Ir para conteúdo
  • 0

Inteligência de data Switch


lucas eglesias

Pergunta

  • Alunos

Bom dia galera, tudo bem?
Queria uma ajuda de vocês.

Estou desenvolvendo um Dash financeiro na minha empresa e fiquei preso em uma inteligência de data que foi solicitado para a Entrada de pagamento e queria saber de vocês se existe uma outra forma de se fazer essa solicitação ou até alguma dica pra forma que fiz...


A solicitação foi a seguinte:

Montar um gráfico de coluna onde tudo que for da data de HOJE para trás, retornar o valor R$ da data de liquidação( situação = pago) e tudo que for igual a hoje ou maior, retornar o valor R$ da data de vencimento e usar uma regra que temos interna.

Regra
// 0 domingo =  2 dias boleto; 1 dias tf

// 1 segunda = 2 dias boleto; 0 dias tf
// 2 terça = 2 dias boleto; 0 dias tf
// 3 quarta = 2 dias boleto; 0 dias tf
// 4 quinta = 4 dias boleto; 0 dias tf
// 5 sexta = 3 dias boleto; 0 dias tf
// 6 sabado = 2 dias boleto; 2 dias tf


Com base nessa solicitação eu fiz uma nova coluna de data na fContasReceber usando switch:
teste =

VAR vDataPAgamento = IF(fContasReceber[situacao] = "pago", fContasReceber[pagamento_data])

var vRegra =

SWITCH(

    TRUE(),

// Domingo

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Boleto" && fContasReceber[Dia da Semana] = 0, DATEADD(fContasReceber[datavencimento],2,DAY),

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Transferência" && fContasReceber[Dia da Semana] = 0, DATEADD(fContasReceber[datavencimento],1,DAY),

// Segunda

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Boleto" && fContasReceber[Dia da Semana] = 1, DATEADD(fContasReceber[datavencimento],2,DAY),

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Transferência" && fContasReceber[Dia da Semana] = 1, DATEADD(fContasReceber[datavencimento],0,DAY),

// Terça

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Boleto" && fContasReceber[Dia da Semana] = 2, DATEADD(fContasReceber[datavencimento],2,DAY),

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Transferência" && fContasReceber[Dia da Semana] = 2, DATEADD(fContasReceber[datavencimento],0,DAY),

// Quarta

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Boleto" && fContasReceber[Dia da Semana] = 3, DATEADD(fContasReceber[datavencimento],2,DAY),

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Transferência" && fContasReceber[Dia da Semana] = 3, DATEADD(fContasReceber[datavencimento],0,DAY),

// Quinta

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Boleto" && fContasReceber[Dia da Semana] = 4, DATEADD(fContasReceber[datavencimento],4,DAY),

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Transferência" && fContasReceber[Dia da Semana] = 4, DATEADD(fContasReceber[datavencimento],0,DAY),

// Sexta

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Boleto" && fContasReceber[Dia da Semana] = 5, DATEADD(fContasReceber[datavencimento],3,DAY),

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Transferência" && fContasReceber[Dia da Semana] = 5, DATEADD(fContasReceber[datavencimento],0,DAY),

// Sabado

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Boleto" && fContasReceber[Dia da Semana] = 6, DATEADD(fContasReceber[datavencimento],2,DAY),

    fContasReceber[situacao] = "aberto, parcial" && fContasReceber[tipo de pagamento] = "Transferência" && fContasReceber[Dia da Semana] = 6, DATEADD(fContasReceber[datavencimento],2,DAY),

    fContasReceber[situacao] = "pago" && fContasReceber[tipo de pagamento] = "Transferência", fContasReceber[pagamento_data],

    fContasReceber[situacao] = "pago" && fContasReceber[tipo de pagamento] = "Boleto", fContasReceber[pagamento_data]

 

)

 

 

VAR vTeste = IF(fContasReceber[datavencimento] < TODAY(), vDataPAgamento, vRegra)

 

Return

vTeste



E montei um gráfico usando essa regra no eixo – x e no eixo y usei uma soma de 3 medidas =

Lucas SUM =
[Lucas Valor Aberto] + [Entrada Pagamento] + [Lucas Valor Parcial]

Lucas Valor Aberto =

CALCULATE(

    [Receita Bruta],

    fContasReceber[situacao] = "aberto")


Lucas Valor Parcial =

CALCULATE(

    [total pago],

    fContasReceber[situacao] = "parcial")


Entrada Pagamento =

CALCULATE(

    [total pago],

    USERELATIONSHIP(dCalendario[Data],fContasReceber[pagamento_data]

    ))

 image.thumb.png.57ab68c653f2304336938421d9cf49b4.png

Editado por lucas eglesias
escrevi errado uma palavra
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...