Ir para conteúdo
  • 0

Rank Não funciona com tabelas diferentes


DoisLs

Pergunta

  • Membros

Estou fazendo uma tabela de rank, que usam duas tabelas.
Quando eu tiro esse vw_dim, ela funciona:

image.thumb.png.227507cce11309b007fa6d8c9a777e25.png

 

Porém. quando eu insiro nas colunas Ge_COML_NOME e EXEC_VEND_NOME, os valores ficam em branco e quebram o Rank

 

image.thumb.png.5ec20acf85d6352a5f656cc1d7074c45.png

 

RELACIONAMENTO:

image.png.4379f0821c06a9abdf76ddcd3e6ac6dc.png

 

MEDIDA USADA:

Rank Top Marca =
CALCULATE(
    RANKX(
       ALLSELECTED(vw_ent_margin_company[executivo_marca]),
       [TPV Proj]
    ),
    ALL(vw_ent_margin_company[NOME_MARCA]),
    ALLSELECTED(vw_ent_margin_company[ID_MARCA]),
    ALL(vw_dim_hierarchy_commercial_emp[GER_COML_NOME]),
    ALL(vw_dim_hierarchy_commercial_emp[EXEC_VEND_NOME])
)
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
  • Membros

Bom dia, @DoisLs, tudo bem?

Isso acontece pq vc mudou o seu contexto de avaliação.

Veja que na primeira solução vc fez um ranking considerando apenas uma coluna de marca - dentro do argumento da sua medida de Rankx vc informou uma coluna, e no seu visual vc utilizou 2 coluna de marca que acredito serem únicas: ID e marca, cada marca com seu próprio ID único, por isso funcionou sua medida.

No segundo print, vc adicionou novos contextos de avaliação: empregado e gerente, ou seja, o contexto é outro - por isso sua medida não vai funcionar.

Pra resolver isso, vc precisar ajustar sua medida para ela considerar o novo contexto de avaliação.

Para isso, sugiro tentar adicionando a medida CROSSJOIN dentro da RANKX:

Medida: Rankx(

CROSSJOIN(ALL(IDMARCA), ALL(EMPREGADO), ALL(GERENTE))

),

[SUA MEDIDA VALOR].

Dessa forma, será feito um produto cartesiano entre essas colunas e retornará o ranking desejado.

Se for acrescentar mais alguma coluna, esta deverá estar dentro da CROSSJOIN tbm, ok?

Portanto, cuidado com o famoso "contexto de avaliação"...rsrsrsrs....

Espero que tenha conseguido ajudar.

Sucesso aí.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
Em 16/06/2022 em 06:57, Rodrigo R1 disse:

Bom dia, @DoisLs, tudo bem?

Isso acontece pq vc mudou o seu contexto de avaliação.

Veja que na primeira solução vc fez um ranking considerando apenas uma coluna de marca - dentro do argumento da sua medida de Rankx vc informou uma coluna, e no seu visual vc utilizou 2 coluna de marca que acredito serem únicas: ID e marca, cada marca com seu próprio ID único, por isso funcionou sua medida.

No segundo print, vc adicionou novos contextos de avaliação: empregado e gerente, ou seja, o contexto é outro - por isso sua medida não vai funcionar.

Pra resolver isso, vc precisar ajustar sua medida para ela considerar o novo contexto de avaliação.

Para isso, sugiro tentar adicionando a medida CROSSJOIN dentro da RANKX:

Medida: Rankx(

CROSSJOIN(ALL(IDMARCA), ALL(EMPREGADO), ALL(GERENTE))

),

[SUA MEDIDA VALOR].

Dessa forma, será feito um produto cartesiano entre essas colunas e retornará o ranking desejado.

Se for acrescentar mais alguma coluna, esta deverá estar dentro da CROSSJOIN tbm, ok?

Portanto, cuidado com o famoso "contexto de avaliação"...rsrsrsrs....

Espero que tenha conseguido ajudar.

Sucesso aí.

 

 

Rodrigo não funcionou, a tabela fica em branco:

image.png.ce6996f63b13697d7ef01e5f61410c99.png

image.png.09f2874ac4ba7169745a4bfa9d8d10af.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Agora, se quiser um ranking ignorando a marca (print abaixo)
image.png.10a770b9ecd1f849daf83b0fe1298d34.png
tem que fazer o crossjoin como sugerio pelo @Rodrigo R1
 

Ranking Ajuda =
VAR vTabela =
CROSSJOIN(
    ALL(dPessoa[NOM_PESSOA_COMPLETO]),
ALL(dPessoa[SUPERVISOR]),
    ALL(dSku[MARCA])
)
RETURN
RANKX(
vTabela,
[Total]
)

Qualquer coisa da um toque que fazemos uma call rapidinho.

 

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...