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
    Marco​Aurelio68
    Renato boa tarde.

    Estou com dificuldades para encontrar uma formula de acumular o resultado semanal sem somar o resultado dos dias num fluxo de caixa que montei. Ex: tenho dias 1, 2, 3, 4 ,5 6 e 7 de uma semana. o saldo inicial do dia 1 é 100. tenho entradas de 20 e saidas de 10 no dia 1 com resultado de 110. o saldo inicial do dia 2 é 110 e o resultado final do dia 2 é 115 e assim por diante até o dia 7 onde o saldo inicial é o saldo final do dia 6 e com saldo final de 200. No final de uma semana eu tenho o resultado de saldo inicial 100 e o saldo final de 200. acontece que tenho nas colunas semanas e dias na hierarquia. quando estou com o filtro de colunas mostrando os dias ele fica correto, mas quando tiro o filtro de coluna deixando apenas a semana ele soma o valor de saldo inicial de todos os dias. como posso resolver, se é que consegui explicar o problema?
  • User profile image
    Petula

    Renato,
    boa tarde
    Não sei se este canal ainda esta sendo utilizado, mas estou com uma dificuldade para fazer um acumulado.
    Consigo fazer no excel, mas não consigo fazer no Power BI.

    Segue a formula do Excel:
    Na tabela tenho a coluna Qtde, que indica se eu comprei ou vendo um produto, da seguinte forma:
    Data PRODUTO QTDE TOTAL QTDE_SALDO
    01/01/2021 COLA 2 2
    02/01/2021 TESOURA 2 2
    10/02/2021 COLA 2 4
    12/02/2021 COLA -1 4
    15/02/2021 COLA -1 4
    01/03/2021 TESOURA 1 3
    05/03/2021 TESOURA 2 5
    Onde quando o valor é negativo, significa que eu vendi.
    O que preciso fazer é criar uma nova coluna que some os somente os valores positivos e quando eu acumular 10 ele comece a subtrair.
    Consegui criar a coluna e ir acumulando, o que não estou conseguindo fazer é ele subrair da propria coluna.

    Estou chamando a coluna que estou tentando criar de QTDE_SALDO.

    Segue como fiz no excel e funcionou :

    =SE(E(QTDE<0;QTDE_SALDO(da linha anterior)>=10); QTDE_SALDO(da linha anterior)-(-QTDE);TOTAL)

    Pois no Excel consigo pegar o valor da linha anterior para o calculo na mesma coluna.

    Não sei se deu para entender.

    Consegue ajudar?

    Obrigada,

Add Your 2 Cents