Forum Discussion

BINanovetores's avatar
BINanovetores
Frequent Visitor
6 years ago
Solved

Medida como filtro

Tenho uma medida que avalia se é a primeira venda para o cliente, a primeira venda do produto para o cliente ou uma recompra.

 

Segue medida:

 

Tipo de Venda = IF(
                                [Fat Cli Anos_Anteriores]=0;
                                "Cliente Novo";
                            IF(
                              AND(
                                      [Fat Cli Anos_Anteriores]>0;[Fat Cli-Prod Anos_Anteriores]=0);
                                     "Produto Novo";
                           "Recompra"
                             ))
onde,
[Fat Cli Anos_Anteriores] é o faturamento total do cliente até 2019;
[Fat Cli-Prod Anos_Anteriores] é o faturamento do cliente apenas para determinado produto até 2019.
 
Portanto, se o cliente nunca comprou o tipo de venda é Cliente Novo. Se ele já comprou outros produtos e está comprando um produto pela primeira vez, o tipo de venda é Produto Novo. Se ele já comprou o produto e está recomprando ele, o tipo de venda é Recompra.
 
Eu gostaria de usar esta medida "Tipo de Venda" como um filtro (slicer) para determinar quanto do faturamento de 2020 veio de cada um dos tipos de vendas.
 
Tentei utilizar a CALCULATE da seguinte forma:
Recompra = CALCULATE(
                                       [Faturado ano atual] ;
                                       [Tipo de Venda] = "Recompra"
                                        )
Mas retorna o seguinte erro: Uma função 'CALCULATE' foi utilizada em uma expressão True/False usada como expressão de filtro de tabela. Isso não é permitido.
 
Como posso resolver?
  • Usei a função CALCULATETABLE e SUMMARIZE para agregar as colunas que preciso e utilizar as medidas como colunas.

     

    = CALCULATETABLE(
    SUMMARIZE(Vendas;
    Cliente[idCliente];
    dProduto[idProduto];
    "fat cli prod AAtual";[Fat Prod Ano_Atual];
    "fat cliprod AA"; [Fat Cli-Prod Anos_Anteriores]
    ))
     
    Desta forma, utilizei a IF para classificar a venda conforme as medidas que tornaram-se colunas.

3 Replies

  • BINanovetores's avatar
    BINanovetores
    Frequent Visitor

    Usei a função CALCULATETABLE e SUMMARIZE para agregar as colunas que preciso e utilizar as medidas como colunas.

     

    = CALCULATETABLE(
    SUMMARIZE(Vendas;
    Cliente[idCliente];
    dProduto[idProduto];
    "fat cli prod AAtual";[Fat Prod Ano_Atual];
    "fat cliprod AA"; [Fat Cli-Prod Anos_Anteriores]
    ))
     
    Desta forma, utilizei a IF para classificar a venda conforme as medidas que tornaram-se colunas.
    • Anonymous's avatar
      Anonymous
      Not applicable

      Boa noite

      Estou com o mesmo problema que você, porém não consigo resolver.
      -- Tenho uma planilha com diversos valores de clientes, e criei um ranking para classificar do maior para o menor. Posteriormente criei um parâmetro de 1 a 10 para que possa utilizar de maneira dinamica esse ranking criado. 

      -- Ocorre que eu gostaria de criar um card com a soma desses valores que estão dentro do parâmetro, através de um filtro das medidas referentes ao ranking e ao parâmetro.
      Mas o PowerBi me retorna "Uma função 'CALCULATE' foi utilizada em uma expressão True/False usada como expressão de filtro de tabela. Isso não é permitido."

      SomaClientesRanking = CALCULATE('Carteira + Avais'[Saldo Atual],'Carteira + Avais'[RankingClientes] <= 'Parâmetro'[Parâmetro Valor])


      Tentei a seguinte alternativa, mas me retorna a soma de todos os valores e não apenas os do parâmetro:

      SomaClientesRankingTopN =
      CALCULATE(
      SUMX('Carteira + Avais','Carteira + Avais'[Saldo Atual]),
      FILTER('Carteira + Avais','Carteira + Avais'[RankingClientes] <= ('Parâmetro'[Parâmetro])))


      Muito obrigada!







  • BINanovetores's avatar
    BINanovetores
    Frequent Visitor

    Detalhe que, quando coloco a medida como um filtro de visual em uma tabela ou matriz (tabela dinâmica), as vendas são filtradas corretamente e o total mostrado é o valor que preciso