Ir para conteúdo
  • 0

Agrupar Valores e Acumulados de Graficos Diferentes


Rafael Borges
Ir para solução Solucionado por Edson Igari ,

Pergunta

  • Alunos

Olá pessoal, bom dia!  Tudo bem?

Estou com uma dúvida em um desenvolvimento, nesse trabalho eu tenho duas tabelas Calendarios. O motivo que é uma eu preciso mostrar resultado futuros. Então em uma tabela eu estou projetando os resultados atráves de uma medida para os proxímos 3 meses.

Basicamente o valor que vai estar em Janeiro ele é o resultado de Fevereiro, Março e Abril e assim segue a lógica. Para realizar esse processo eu utilizado uma tabela AuxCalendario para fazer essa projeção de meses.

Bom, em outra parte, eu tenho uma tabela dCalendario normal, que tem os resultados normalmente do mês de outra base.

Para cada tabela eu tenho um grafico de pontuação mensal e o acumulado, o acumulado é a média daquele periodo selecionado. Para isso eu tenho outra tabela Calendario Personalizado para ter no eixo X o valor de Acumulado. Tenho um medida e faço a interseção para trazer os resultados.

O que eu preciso, preciso unificar essas duas tabelas para poder somar os valores. Confesso que estou com uma dificuldade de fazer elas estarem na mesma dimensão. Já tentei modificar o relacionamento, criar outra tabela e fazer as 2 ficarem em uma. E até mesmo criar uma medida para fazer a interseção das 3 e não tive sucesso. 

Agradeço atenção dos amigos que se disponibilizar em ajudar!


image.png.02d1bd7791f81139588a55fb40776a57.png


Unir esses dois graficos: Nesse caso cada um tem um filtro por que estão fazendo referencias em tabelas diferentes. Devido ao problema que já mencionei acima! 

image.png.713a238193e46c205729e3de50d512f3.png

Estou enviando o PBIX também.

Duvida.pbix

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos

Opa @Edson Igari, bom dia ! Tudo bem e com você cara?

Cara muito obrigado pelo apoio, eu realmente não sabia que era possivél realizar essa join via DAX. Uma nova descoberta essa medida e forma de pensar que você mostrou.

Obrigado pelo seu apoio e atenção nessa dúvida. Era realmente o resultado esperado cara, obrigado mesmo.

Com base em sua medida, eu adicionei mais 3 medidas para fazer o calculo e ajustei para trazer o acumulado que acabou somando. Mas ficou muito mais fácil claro, depois da sua solução.

Vou deixar aqui também o ajuste para a comunidade:
 

Total Meses Acumulado = 
VAR vMeses = VALUES(dCalendario[mes])
VAR vResMeses =
    CALCULATE(
        [calculo Estado e Horímetro]
            + [calculo Aderência do Forecast]
            + [calculo Vida útil de Componentes]
            + [calculo ROM de Equipamentos]
            + [calculo Atualização de Forecast],
        ALL(dCalendario),
        dCalendarioAuxAcumulado[mes] IN vMeses
    )

VAR vAcumulado =
    CALCULATE(
        AVERAGEX(
            ADDCOLUMNS(
                SUMMARIZE(
                    dCalendarioAuxAcumulado,
                    dCalendarioAuxAcumulado[ano],
                    dCalendarioAuxAcumulado[nome_mes_abrev]
                ),
                "@Horimetro", CALCULATE([calculo Estado e Horímetro], dCalendario[mes] IN vMeses),
                "@VidaUtil", CALCULATE([calculo Vida útil de Componentes], dCalendario[mes] IN vMeses),
                "@ROM", CALCULATE([calculo ROM de Equipamentos], dCalendario[mes] IN vMeses),
                "@Atualizacao", CALCULATE([calculo Atualização de Forecast], dCalendario[mes] IN vMeses),
                "@Forecast", CALCULATE([calculo Aderência do Forecast], ALL(dCalendario))
            ),
            [@Forecast] + [@Horimetro] + [@Atualizacao] + [@ROM] + [@VidaUtil]
        ),
        ALL(dCalendarioAuxAcumulado),
        dCalendarioAuxAcumulado[mes] <= MAX(dCalendarioAuxAcumulado[mes]) - 1
    )

RETURN
    IF(
        SELECTEDVALUE(dCalendarioAuxAcumulado[mes]) = 13,
        vAcumulado,
        vResMeses
    )

@Edson Igari, eu tinha aberto também essa mesma dúvida no modulo de modelagaem, acreditando que poderia ser algo por lá, vou deixar o link aqui, se você poder responder por lá, para eu poder fechar também.
 



Mais uma vez, muito obrigado e um abraço ao amigo! 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
14 minutos atrás, Rafael Borges disse:

Opa @Edson Igari, bom dia ! Tudo bem e com você cara?

Cara muito obrigado pelo apoio, eu realmente não sabia que era possivél realizar essa join via DAX. Uma nova descoberta essa medida e forma de pensar que você mostrou.

Obrigado pelo seu apoio e atenção nessa dúvida. Era realmente o resultado esperado cara, obrigado mesmo.

Com base em sua medida, eu adicionei mais 3 medidas para fazer o calculo e ajustei para trazer o acumulado que acabou somando. Mas ficou muito mais fácil claro, depois da sua solução.

Vou deixar aqui também o ajuste para a comunidade:
 

Total Meses Acumulado = 
VAR vMeses = VALUES(dCalendario[mes])
VAR vResMeses =
    CALCULATE(
        [calculo Estado e Horímetro]
            + [calculo Aderência do Forecast]
            + [calculo Vida útil de Componentes]
            + [calculo ROM de Equipamentos]
            + [calculo Atualização de Forecast],
        ALL(dCalendario),
        dCalendarioAuxAcumulado[mes] IN vMeses
    )

VAR vAcumulado =
    CALCULATE(
        AVERAGEX(
            ADDCOLUMNS(
                SUMMARIZE(
                    dCalendarioAuxAcumulado,
                    dCalendarioAuxAcumulado[ano],
                    dCalendarioAuxAcumulado[nome_mes_abrev]
                ),
                "@Horimetro", CALCULATE([calculo Estado e Horímetro], dCalendario[mes] IN vMeses),
                "@VidaUtil", CALCULATE([calculo Vida útil de Componentes], dCalendario[mes] IN vMeses),
                "@ROM", CALCULATE([calculo ROM de Equipamentos], dCalendario[mes] IN vMeses),
                "@Atualizacao", CALCULATE([calculo Atualização de Forecast], dCalendario[mes] IN vMeses),
                "@Forecast", CALCULATE([calculo Aderência do Forecast], ALL(dCalendario))
            ),
            [@Forecast] + [@Horimetro] + [@Atualizacao] + [@ROM] + [@VidaUtil]
        ),
        ALL(dCalendarioAuxAcumulado),
        dCalendarioAuxAcumulado[mes] <= MAX(dCalendarioAuxAcumulado[mes]) - 1
    )

RETURN
    IF(
        SELECTEDVALUE(dCalendarioAuxAcumulado[mes]) = 13,
        vAcumulado,
        vResMeses
    )

@Edson Igari, eu tinha aberto também essa mesma dúvida no modulo de modelagaem, acreditando que poderia ser algo por lá, vou deixar o link aqui, se você poder responder por lá, para eu poder fechar também.
 



Mais uma vez, muito obrigado e um abraço ao amigo! 

Bom dia @Rafael Borges, tudo bem, graças a Deus. Que bom que consegui ajudar. Tmj

  • Like 1
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...