Alunos Lucas Montezano Postado Janeiro 21, 2023 Alunos Compartilhar Postado Janeiro 21, 2023 Boa tarde pessoal, Tenho a coluna "Cod_Carga" que possui mais de um "Cod_Perfil" associado a ela, e gostaria de criar uma coluna "Cod_Perfil_Ajustado" em que armazenasse o "Cod_Perfil" de cada "Cod_Carga" com o "Data" mais recente. Como na imagem abaixo. Podem me ajudar pf? Power BI duvida.xlsx Link para o comentário Compartilhar em outros sites More sharing options...
1 Alunos Solução Bruno Abdalla de Souza Postado Janeiro 22, 2023 Alunos Solução Compartilhar Postado Janeiro 22, 2023 Veja se melhorou 20230121_CapturarCodigoDataMaisRecente_v1.pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Janeiro 21, 2023 Alunos Compartilhar Postado Janeiro 21, 2023 Veja se ajuda. 20230121_CapturarCodigoDataMaisRecente.pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Lucas Montezano Postado Janeiro 22, 2023 Autor Alunos Compartilhar Postado Janeiro 22, 2023 Oi Bruno é exatamente o que eu preciso muito obrigado. Mas tem um probleminha minha base de dados tem 3milhões de linhas e eu gastei mais de 1h pra rodar essa transformação. Fora que estou consumindo dados da nuvem e tenho receio de ficar muito caro, será q teria uma transformação mais otimizada? Obrigado! Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Lucas Montezano Postado Janeiro 22, 2023 Autor Alunos Compartilhar Postado Janeiro 22, 2023 Boa noite Renato, Não era exatamente isso q eu precisava mas o Bruno conseguiu achar uma solução, obrigado de qualquer forma! 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Lucas Montezano Postado Janeiro 22, 2023 Autor Alunos Compartilhar Postado Janeiro 22, 2023 @Bruno Abdalla de Souza ainda ficou muito lento, to achando que talvez a melhor forma e tentar fazer essa transformação no bigquery antes de levar p power bi. Aproveitando gostei muito da sua solução mas não entendi a 2° etapa, conseguiria me explicar como vc pensou por favor? Obrigado pela ajuda! = Table.AddColumn(AlteraTipoDados, "Cod_Perfil_Ajustadov1", each let vCodCarga = _[Cod_Carga], vDataMax = Table.SelectRows(AgrupaPorCodCargaDataMax, each ([Cod_Carga] = vCodCarga))[MES_MAX]{0}, vCodPerfil = AlteraTipoDados{[MES = vDataMax, Cod_Carga = vCodCarga]}[Cod_Perfil] in vCodPerfil ) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Janeiro 22, 2023 Alunos Compartilhar Postado Janeiro 22, 2023 Mais tarde eu explico o código. Uma outra opção seria tentarmos uma solução usando DAX e testar se performa melhor. Depois mando uma solução com DAX e a explicação da 2ª etapa conforme você pediu. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Lucas Montezano Postado Janeiro 22, 2023 Autor Alunos Compartilhar Postado Janeiro 22, 2023 Ótimo, acho que a solução por DAX deve resolver problema de otimização. Vlw! Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Janeiro 22, 2023 Alunos Compartilhar Postado Janeiro 22, 2023 Veja se esta solução com DAX melhora a performance. Cod_Perfil_Ajustado_DAX = VAR vDataMax = CALCULATE( MAX(Tabela_ComDAX[MES]), ALLEXCEPT(Tabela_ComDAX, Tabela_ComDAX[Cod_Carga]) ) VAR vCod_Perfil = CALCULATE( MAX(Tabela_ComDAX[Cod_Perfil]), FILTER( ALLEXCEPT(Tabela_ComDAX, Tabela_ComDAX[Cod_Carga]), Tabela_ComDAX[MES] = vDataMax ) ) RETURN vCod_Perfil 20230122_CapturarCodigoDataMaisRecente_v2.pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Janeiro 22, 2023 Alunos Compartilhar Postado Janeiro 22, 2023 Esta etapa do PowerQuery abaixo faz o seguinte: Table.AddColumn( AlteraTipoDados, "Cod_Perfil_Ajustadov1", each let vCodCarga = _[Cod_Carga], vDataMax = Table.SelectRows(AgrupaPorCodCargaDataMax, each ([Cod_Carga] = vCodCarga))[MES_MAX]{0}, vCodPerfil = AlteraTipoDados{[MES = vDataMax, Cod_Carga = vCodCarga]}[Cod_Perfil] in vCodPerfil ) A partir da Tabela (etapa) AlteraTipoDados, cria uma coluna chamada Cod_Perfil_Ajustadov1. Para cada linha (each), ela guarda em uma váriavel vCodCarga o código carga daquela linha. Na variável vDataMax, ela faz uma seleção de linhas na tabela AgrupaPorCodCargaDataMax, onde a coluna Cod-Carga da tabela AgrupaPorCodCargaDataMax deve ser igual à vari[avel vCodCarga. COmo ela retorna a tabela toda, depois eu trado apenas a coluna MES_MAX e a linha 0 (primeira e única linha da tabela retornada pelo Table.SelectRows). Na sequência, a varável vCodPerfil irá armazenar o código do perfil para a data máxima. Para isso, ela procura na tabela AlteraTipoDados, filtrando o mês pela variável vDataMax e o código de carga pela variável vCodCarga. NO final, retorna apena a coluna [Cod_Perfil] do registro retornado. 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Lucas Montezano Postado Janeiro 22, 2023 Autor Alunos Compartilhar Postado Janeiro 22, 2023 Deu super certo o código com DAX está rodando muito rápido! Obrigado pela explicação do código também! Abraços!! Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Lucas Montezano
Boa tarde pessoal,
Tenho a coluna "Cod_Carga" que possui mais de um "Cod_Perfil" associado a ela, e gostaria de criar uma coluna "Cod_Perfil_Ajustado" em que armazenasse o "Cod_Perfil" de cada "Cod_Carga" com o "Data" mais recente. Como na imagem abaixo.
Podem me ajudar pf?
Power BI duvida.xlsx
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora