Ir para conteúdo
  • 0

Como Acumular Saldo num Visual sem Colunas de Datas?


vascoa
Ir para solução Solucionado por Rodrigo R1 ,

Pergunta

  • Alunos

Boa noite pessoal!

Se alguém puder me ajudar, estou tentando fazer uma medida acumulada do "% de Repr" (que é uma medida).  Nesse visual, não tenho datas! Como acumular medidas? Estou terminando a Trilha Express! Começando o módulo de visual!

Como fazer a acumulação de saldo de uma medida sem colunas de tempo no visual?

Agradeço a atenção!

 

Print de Visual de Matriz.jpg

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos

Olá bom dia @vascoa sem a informação de data, o acumulado irá respeitar o contexto de ordenação que terá o controle.
* crie um índice para ter uma ordenação precisa. 

Você pode somar o acumulado até o maior índice do contexto desta forma. ordenar pelo nome do fornecedor poderia dar problema se ele se repetir 
 

 

 

image.png.70490c3209783d5f7f98d06aa39a7884.png


Este indice que usei na formula criei direto no Power query para teste, mais pode traze-lo da sua fonte no seu ETL
 

= Table.AddIndexColumn(Fonte, "Índice", 1, 1, Int64.Type)

Espero que possa ter ajudado, em caso positivo, peço que marque este resposta como solucionada por gentileza. Obrigado ! 
Weverton Todeschini | LinkedIn

exemplo acumulado.pbix

Editado por weverton
Link para o comentário
Compartilhar em outros sites

  • 1
  • Alunos

Bom dia @vascoa, tudo bem amigo?

Segue uma sugestão de solução para o seu caso.

A primeira medida é para encontrar o faturamento acumulado.

Acumulado R1  =

var faturamentototal =

CALCULATE([Faturamento],

ALLSELECTED(dClientes))

 

var faturamentoAtual = [Faturamento]

 

var tabela =

SUMMARIZE(

ALLSELECTED(fFaturamento),

dClientes[CLIENTE],

"Vendas", [Faturamento])

 

var faturamentoacumulado =

if(

[Faturamento] > 0,

sumx(

FILTER(tabela,

[Vendas] >= faturamentoAtual),

[Vendas]))

 

return

faturamentoacumulado

 

A segunda medida é para o % do acumulado

% Acumulado R1 =

var faturamentototal =

CALCULATE([Faturamento],

ALLSELECTED(dClientes))

 

var faturamentoAtual = [Faturamento]

 

var tabela =

SUMMARIZE(

ALLSELECTED(fFaturamento),

dClientes[CLIENTE],

"Vendas", [Faturamento])

 

var faturamentoacumulado =

if(

[Faturamento] > 0,

sumx(

FILTER(tabela,

[Vendas] >= faturamentoAtual),

[Vendas]))

 

return

Divide(
faturamentoacumulado,
faturamentototal)

 

Como você não disponibilizou seu PBIX, eu criei essas medidas através de uma base minha aqui.

O que você precisa fazer agora é ajustar as medidas acima a sua necessidade, conforme seu modelo de dados - trocar colunas e medidas conforme sua base.

Veja que é uma solução um pouco mais avançada, com utilização de tabela virtual - mas nada que você não consiga compreender. Faça com calma, etapa a etapa que irá conseguir compreender a solução, amigo.

Espero que tenha conseguido ajuda-lo.

Sucesso aí, amigo.

 

  • Like 3
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 11/06/2022 em 08:12, weverton disse:

Olá bom dia @vascoa sem a informação de data, o acumulado irá respeitar o contexto de ordenação que terá o controle.
* crie um índice para ter uma ordenação precisa. 

Você pode somar o acumulado até o maior índice do contexto desta forma. ordenar pelo nome do fornecedor poderia dar problema se ele se repetir 
 

 

 

image.png.70490c3209783d5f7f98d06aa39a7884.png


Este indice que usei na formula criei direto no Power query para teste, mais pode traze-lo da sua fonte no seu ETL
 

= Table.AddIndexColumn(Fonte, "Índice", 1, 1, Int64.Type)

Espero que possa ter ajudado, em caso positivo, peço que marque este resposta como solucionada por gentileza. Obrigado ! 
Weverton Todeschini | LinkedIn

exemplo acumulado.pbix 26 kB · 2 downloads

Boa noite Weverton! Obrigado por ter me respondido!

Entendi bem pelos "prints" e pelo arquivo PBIX que você anexou!

Porém, tentei fazer conforme seu exemplo mas não deu certo! 

Acho que o "print" que postei como exemplo, não retratou bem a configuração dos meus dados!

A coluna (no "print" que postei) "Outras Despesas Não Operacionais 2020" é uma medida (filtrada), que deriva de outra medida (também filtrada) que é a "Outras Despesas Não Operacionais" que, por sua vez, deriva de outra medida, que é a "Pagamentos Devidos" e, é originária da soma da coluna VALOR ORIGINAL da tabela fPagamento (fPagamento[VALOR ORIGINAL]):

OUTRAS DESPESAS NÃO OPERACIONAIS 2020 filtrada da medida OUTRAS DESPESAS OPERACIONAIS que é filtrada da medida PAGAMENTOS DEVIDOS que é originária da somatória da coluna VALOR ORIGINAL da Tabela fPagamento.

No modelo de dados, na tabela fPagamento, existe a coluna índice (FK) ID_BENEFICIÁRIO (a mesma faz o relacionamento entre as tabelas dFornecedor e fPagamento) ao qual utilizei como índice na solução que você gentilmente sugeriu. Mas não foi possível acumular, conforme "print" da medida e do visual abaixo:

image.png.d790584c3707943cc2bce729ad7b44cb.png

image.thumb.png.92c2b0048a0a99990cdf94d98a89b66c.png

A coluna BENEFICIÁRIO tem origem na tabela dimensão dFornecedor.

Não consegui identificar o erro (ou os erros)! Por favor, se puder continuar me ajudando aonde estou errando, agradeço!

No sábado à tarde, dia 11/06/22, ví sua sugestão e fiquei tentando uma solução no modelo até o dia seguinte! Depois não pude mais tratar esse visual! Só hoje pude te responder! Não esqueci! Como também não esqueci do colega Bruno Abdalla que também gentilmente me respondeu (vou respondê-lo nas tentativas que fiz no meu modelo de dados)!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
21 horas atrás, Rodrigo R1 disse:

Bom dia @vascoa, tudo bem amigo?

Segue uma sugestão de solução para o seu caso.

A primeira medida é para encontrar o faturamento acumulado.

Acumulado R1  =

var faturamentototal =

CALCULATE([Faturamento],

ALLSELECTED(dClientes))

 

var faturamentoAtual = [Faturamento]

 

var tabela =

SUMMARIZE(

ALLSELECTED(fFaturamento),

dClientes[CLIENTE],

"Vendas", [Faturamento])

 

var faturamentoacumulado =

if(

[Faturamento] > 0,

sumx(

FILTER(tabela,

[Vendas] >= faturamentoAtual),

[Vendas]))

 

return

faturamentoacumulado

 

A segunda medida é para o % do acumulado

% Acumulado R1 =

var faturamentototal =

CALCULATE([Faturamento],

ALLSELECTED(dClientes))

 

var faturamentoAtual = [Faturamento]

 

var tabela =

SUMMARIZE(

ALLSELECTED(fFaturamento),

dClientes[CLIENTE],

"Vendas", [Faturamento])

 

var faturamentoacumulado =

if(

[Faturamento] > 0,

sumx(

FILTER(tabela,

[Vendas] >= faturamentoAtual),

[Vendas]))

 

return

Divide(
faturamentoacumulado,
faturamentototal)

 

Como você não disponibilizou seu PBIX, eu criei essas medidas através de uma base minha aqui.

O que você precisa fazer agora é ajustar as medidas acima a sua necessidade, conforme seu modelo de dados - trocar colunas e medidas conforme sua base.

Veja que é uma solução um pouco mais avançada, com utilização de tabela virtual - mas nada que você não consiga compreender. Faça com calma, etapa a etapa que irá conseguir compreender a solução, amigo.

Espero que tenha conseguido ajuda-lo.

Sucesso aí, amigo.

 

Bom dia Rodrigo! Tudo bem! E com você?

Obrigado pela atenção! No decorrer da semana, vou tentar "adaptar" ao meu modelo e te retorno! Geralmente faço à noite devido ao trabalho!

Vou retornar ao amigo Bruno Abdalla que também, gentilmente me sugeriu solução!

Estou tal qual as "reações" do Fernando Diniz com relação ao DAX! 😅😅

Muito obrigado!

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...