1
resposta

[Projeto] DÚVIDA DE FORMULA NO BI

Boa noite, pessoal!

Gostaria de entender melhor como desenvolver uma fórmula de janela no BI (na base de dados), para que, ao selecionar a unidade destino do cliente, o resultado seja apresentado de forma geral.

Para contextualizar: trabalho na área de logística e cada cliente possui um lead time específico. Esse lead time é utilizado em nossos indicadores de performance. Por exemplo, há clientes cuja janela de entrega ocorre às segundas, quartas e sextas-feiras.

Preciso, com urgência, de apoio para desenvolver essa fórmula — ou, caso seja mais adequado, que me indiquem um curso que aborde esse tema, para que eu possa aprender a criar essa solução.

Agradeço desde já pela ajuda de todos!

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi Geovanna.
Tudo bom com voce?
Vou tentar te ajudar a desenvolver a fórmula para calcular a "janela de entrega" dos clientes de forma geral na base de dados do seu BI.
A fórmula de janela que você mencionou seria usada para calcular os indicadores de performance de acordo com as regras de entrega de cada cliente.
Se um cliente tem um lead time (tempo entre o pedido e a entrega) e uma janela de dias de entrega específicas (como segunda, quarta e sexta), você precisa considerar esses critérios para ajustar o tempo de entrega e gerar os resultados de acordo.
Você vai precisar de duas informações principais para montar essa fórmula:

  • Lead Time: Tempo de entrega de cada cliente (ex: 2 dias, 4 dias, etc.)
  • Dias da Janela de Entrega: Abertura para entrega (ex: segunda, quarta, sexta-feira).

A fórmula precisa calcular qual seria a data de entrega final com base no lead time e na janela de dias.
Você pode criar isso com DAX (caso esteja usando Power BI) ou SQL, dependendo da sua base de dados.
Vou te mostrar um exemplo básico de como isso poderia ser feito.

  1. Criar uma Tabela de Dias da Semana:
    Para lidar com os dias da semana (segunda, quarta, sexta), você pode criar uma tabela de datas que tenha todos os dias da semana e um campo indicando se o dia é um "dia válido" para entrega.
TabelaDias = 
ADDCOLUMNS (
    CALENDAR (DATE(2025,1,1), DATE(2025,12,31)), 
    "DiaSemana", WEEKDAY([Date]),
    "DiaValido", IF(
        WEEKDAY([Date],2) IN {1,3,5}, TRUE(), FALSE()  -- Segunda (1), Quarta (3), Sexta (5)
    )
)
  1. Cálculo da Data de Entrega:
    Com a tabela de dias válida, agora você pode criar uma fórmula de entrega no DAX, que calcula a próxima data de entrega válida após o lead time.
    Exemplo de fórmula para calcular a próxima data de entrega válida após o lead time:
DataEntrega = 
VAR LeadTime = [LeadTimeCliente]  -- Supondo que esse campo esteja na tabela de clientes
VAR DataPedido = [DataPedido]    -- Data em que o pedido foi realizado
VAR DiasCorridos = DataPedido + LeadTime
VAR ProximaData = 
    CALCULATE (
        MIN (TabelaDias[Date]), 
        TabelaDias[Date] >= DiasCorridos && TabelaDias[DiaValido] = TRUE()
    )
RETURN ProximaData

Essa fórmula basicamente pega a data do pedido, soma o lead time e encontra a próxima data válida de entrega de acordo com os dias configurados na tabela.
Se você está usando SQL ou outro tipo de BI, o conceito ainda é o mesmo: você precisa de uma tabela de datas e uma lógica para somar o lead time e encontrar a próxima data que satisfaça a janela de entrega.
Caso você queira aprender mais sobre essas técnicas, Tem varios cursos aqui mesmo na plataforma.
Analisa ai e veja se o conteudo acima te ajuda de alguma forma.
Para algo mais complexo e proximo do seu problema precisaria de mais informações.
Bons estudos e espero que tudo ocorra bem.
E mande um feedback pra nós.
Até...