DAX Acumula Valores Somados

Play DAX Acumula Valores Somados

The Discussion

  • User profile image
    kaauan

    E se eu quiser fazer a mesma coisa, porem obedecendo a ordem do valor do faturamento e nao da categoria?

  • User profile image
    Renato Haddad

    Olá Kaauan,

    A tela que é aberta das medidas rápidas vc pode arrastar o campo que deseja manipular para a lista adequada. Veja o DAX gerado para acumular o faturamento em relação à categoria.

    Faturamento total corrente em Categoria =
    CALCULATE(
    SUM('Dados'[Faturamento]),
    FILTER(
    ALLSELECTED('Dados'[Categoria]),
    ISONORAFTER('Dados'[Categoria], MAX('Dados'[Categoria]), DESC)
    )
    )

    A sua pergunta não está clara, mas acredito que queira acumular o faturamento.
    Att.,

  • User profile image
    Carlos

    Olá sr. Renato Haddad,

    Primeiramente parabéns pela iniciativa de montar vídeo aulas sobre o Power BI, esta ferramenta além de ser incrível, possui um custo-benefício excelente e infelizmente por ser um software recente que incorporou os suplementos Power do Excel não possuímos muito material em português.

    Nos minutos finais da video aula, quando se aplica a ordenação por categoria ou quantidade se bagunça o acumulado, existe alguma forma em DAX para corrigir este problema, independente da coluna ordenada.

    Abs,

  • User profile image
    renato

    Olá Carlos,
    Fico feliz em saber que o vídeo o ajudou. Esta sua questão não é possível tratar conforme vc deseja, pois o DAX está claro que o acumulado ocorre em relação ao ano apenas, e não em relação à categoria.
    Boa sorte e sucesso nos projetos.

  • User profile image
    Gabriel

    Olá Renato tudo bem?
    Estou com um cenário onde utilizei a mesma lógica do seu vídeo, porém preciso compor os valores por semana, ou seja, ao invés de usar a categoria usei a semana, até aí tudo bem, porém além da semana atual preciso trazer os mesmos dados para a semana anterior, existe a possibilidade de imputar um (-1) nessa fórmula? Ou devo utilizar outra lógica?
    A ideia era criar outra medida que assumisse o valor da segmentação feita no relatório, menos uma semana do que foi filtrado.

    Acumulado por semana do ano =
    CALCULATE(
    SUM('Movimentação'[SUM]);
    FILTER(
    ALLSELECTED('Movimentação'[Semana do Ano]);
    ISONORAFTER('Movimentação'[Semana do Ano]; MAX('Movimentação'[Semana do Ano]); DESC)
    )
    )

    Obrigado!

  • User profile image
    renatohaddad

    @Gabriel:oi Gabriel, tudo bem e vc?
    Este seu cenário segue na mesma lógica que usei, no entanto o DateAdd permite capturar a unidade de tempo em anos, trimestre, mês e dia apenas. Então, no caso de semanas é preciso construir outra maneira, terei que fazer uns testes para montar este cenário.

  • User profile image
    Isadora

    Como fazer o acumulado quando não se tem data?

  • User profile image
    renatohaddad

    @Isadora: vc pode tentar criar um DAX sem a unidade de tempo, usando outro campo da sua estrutura de dados. 

  • User profile image
    Gaberetta

    Olá Renato tudo bem?

    Eu tenho uma dúvida e acredito que possa me ajudar:

    Eu trabalho com dados acumulados mensais e no meu caso o ano se inicia em Abril (é como tratamos um ano agrícola de vai de Abril/17 até Março/18).

    No meu dashborad tenho um filtro mensal que contempla os 12 meses e quando eu seleciono um certo mês ele me volta o valor do mesmo. O que eu gostaria é quando eu selecionasse o mês de Novembro por exemplo, ele me trouxesse um acumulado de Abril até novembro na informação.

    Como eu posso fazer isso?

    Muito obrigado.

  • User profile image
    renatohaddad

    @Gaberetta:Neste caso vc terá que criar um DAX usando a função DateAdd onde vc consegue manipular a qtde de dias, meses e anos. Veja um exemplo de DAX para calcular o faturamento do mês anterior.

    FaturamentoMesPassado = CALCULATE( [TotalFatSumX], DATEADD( Dados[Data], -1, MONTH ))

    Note que o MONTH usei o -1, então vc terá que descobrir qual o mês atual (Month()) e subtrair de forma que vá até o mês de abril.

  • User profile image
    DouglasB

    Tudo ótimo? Parabéns pela iniciativa de resolver duvidas. A minha consiste em uma forma de agrupar um número dia a dia. Exemplo:
    dia 1 10 cupons acumulado 10 cupons
    dia 2 15 cupons acumulado 25 cupons
    dia 3 20 cupons acumulado 45 cupons

    Eu tenho uma estrutura que me fornece o o valor realizado dia após dia, tenho uma estrutura de tempo, porem ainda não consegui alguma formula que me retorne o acumulado naquele dia especifico. Grato por qualquer ajuda.

  • User profile image
    renatohaddad

    @DouglasB:oi Douglas, o acumulado vejo que é fácil pois vc deve fazer uma medida usando o SUMX onde o filtro é o dia atual, ou seja, manda somar tudo até o dia atual. para manipular data use o DataAdd.

    Att.,

  • User profile image
    PALOMA

    OLÁ, TENHO QUE CALCULAR A SOMA DE UM INTERVALO DOS ULTIMOS 6 MESES. COMO PODERIA APLICAR ISSO NESSA FUNÇÃO?

  • User profile image
    jgustavo

    @renatohaddad: olá. Utilizei um DAX tipo este mas faço DRILL de ano/mes/dia. Qual função me mostra a hierarquia do DRILL para usar o parâmetro YEAR/MONTH/DAY?

    Obrigado.

  • User profile image
    renatohaddad

    @jgustavo: sao estas mesmas YEAR(<date>)  YEAR(TODAY()) MONTH(<datetime>) MONTH(<DtPedido>)

  • User profile image
    jgustavo

    @renatohaddad: obrigado pelo retorno. Preciso de uma função para saber a hierarquia do drill, se está em ano/mes/dia.

    Obrigado.

  • User profile image
    Carlos Aparecido Teixeira

    Como faço para somar as receitas de agências ao longo dos meses do anos, sendo que cada agencia está em uma linha e os meses em colunas.

  • User profile image
    renatohaddad

    @Carlos Aparecido Teixeira:Sugiro vc mostrar os dados em uma matriz, pois a mesma já mostra os subtotais e totais nas colunas e linhas.

  • User profile image
    Ronaldo Junqueira

    Boa Noite Renato, tenho a seguinte situaçao, puxei lançamentos contábeis para uma tabela MovContab, e esse lançamentos tem data, campo onde linkei a uma tabela dCalendário.
    Então Fiz Uma Medida Saldo = Sum(Debitos) - Sum(Creditos).
    Agora eu precisava calcular o Saldo da Conta de Estoque em cada mês, então quando eu jogo a Data no Filtro, ele so me busca o Movimento que ocorreu no mês. Ele deveria Fazer isso, mais somar o saldo da conta que esta antes do periodo:
    Ex. Saldo da Conta em Maio = R$ 3.000,00
    Movimento de Junho Seria (Debitos = R$ 500,00) - (Créditos = R$ 200,00) Saldo = R$ 300,00
    PReciso que ele me traga o Valor de R$ 3.300,00 na coluna de Junho, e assim por diante.

    GRande Abraço Valeu

  • User profile image
    Bruno​Bougleux

    Renato,
    E se a minha categoria for um subcategoria e eu quiser usar o drill up e drill down? quando eu mudo, ele está perdendo a referencia!

  • User profile image
    renatohaddad

    @kaauan:isto não se aplica a drilldown pq o filtro é a CATEGORIA.

  • User profile image
    Carlos Aparecido Teixeira

    Caro Renato, como faço para acumular valor dentro do visual Calendar. Quero criar painel com dois segmentos de dados: ano e mês e um Calendar. Ao selecionar combinação ano e mês, gere no Calendar dados acumulados diários apenas do mês selecionado.

  • User profile image
    renatohaddad

    @Carlos Aparecido Teixeira:Oi Carlos, a sua ideia é ótima, porém o calendar necessita dos dias do mês e números. O que vc pode fazer é colocar exatamente a medida que acumula por DIA, crie uma medida onde o intervalo é o dia, assim, a sua fórmula irá mostrar o acumulado diário.

    Boa sorte!

  • User profile image
    RENATO

    Boa noite! Estou com um grande impasse no meu arquivo, preciso calcular o forecast accuracy, pra isso preciso calcular a diferenca entre dois planos de vendas, fiz isso atravez de medidas, entao tenho a medida(soma) do plano A e plano B, calculei a soma da diferenca desses dois planos atravez de uma medida tambem, para o calculo sair correto eu preciso da soma acumulada absoluta da medida da diferença entre os planos. Ja tentei usando as medidas rapidas para calcular o acumulado. mas como a diferença entre A e B é uma medida nao consigo fazer isso, pode me dar uma força, preciso do acumulado absoluto entre dois planos.

  • User profile image
    Carlos Aparecido Teixeira

    Caro Renato, não sei o que ocorreu com meu Power BI. Antes eu conseguia acessar base de dados Postgresql em uma máquina servidor dentro da rede dos correios, utilizando "obter dados" - Base de dados PostgreSQL. No entanto o Power BI gera a seguinte mensagem: "Conector n]ao pode ser utilizado pela falta do Npgsql-4.0.2. Mas fiz a instalação e mesmo assim continua com a mesma mensagem.
    - Socorro !!!!

  • User profile image
    renatohaddad

    @Carlos Aparecido Teixeira:Isto está ocorrendo somente na sua máquina ou em todas? Isto ocorreu após algum update do PBI? pode me contatar direto no email rehaddad@msn.com

  • User profile image
    Gabriella

    Boa tarde,

    Para somar acumulado sendo por semana como devo proceder? Para o mês uso o YTD mas para semana não encontrei nada similar.

    Obrigada

  • User profile image
    renatohaddad
    oi Gabriella, vc deverá montar uma fórmula que seja de acordo com o contexto, se vc inserir um dia, mês, Ano etc, o valor é somada conforme isto. em dax.guide.com vc tem todas as funções do DAX.
    A sua solução está neste artigo https://www.sqlbi.com/articles/week-based-time-intelligence-in-dax/ do Marco Russo.
  • User profile image
    Gabriella

    Oi Renato, agradeço o retorno.

    Na minha base não tenho o dia a dia, tenho a informação semana que abrange o prazo de sete dias (exemplo: 28/01/18 a 03/02/18) e uma coluna com o número da semana (seguindo o mesmo exemplo: 201805).
    Preciso calcular por exemplo, o volume acumulado por esse campo semana que abrange esses setes dias, mas não possuo a venda por dia, apenas por semana mesmo.

    Como consigo calcular o acumulado desse ano e do ano anterior (a coluna ano eu possuo também)?

    Grata.

  • User profile image
    Rafael Maines

    Olá Renato,

    Eu gostaria de fazer uma métrica onde agrupasse os valores apenas do ano corrente.

    Utilizei a seguinte fórmula:
    TOTALYTD(
    [Total Fat Produto];
    Calendario[Data];
    YEAR(Calendario[Data])=YEAR(TODAY()))

    Para os meses que não haviam vendas, o acumulado deveria ser o mesmo do mês anterior, porém, ao aplicar esta métrica ele traz como nulo.

    No exemplo abaixo, tem fevereiro e maio sem vendas.

    jan - 10
    mar - 15 (+5)
    abr - 25 (+10)
    jun - 50 (+25)

    Como posso ajustar minha métrica para que ele traga os valores corretos do acumulado?

  • User profile image
    Sayeso
    Muito bom o vídeo.
    tentei replicar com meus dados e por algum motivo não soma, ele repete os valores da coluna que quero somar.
    abaixo: semanas é minha categoria(S01,S02,S03 ...)
    Real_C é um calculo que faço com base em outra tabela me retorna(S01=2,S02=33,S03=28 ...
    QUERO acumular:
    S01 - 2 - 2
    S02 - 33 - 35
    S03 - 28 - 63


    SEGUE MEDIDA CRIADA
    Real_C total corrente em Semanas =
    CALCULATE(
    SUM('Burn Down'[Real_C]);
    FILTER(
    ALLSELECTED('Burn Down'[Semanas]);
    ISONORAFTER('Burn Down'[Semanas]; MAX('Burn Down'[Semanas]); DESC)
    )
    )

    consegue me ajudar?
  • User profile image
    ingrid gomes

    Boa Tarde!

    Eu estou com uma duvida , preciso fazer um planejamento(ele é feito pegando o total de coisas que tenho para fazer dividindo por 5 dias e depois por 6, que são as vezes que acontece) acumulado, esse planejamento acontece 6 vezes ao dia e quando o realizado não é igual o planejado, preciso acumular para o próximo horário ou ate mesmo o próximo dia.
    Por exemplo:
    13:00 tive 20 planejados/ 10 realizados. Então sobraria 10 planejados.
    14:00 tive 20 plan + 10 acumulados/ realizei 20. Então sobraria 10 plan.
    15:00 tive 20 plan + 10 acumulados/ realizei 25. Então sobraria 5 plan.
    16:00 tive 20 plan + 10 acumulados/ realizei 28. Então sobraria 2 plan.

  • User profile image
    Gustavo

    Boa tarde, tenho uma necessidade enorme e não consigo encontrar uma solução.
    Tenho uma matriz no Power Bi onde tenho dados de saldo bancário desde 2014 apresentados mês a mês, nesse mesmo painel eu coloquei um filtro por período. Gostaria que quando o usuário selecionasse um período ele trouxesse todos os valores anteriores acumulados em uma coluna, como se fosse um saldo anterior. Exemplo, se ele escolher da inicial 08/2019, ele informasse em uma coluna todos os valores anteriores a 08/2019, dessa forma o valor acumulado seria o (saldo anterior + saldo do período selecionado).
    Da forma que está hoje o saldo bancário só bate se o usuário selecionar todo o período com movimentação na conta porque quando ele filtra um período ele desconsidera os valores do período não selecionado.

  • User profile image
    Milena

    Olá,
    Parabéns pelo trabalho.

    Tenho uma dúvida, da pra utilizar como uma forma mais "geral" ? sem especificar alguma coluna como a categoria, somente um acumulado linha a linha de uma coluna, o que me permitia depois usar essa media com qualquer outra coluna em eixo e ou legenda.

  • User profile image
    Samantha Aita

    Olá
    parabéns pelo trabalho.
    Estou com dificuldades de utilizar a soma acumulada com date add.
    eu tenho um dashboard que possui um filtro de competência (exemplo: 05/2020)
    em todas as análises da pagina faço comparações com M-1 (abril) M-6 (novembro/19) e M-12 (maio/19)
    utilizo por exemplo

    CALCULATE([Soma de Recebido];DATEADD('CALENDÁRIO'[DATA];-1;MONTH))

    portanto independente do filtro que exista na pagina, ele me trará os dados nas medidas criadas refente ao M-1, M-6 e M-12

    acontece que para a soma acumulada esta logica não está funcionando.
    poderia me ajudar?


    CALCULATE(
    [Soma de Recebido];
    FILTER('CALENDÁRIO';DATEADD('CALENDÁRIO'[DATA];-1;MONTH)<=MAX('CALENDÁRIO'[DATA])))

  • User profile image
    DouglasV

    Olá,

    Como faço por exemplo se não quiser acumular os dados trimestrais. Por exemplo na minha industria a capacidade de produção é de 100 unidades mês no 1T20, no 4T20 eu terminei uma expansão e a capacidade aumentou para 200 unidades mês. Se eu olhar esses dados trimestralmente terei:
    1T20: 300 unidades
    2T20: 300 unidades
    3T20: 300 unidades
    4T20: 900 unidades

    Quando eu quiser olhar minha capacidade produtiva do ano de 2020, não quero que ela some 300+300+300+900 = 1800 unidades ano.
    Quero que mostre apenas como terminou minha capacidade produtiva no ano de 2020, ou seja, 900 unidades.

    Como faço para não fazer essa soma quando analiso o anual e sim o numero do último trimestre. Gostaria que eu pudesse por exemplo fazer o Drilldown tb (qnd eu clicasse no ano 2020, abrisse os trimestres mostrando que no 1,2 e 3 tri a capacidade era 300 unidades por tri e depois passou para 900 por tri, e depois qnd clicasse no tri mostrasse que de jan até set era de 100un/mês e de out até dez 200un/mês.

    é possivel isso?

Add Your 2 Cents