Ir para conteúdo
  • 0

Sumarizar coluna dentro de uma faixa de datas selecionadas - Pareto


Rodrigo.Mendes
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos

Boa noite,

Estou com um problema específico em uma medida que preciso para a construção de um gráfico de Pareto, veja se vocês conseguem me ajudar.

Em meu caso a pessoa terá um parâmetro que ela irá selecionar um valor monetário específico (parâmetro já esta criado e funcionando), ou seja, o objetivo é sumarizar apenas as compras acima de um determinado valor selecionado por fornecedor e entre as datas selecionadas na tabela de Calendário, e para isso tenho as seguintes 3(três) medidas:

Valor Total = SUM(VW_PARETO_COMPRAS[VALORLIQUIDOMOVIMENTO])

Soma Compras = 
    CALCULATE(
         [Valor Total],
         FILTER(
            ALLSELECTED('Sumariza Compras'), 
            'Sumariza Compras'[Soma Total] >= [Valor Total de Compras Valor]) /* esse é o parâmetro com o valor selecionado */

Sumariza Compras = 
VAR dataInicial = CALCULATE(MIN( Calendario[Data] ), ALLSELECTED( Calendario[Data] ))
VAR dataFinal   = CALCULATE(MAX( Calendario[Data] ), ALLSELECTED( Calendario[Data] ))     

RETURN
    SUMMARIZECOLUMNS (
        VW_PARETO_COMPRAS[PK_CFO],
        FILTER(
            ALLSELECTED(Calendario[Data]),   
            /*Calendario[Data] >= dataInicial && Calendario[Data] <= dataFinal */
            Calendario[Data] >= DATEVALUE("01/01/2022") && Calendario[Data] <= DATEVALUE("28/02/2022")
        ),
        "Soma Total",
        [Valor Total]
    )

 

As duas primeiras medidas estão corretas, porém elas dependem totalmente da terceira medida "Sumariza Compras", que é onde estou com dificuldades.

Notem que,  para validar se os valores e relacionamentos estão corretos, eu informei um período de datas fixas,  e deu tudo certo. Porém, quando altero para pegar a data selecionada dinamicamente da calendário, o resultado é outro , ele esta sumarizando pela calendário toda e não pelo período que selecionei no segmentador de dados de datas. As duas variáveis "dataInicial" e "dataFinal " trazem apenas as datas selecionadas no segmentador de dados de datas, e são passadas para o função FILTER na linha que esta comentada, mesmo assim ele me traz os valores de toda a tabela, ignorando a faixa de datas informada.

Verifiquei os relacionamentos entre as tabelas, e estão todos corretos, inclusive com a tabela de Calendário.

Onde posso estar errando nessa medida ?  Ou teria uma outra forma de resolver essa questão ?

Grato

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução

@Rodrigo.Mendes

você não vai conseguir gerar uma tabela física de forma dinâmica, de acordo com os parâmetros que escolher nos segmentadores. Precisa gerar esta tabela na memória, virtualmente.

Segue solução:

Soma Compras = 
	VAR dataInicial = MIN(Calendario[Data])
	VAR dataFinal = MAX(Calendario[Data])
    VAR vValorMax = [Valor Total de Compras Valor]     
    VAR vSumarizaCompras = 
        FILTER(
            SUMMARIZE(
                VW_PARETO_COMPRAS,
                [PK_CFO],
                "ValorTotal",
                [Valor Total]
            ),
            [ValorTotal] >= vValorMax
        )
RETURN
    CALCULATE(
        [Valor Total],
        vSumarizaCompras
    )

 

Analise de Fornecedores.pbix

  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Bruno, bom dia,

Obrigado pelo pronto retorno, realizei as alterações que você informou, porém ele ainda continua filtrando tudo, veja:

image.png.c2e22dbabc57211ce6ff1ac7b13fdffa.png

 

Veja agora quando informo as datas fixas na medida "Sumariza Compras".

image.png.bdb551fcda3e1e65a256b5061900005a.png

 

Estou enviando o arquivo PBIX para um melhor entendimento.

Grato

Analise de Fornecedores.zip

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