Ir para conteúdo
  • 0

ANALISE RECENCIA FREQUENCIA E VALOR RFV - ERRO DE FILTRAR POR SEGMENTAÇÃO (Drill-Through)


Tiago Bocardi
Ir para solução Solucionado por Sandro Vieira ,

Pergunta

  • Alunos

Ola pessoa, fiz uma analise RFV no meu modelo foram criacadas as 11 medidas para cada segumento utilizando uma tabela auxilar, na soma aparentemente fica tudo certo, a partir do memento que tento fazer o detalhamento (Drill-Through), todos os clientes aparecem, ja analisei os relacionamentos entre fato e dimensao aparentemente esta tudo certo, as medidas que utilizei para semengatação foram estas, infelizmente o arquivo nao consegui postar pois é muito grande.

 

image.png.86ac02a0a938e55a6ef8217e5bdf78cb.png

image.png.8515d5416c860a07d1e714e3198f73f5.png

relacionamento:

image.png.a4933752a9e960bfacf7f2e551f85aba.png

# 01. Clientes campeões = 
VAR vResult = 
CALCULATE(
    [# Clientes],
    FILTER(
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ),
        [RFV (R)] > 4 &&
        [RFV (R)] <= 999 &&
        [RFV (F + V)] > 4 &&
        [RFV (F + V)] <= 5
    )
)
RETURN
vResult+0

# 02. Clientes fiéis = 
VAR vLoyalCustomersChampions = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ),
        [RFV (R)] > 2 &&
        [RFV (R)] <= 999 &&
        [RFV (F + V)] > 3 && 
        [RFV (F + V)] <= 5
    )
)

VAR varResultado = vLoyalCustomersChampions - [# 01. Clientes campeões]

RETURN
varResultado + 0

# 03. Clientes potenciais fiéis = 
VAR varResultado = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ),
        [RFV (R)] > 3 &&
        [RFV (R)] <= 999 &&
        [RFV (F + V)] > 1 &&
        [RFV (F + V)] <= 3
    )
)
RETURN
varResultado + 0

# 04. Clientes recentes = 
VAR varResultado = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ) ,
        [RFV (R)] > 4 &&
        [RFV (R)] <= 999 && 
        [RFV (F + V)] > 0 &&
        [RFV (F + V)] <= 1
    )
)

RETURN
varResultado + 0

# 05. Clientes hibernando = 
VAR varResultado = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ) ,
        [RFV (R)] = 2 && 
        [RFV (F + V)] = 2
    )
)

RETURN
varResultado + 0

# 06. Clientes promissores = 
VAR varResultado = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ) ,
        [RFV (R)] > 3 &&
        [RFV (R)] <= 4 && 
        [RFV (F + V)] > 0 &&
        [RFV (F + V)] <= 1
    )
)

RETURN
varResultado + 0

# 07. Clientes precisam de atenção = 
VAR varResultado = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ) ,
        [RFV (R)] > 2 &&
        [RFV (R)] <= 3 && 
        [RFV (F + V)] > 2 &&
        [RFV (F + V)] <= 3
    )
)

RETURN
varResultado + 0

# 08. Clientes prestes a "hibernar" = 
VAR varResultado = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ) ,
        [RFV (R)] > 2 &&
        [RFV (R)] <= 3 && 
        [RFV (F + V)] > 0 &&
        [RFV (F + V)] <= 2
    )
)

RETURN
varResultado + 0

# 09. Clientes não podemos perdê-los = 
VAR varResultado = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ) ,
        [RFV (R)] > 0 &&
        [RFV (R)] <= 1 && 
        [RFV (F + V)] > 4 &&
        [RFV (F + V)] <= 5
    )
)

RETURN
varResultado + 0

# 10. Clientes em risco = 
VAR varRiscoPerder = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT] ) ,
        [RFV (R)] > 0 &&
        [RFV (R)] <= 2 && 
        [RFV (F + V)] > 2 &&
        [RFV (F + V)] <= 5
    )
)

VAR varResultado = varRiscoPerder - [# 09. Clientes não podemos perdê-los]

RETURN
varResultado + 0

# 11. Clientes perdidos = 
VAR varHibernatingLost = 
CALCULATE(
    [# Clientes],
    FILTER (
        VALUES ( dCliente[SK_CLIENTE_SELLOUTT]) ,
        [RFV (R)] <= 2 && 
        [RFV (F + V)] <= 2
    )
)

VAR varResultado = varHibernatingLost - [# 05. Clientes hibernando]

RETURN
varResultado + 0

e uma medida juntando todas estas 11 medidas de classificação. 

# Clientes por segmentacao = 
VAR varClasseRFV = SELECTEDVALUE ( auxClasse[Segmentação] )
RETURN
SWITCH(
    TRUE(),
    varClasseRFV  = "Campeões", [# 01. Clientes campeões],
    varClasseRFV  = "Clientes fiéis", [# 02. Clientes fiéis],
    varClasseRFV  = "Potenciais fiéis", [# 03. Clientes potenciais fiéis],
    varClasseRFV  = "Clientes recentes", [# 04. Clientes recentes],
    varClasseRFV  = "Hibernando", [# 05. Clientes hibernando],
    varClasseRFV  = "Promissores", [# 06. Clientes promissores],
    varClasseRFV  = "Precisam de atenção", [# 07. Clientes precisam de atenção],
    varClasseRFV  = "Prestes a hibernar", [# 08. Clientes prestes a "hibernar"],
    varClasseRFV  = "Não posso perder", [# 09. Clientes não podemos perdê-los],
    varClasseRFV  = "Em risco", [# 10. Clientes em risco],
    varClasseRFV  = "Perdidos", [# 11. Clientes perdidos],
    BLANK()
)

quero filtrar em uma tabela sempre que # Clientes por segmentacao for igual a 1, porem fica todos 0

 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
1 hora atrás, Sandro Vieira disse:

Bom dia @Tiago Bocardi, na tela de detalhamento você chegou a colocar o filtro como "1", conforme abaixo.


image.png.17b6011647a3cf4135c6dae0239e91c0.png


Sim, na verdade nesse exemplo selecioneio "Não posso perder" que tem 0 clientes, o indicador de cartão fica 0, por cidade fica 0, mais na tabela que possui cnpj e nome do cliente, varios aparecem como 1, na verdade tinha que estar tudo vazio.

 

image.png.d1c3083b6b74f9296bc7bf5b2fcf9cdd.png

image.png.2a776dfc6b3755de15b796af9b64ede9.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Tiago Bocardi, uma diferença que percebi no seu detalhamento com o meu,  é que as medidas que apresento são referentes ao LTM (estou voltando 12 meses), como pedidos e faturamento, você está usando faturamento dos ultimos 12 meses novamente acredito que este seja o problema pois ele vai passar o filtro da ultima compra atualizada.
Segue exemplo da medida que estou usando:
 

$ Faturamento ultimos 12 meses = 
CALCULATE ( 
    [$ Faturamento],
    DATESINPERIOD ( 
        dCalendario[Data],
        MAX ( dCalendario[Data] ),
        -12,
        MONTH
    )
)

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
8 minutos atrás, Sandro Vieira disse:

@Tiago Bocardi, uma diferença que percebi no seu detalhamento com o meu,  é que as medidas que apresento são referentes ao LTM (estou voltando 12 meses), como pedidos e faturamento, você está usando faturamento dos ultimos 12 meses novamente acredito que este seja o problema pois ele vai passar o filtro da ultima compra atualizada.
Segue exemplo da medida que estou usando:
 

$ Faturamento ultimos 12 meses = 
CALCULATE ( 
    [$ Faturamento],
    DATESINPERIOD ( 
        dCalendario[Data],
        MAX ( dCalendario[Data] ),
        -12,
        MONTH
    )
)

Sim esta igual ao meu usei mesmo metodo do workshop, 

# Notas emitidas ultimos 12 meses =
CALCULATE (
    [# Notas emitidas],
    DATESINPERIOD (
        'fSell Out'[DataEmissao],
        MAX(dCalendario[Date]),
        -12,
        MONTH
    )
)

fui retirando da tabela todas as informações e deixando somente o cnpj e quantidade, porem os cnpjs apresentam todos 0, mas no segmento ficam corretos.

refiz o modelo na tabel dCliente onde fiz novos calculos em colunas de R, F, V e depois coloquei outra coluna com Sementos. porem agora as duas tabelas uma com medidas dax e outra com coluna calulada estão apresentando resultados diferentes. image.png.e1407fb0c7eafe3e67e6bf5b227b270c.png

 

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