Ir para conteúdo
  • 0

Transações por usuário e classificação por quantidade


Marília Maragno
Ir para solução Solucionado por Michele ,

Pergunta

  • Alunos

Olá! Eu fiz um agrupamento na modelagem pelo id do usuário (matchedUserId) dentro da tabela dTransacoesPorUsuario (que é onde constam todas as transações dos usuários) para descobrir quantas transações cada usuário fez por mês. 
Acontece que ele não desmembra mensalmente do jeito que está, e eu preciso ter a visualização de quantas transações cada usuário fez por mês para fazer uma análise por classificação: (usuários que fizeram 2 transações no mês, 3 transações, 10 transações e assim por diante).

image.png.5042359ad055914adad6ef53155e69bf.png

O objetivo final é fazer uma visualização cohort com esses dados, semelhante à segunda imagem.

image.thumb.png.9c979e91b7bf6f478ba663140cc3af97.png

Alguém já fez algo parecido que possa ajudar? Seria em DAX a melhor maneira para resolver?

https://drive.google.com/drive/folders/1GG2XubWojbL2sbz3y2nnnlMQhkjPAGtF?usp=sharing

Aqui está o arquivo original.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Olá @Marília Maragno!

Então, pelo que vi o seu agrupamento traz o total/acumulado de transações por usuário, dessa forma não tem como descer em nenhuma granularidade. Para somar/contar as transações do mês o ideal é então agrupar por usuário x data.

Criei um exemplo de tabela agrupada dessa forma citada acima, como você conhece melhor a sua modelagem e dados talvez seja mais fácil para você pensar no próximo passo. Para a montagem da medida será necessário definir bem antes como os dados serão apresentados e que filtros/segmentadores de dados poderão afetar, se for o caso até montar essa tabela numa granularidade menor, por mês, por exemplo.

Veja se te dá alguma luz esse exemplo abaixo, se quiser depois compartilhar até onde você conseguiu chegar e onde vai precisar de ajuda.

Transacoes_Usuarios_Dia =
SUMMARIZE(
    fFace_transaction_intention,
    dCalendarios[Data],
    fFace_transaction_intention[matchedUserId],
    "Total Transações", COUNT(fFace_transaction_intention[matchedUserId])
)

Obs.: Recomendo rever a modelagem e tabelas, tem uma tabela de usuários que habitualmente é uma Dimensão, mas está como Fato e se relacionando de forma ambígua com a Calendário, ao tentar tornar esse relacionamento 1 > N acaba criticando. Como disse, em teoria tabelas de usuários são Dimensões e por isso devem ter informação única de cada usuário e assim o relacionamento com demais tabela fica correto, senão você está relacionando Fatos com Fatos e isso também não é recomendado.

No teste que fiz precisei deixar inativo o relacionamento dessa tabela com a Calendário, para poder relacionar essa nova "Transacoes_Usuarios_Dia" com a Calendário, senão não deixava, por causa dessa ambiguidade no modelo.

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...