Alunos Solução Bruunotoleedo Postado Maio 13, 2022 Alunos Solução Compartilhar Postado Maio 13, 2022 (editado) Boa noite Pessoal, Gostaria de um help. Queria mostrar em uma cartão qual o ranking do município que eu estou filtrando. Teria 2 ranking's uma para mostrar a posição do município em relação ao estado e outro em relação ao brasil. Ex: quando eu filtrar o estado ACRE e o município RIO BRANCO o cartão me mostraria a posição 2 Mas quando eu filtrasse apenas o município RIO BRANCO o cartão me mostraria a posição 1247 Editado Maio 13, 2022 por Bruunotoleedo Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Afelicio Postado Maio 15, 2022 Alunos Compartilhar Postado Maio 15, 2022 Boa Noite @Bruunotoleedo Veja se é isso que precisa RANK CIDADES (faz o rank entre todas as cidades do Brasil) Rank Cidade = RANKX(ALL(Tabela),[Valor Cidade],,ASC,Dense) RANK PARA ESTADO (Faz o rank da cidade em relação ao estado) RANK ESTADO = Var UF= MAX(Tabela[UF]) Return RANKX( FILTER( ALL(Tabela),Tabela[UF]=UF), [Valor Cidade],,DESC,Dense) 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruunotoleedo Postado Maio 17, 2022 Autor Alunos Compartilhar Postado Maio 17, 2022 (editado) Seria isso mas em um card... A função RANKX respeita o contexto de filtro como vc fez aí em sua solução, mas quando vc coloca isso em um card ele perde o contexto e a função te mostra sempre o número 1 por exemplo... Eu conseguir resolver e irei postar a solução aqui nesse mesmo post para contribuir com a comunidade e ajudar os próximos com o mesmo contexto. Usei a função CROSSJOIN, SUMMARIZE, RANKX e VALUES Nível Estado: Ranking Estado = VAR CROSS = CROSSJOIN(ALL(dEstado[Municipio]), ALLSELECTED(dCalendario)) --- JUNÇÃO DAS TABELAS PARA A REALIZAÇÃO DO RANKING ENTRE 2 OU MAIS TABELAS. CRIO ESSA JUNÇÃO PQ NECESSITO DO FILTRO DE QUADRIMESTRE PARA SELECIONAR OS INDICADORES. VAR TABELA_RANK = SUMMARIZE(dEstado, [Uf], [Municipio], "Nota", [ISF Desempenho], "Ranking", RANKX(CROSS, [ISF Desempenho])) --- CRIA UMA TABELA VIRTUAL COM O RANKING DOS ESTADOS VAR SELECAO = VALUES(dEstado[Municipio]) --- CRIA A SELEÇÃO DOS MUNICÍPIOS RETURN CALCULATE(SUMX(TABELA_RANK, [Ranking]), FILTER(CROSS, [Municipio] = SELECAO)) Nível Brasil: Ranking Brasil = VAR CROSS = CROSSJOIN(ALL(dEstado), ALLSELECTED(dCalendario)) --- JUNÇÃO DAS TABELAS PARA A REALIZAÇÃO DO RANKING ENTRE 2 OU MAIS TABELAS. CRIO ESSA JUNÇÃO PQ NECESSITO DO FILTRO DE QUADRIMESTRE PARA SELECIONAR OS INDICADORES. VAR TABELA_RANK = SUMMARIZE(dEstado, [Uf], [Municipio], "Nota", [ISF Desempenho], "Ranking", RANKX(CROSS, [ISF Desempenho])) --- CRIA UMA TABELA VIRTUAL COM O RANKING DOS ESTADOS VAR SELECAO = VALUES(dEstado[Municipio]) --- CRIA A SELEÇÃO DOS MUNICÍPIOS RETURN CALCULATE(SUMX(TABELA_RANK, [Ranking]), FILTER(CROSS, [Municipio] = SELECAO)) Essas funções me possibilitam mostrar o ranking de cada município ao filtra-lo como na imagem abaixo. Desenvolvi essa função com referencias do Power BI Experience do mestre @Leonardo Karpinski Editado Maio 17, 2022 por Bruunotoleedo 2 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos edsonrs10 Postado Maio 18, 2022 Alunos Compartilhar Postado Maio 18, 2022 Boa tarde meu amigo, usa a Allselect ao inves da All 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruunotoleedo Postado Maio 18, 2022 Autor Alunos Compartilhar Postado Maio 18, 2022 ALLSELECTED Nesse caso não funcionaria. Para a encontrar a posição em relação a um estado ou ao Brasil nesse caso a função tem que percorrer a tabela inteira, se colocássemos o ALLSELECTED, a função respeitaria o contexto em que ela esta inserida. Veja abaixo: USANDO A FUNÇÃO ALLSELECTED: Ranking Estado = VAR CROSS = CROSSJOIN(ALLSELECTED(dEstado[Municipio]), ALLSELECTED(dCalendario)) VAR TABELA_RANK = SUMMARIZE(dEstado, [Uf], [Municipio], "Nota", [ISF Desempenho], "Ranking", RANKX(CROSS, [ISF Desempenho])) VAR SELECAO = VALUES(dEstado[Municipio]) RETURN IF( AND( SELECTEDVALUE(dEstado[Municipio]) = BLANK(), SELECTEDVALUE(dEstado[Uf]) = BLANK()), 0, IF(AND( SELECTEDVALUE(dEstado[Municipio]) = BLANK(), SELECTEDVALUE(dEstado[Uf]) <> BLANK()), 0, CALCULATE(SUMX(TABELA_RANK, [Ranking]), FILTER(CROSS, [Municipio] = SELECAO)))) RESULTADO: USANDO A FUNÇÃO ALL: Ranking Estado - IF Pagamento = VAR CROSS = CROSSJOIN(ALL(dEstado[Municipio]), ALLSELECTED(dCalendario)) VAR TABELA_RANK = SUMMARIZE(dEstado, [Uf], [Municipio], "Nota", [ISF Desempenho], "Ranking", RANKX(CROSS, [ISF Desempenho])) VAR SELECAO = VALUES(dEstado[Municipio]) RETURN IF( AND( SELECTEDVALUE(dEstado[Municipio]) = BLANK(), SELECTEDVALUE(dEstado[Uf]) = BLANK()), 0, IF(AND( SELECTEDVALUE(dEstado[Municipio]) = BLANK(), SELECTEDVALUE(dEstado[Uf]) <> BLANK()), 0, CALCULATE(SUMX(TABELA_RANK, [Ranking]), FILTER(CROSS, [Municipio] = SELECAO)))) RESULTADO: Usando a função ALL será possível obter o ranking correto do município a nível estado e Brasil. Caso a gente use a função ALLSELECTED o ranking será sempre 1 pois a função respeitará o contexto aplicado. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos edsonrs10 Postado Maio 19, 2022 Alunos Compartilhar Postado Maio 19, 2022 Parabéns pela solução Bruno e por compartilhar, acabei usando para corrigir em um relatório. 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruunotoleedo Postado Maio 19, 2022 Autor Alunos Compartilhar Postado Maio 19, 2022 Maravilha... Vamos trocando experiência... @Leonardo Karpinski se tiver uma forma mais fácil ou performática de fazer ensina a gente. 🤣 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos edsonrs10 Postado Maio 25, 2022 Alunos Compartilhar Postado Maio 25, 2022 Show, agora estou precisando contar quantas vezes um vendedor foi top 5 em cada mês. Vou lançar esta. Valeu Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruunotoleedo Postado Maio 25, 2022 Autor Alunos Compartilhar Postado Maio 25, 2022 Bom laça pra nos que a gente tenta kkkkk Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruunotoleedo Postado Maio 25, 2022 Autor Alunos Compartilhar Postado Maio 25, 2022 Mas nesse caso vc vai ter que criar uma tabela virtual que faça esse tipo de calculo e depois contar, acredito que seja por ai Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Bruunotoleedo
Boa noite Pessoal,
Gostaria de um help.
Queria mostrar em uma cartão qual o ranking do município que eu estou filtrando.
Teria 2 ranking's uma para mostrar a posição do município em relação ao estado e outro em relação ao brasil.
Ex: quando eu filtrar o estado ACRE e o município RIO BRANCO o cartão me mostraria a posição 2
Mas quando eu filtrasse apenas o município RIO BRANCO o cartão me mostraria a posição 1247
Link para o comentário
Compartilhar em outros sites
9 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