Ir para conteúdo
  • 0

Fazer mescla de consulta da dimensão para a fato


Danilo Kapor
Ir para solução Solucionado por champanjonata ,

Pergunta

  • Alunos

Boa noite pessoal, tudo bem? 

Estou com uma dúvida que está na minha cabeça há alguns dias. Dei uma boa pesquisada mas não consegui chegar a uma resposta concreta então venho aqui pedir ajuda de vocês. 

Já tinha uma noção de power bi r agora comecei o curso completo aqui. Sei todo o conceito de fato/dimensão, star schema etc, mas o que acontece é o seguinte, quando eu aprendi power bi, foi me ensinado que devemos ter uma tabela dimensão para tudo que queremos usar como filtro. E o processo para isso, quando não temos id para as dimensões, é duplicar a tabela fato, deixar apenas as colunas relevantes para a dimensão, remover as duplicatas, adicionar uma coluna de índice, mesclar essa coluna de índice na tabela fato e retirar as colunas desnecessárias. 

Acontece que estou com um caso que tenho uma lista de jobs feitos pelo time e diversas colunas que não tem ligação entre si como por exemplo:

Tipo do job - se ele estava planejado, se não era planejado, se é uma alteração etc. 

Peça - qual peça foi entregue no job

Responsável - quem fez o job

Status - se o job foi entregue, está sendo feito ou caiu

Cliente - para qual cliente o job foi feito

Além de outras colunas de números, como quantidade de peças, tempo em minutos, Pontuação para o job e mais algumas que não vem ao caso. 

Para todas as colunas que citei, criei uma nova tabela dimensão a partir da fato e fiz todo o processo que citei acima. Porém, tenho diversas tabelas com apenas duas colunas (id e dados únicos) e além disso, tenho diversas etapas de mesclas de consultas na minha tabela fato, o que deixa o processamento mais lento e o arquivo mais pesado. 

E em uma das aulas do Leo sobre o Power Query, ele cita que devemos evitar ao máximo mesclar consultas na tabela fato. 

Minha dúvida é, existe algum outro jeito de fazer esse processo já que não tenho os id's? Eu deveria criar as tabelas dimensão apenas com os tipos únicos e não criar uma chave única, para não ter que fazer a mescla de consultas? 

Sinto que estou fazendo do jeito errado, mas estou um pouco sem norte. 

Obrigado desde já 

 

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
8 horas atrás, Danilo Kapor disse:

@champanjonata acho que meu problema é um pouco mais embaixo.

 

Trabalho em uma agência de publicidade e as pessoas preenchem uma tabela no google sheets com os jobs que realizaram. Conecto o google sheets direto no power bi e faço todo o tratamento por lá.

Hoje a possibilidade de estruturar um banco de dados mesmo é praticamente nula. Eu poderia criar outras tabelas auxiliares, mas algumas das colunas como a de peças, por exemplo, constantemente tem novas peças adicionadas e fazer uma tabela manual não vai ser o melhor caminho. Além disso, as pessoas que efetuam o preenchimento são em sua maioria designers, então já acontece uma dificuldade com o preenchimento das coisas escritas, se colocássemos os id's, teríamos muitos erros de preenchimento.

Eu realmente não vejo muita saída nesse meu caso kkkk

Entendi, mesmo que seja uma planilha, ainda há a possibilidade de resolver.

Eu utilizo algumas planilhas também, mesmo que não seja o ideal é o que tenho.... Utilizo a ferramenta pentaho data integration (PDI) para obter os dados da planilha e eliminar duplicidade, posteriormente saldo os dados em uma tabela no banco de dados.... não sei se conhece a ferramenta mas ela é relativamente simples de usar, vou te passar um link de um grupo no telegram referente ao pentaho (https://t.me/Pentaho) caso queira dar uma olhada...

image.png.33101cc6620b5c92b9648725b2a974b4.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 09/07/2023 em 00:10, Danilo Kapor disse:

Boa noite pessoal, tudo bem? 

Estou com uma dúvida que está na minha cabeça há alguns dias. Dei uma boa pesquisada mas não consegui chegar a uma resposta concreta então venho aqui pedir ajuda de vocês. 

Já tinha uma noção de power bi r agora comecei o curso completo aqui. Sei todo o conceito de fato/dimensão, star schema etc, mas o que acontece é o seguinte, quando eu aprendi power bi, foi me ensinado que devemos ter uma tabela dimensão para tudo que queremos usar como filtro. E o processo para isso, quando não temos id para as dimensões, é duplicar a tabela fato, deixar apenas as colunas relevantes para a dimensão, remover as duplicatas, adicionar uma coluna de índice, mesclar essa coluna de índice na tabela fato e retirar as colunas desnecessárias. 

Acontece que estou com um caso que tenho uma lista de jobs feitos pelo time e diversas colunas que não tem ligação entre si como por exemplo:

Tipo do job - se ele estava planejado, se não era planejado, se é uma alteração etc. 

Peça - qual peça foi entregue no job

Responsável - quem fez o job

Status - se o job foi entregue, está sendo feito ou caiu

Cliente - para qual cliente o job foi feito

Além de outras colunas de números, como quantidade de peças, tempo em minutos, Pontuação para o job e mais algumas que não vem ao caso. 

Para todas as colunas que citei, criei uma nova tabela dimensão a partir da fato e fiz todo o processo que citei acima. Porém, tenho diversas tabelas com apenas duas colunas (id e dados únicos) e além disso, tenho diversas etapas de mesclas de consultas na minha tabela fato, o que deixa o processamento mais lento e o arquivo mais pesado. 

E em uma das aulas do Leo sobre o Power Query, ele cita que devemos evitar ao máximo mesclar consultas na tabela fato. 

Minha dúvida é, existe algum outro jeito de fazer esse processo já que não tenho os id's? Eu deveria criar as tabelas dimensão apenas com os tipos únicos e não criar uma chave única, para não ter que fazer a mescla de consultas? 

Sinto que estou fazendo do jeito errado, mas estou um pouco sem norte. 

Obrigado desde já 

 

Olá Danilo, tudo bem?

Realmente fica muito complicado quando não temos como extrair as dimensões para uma modelagem 100% funcional.... em todo caso precisamos resolver o problema e trabalhar com as opções que temos. Sendo assim veja se não é possível uma query ao invés de duplicar e remover as colunas desnecessárias posteriormente, como no exemplo abaixo:

 

image.png.77fb7a332da7efbed177911f3c2b4ad7.png

 

Mas adiante com a sua equipe que é fundamental ter essas tabelas de 'cadastros'.

Após a execução da query você pode trabalhar a criação de index e demais transformações que precisar.

Ah uma dica se for usar query: crie index no banco de dados para as colunas necessárias, isso vai aumentar e muito a performance da consulta.

Depois conta pra gente se ficou melhor com essa dica.

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@champanjonata acho que meu problema é um pouco mais embaixo.

 

Trabalho em uma agência de publicidade e as pessoas preenchem uma tabela no google sheets com os jobs que realizaram. Conecto o google sheets direto no power bi e faço todo o tratamento por lá.

Hoje a possibilidade de estruturar um banco de dados mesmo é praticamente nula. Eu poderia criar outras tabelas auxiliares, mas algumas das colunas como a de peças, por exemplo, constantemente tem novas peças adicionadas e fazer uma tabela manual não vai ser o melhor caminho. Além disso, as pessoas que efetuam o preenchimento são em sua maioria designers, então já acontece uma dificuldade com o preenchimento das coisas escritas, se colocássemos os id's, teríamos muitos erros de preenchimento.

Eu realmente não vejo muita saída nesse meu caso kkkk

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Danilo Kapor tudo bem? 😃

Esperamos que você tenha encontrado a solução que tanto desejava!!

Caso alguma resposta tenha ajudado, você pode marcá-la como Solução . Com isso o tópico poderá ser fechado! 

Maas...

Pode acontecer de você receber uma resposta que não é 100% do que você esperava. Mesmo assim, se ela o ajudou de alguma forma para que você mesmo conseguisse chegar à solução, conte como você fez isso e marque como a melhor resposta. 😉

 

Obrigado por tonar nossa comunidade #INCOMPARÁVEL!!

Att Julian Salcedo I Community Manager Xperiun

 

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