Lógica de clasificación de clientes

Un usuario Pregunto ✅

jack421

Hola a todos, estoy tratando de crear lógica para una nueva columna Tipo de cliente:

Clasificación del tipo de cliente -> Interior, Exterior, Ambos

  1. si todas las instancias reales de un cliente son interiores -> el tipo de cliente es Interior
  2. si todas las instancias reales son exteriores –> el tipo de cliente es exterior
  3. si algunas instancias reales son interiores y otras son exteriores o nulas –> Ambas

Tenga en cuenta que quiero ignorar a todos los clientes con Estado que contiene el texto «Actual»

Cliente Estado Tipo de producto Tipo de cliente (columna deseada)
A Prueba Interior Exterior
A Real1 Exterior Exterior
A Real2 Exterior Exterior
B Actual1 Interior Interior
B Prueba Interior Interior
B Real2 Interior Interior
C Real1 Exterior Ambos
C Real2 Ambos
C 3 reales Interior Ambos

¿Alguien podría ayudarme a descubrir cómo implementar esta lógica en una nueva columna? ¡Gracias!

parar2k

@ jack421 intente algo como esto, agregue esto como un columna

Pregunte cualquier cosa a Power BI. Reserve una cita para una asesoría gratuita en https://www.perytus.com

Customer Type = 
VAR __indoor = 
COUNTROWS( 
    CALCULATETABLE( 
        VALUES ( Customer[Product type] ), 
        ALLEXCEPT ( Customer, Customer[Customer] ), 
        Customer[Product type] = "Indoor" , 
        CONTAINSSTRING( Customer[Status] , "Actual" )
    ) 
)
VAR __outdoor =COUNTROWS( 
    CALCULATETABLE( 
        VALUES ( Customer[Product type] ), 
        ALLEXCEPT ( Customer, Customer[Customer] ), 
        Customer[Product type] = "Outdoor" , 
        CONTAINSSTRING( Customer[Status] , "Actual" )
    ) 
)
RETURN
SWITCH ( TRUE(),
    __indoor = 1 && __outdoor = 1, "Both",
    __indoor = 1, "Indoor",
    __outdoor = 1, "Outdoor"
)

Apreciaría Prestigio 🙂 si mi solución ayudó.

parar2k

@ jack421 prueba algo como esto, agrega esto como un columna

Pregunte cualquier cosa Power BI. Reserva cita para una asesoría gratuita en https://www.perytus.com

Customer Type = 
VAR __indoor = 
COUNTROWS( 
    CALCULATETABLE( 
        VALUES ( Customer[Product type] ), 
        ALLEXCEPT ( Customer, Customer[Customer] ), 
        Customer[Product type] = "Indoor" , 
        CONTAINSSTRING( Customer[Status] , "Actual" )
    ) 
)
VAR __outdoor =COUNTROWS( 
    CALCULATETABLE( 
        VALUES ( Customer[Product type] ), 
        ALLEXCEPT ( Customer, Customer[Customer] ), 
        Customer[Product type] = "Outdoor" , 
        CONTAINSSTRING( Customer[Status] , "Actual" )
    ) 
)
RETURN
SWITCH ( TRUE(),
    __indoor = 1 && __outdoor = 1, "Both",
    __indoor = 1, "Indoor",
    __outdoor = 1, "Outdoor"
)

Apreciaría Prestigio 🙂 si mi solución ayudó.

parar2k

@ jack421 cliente Se supone que es Ambos, ¿no es así?

Pregunte cualquier cosa Power BI. Reserva cita para una asesoría gratuita en https://www.perytus.com

jack421

En respuesta a parar2k

@parry2k no, quiero ignorar dónde estado = Prueba, solo quiero ver dónde Estado contiene el texto «Actual»

camargos88

En respuesta a jack421

Hola @jack421,

Prueba este código:

columna =
VAR _resultado = CALCULAR(DISTINCTCOUNT(‘Tabla'[Product type]); FILTRO(TODO EXCEPTO(‘Tabla’;’Tabla'[Customer]); BUSCAR(«Real»; ‘Tabla'[Status]; 1;0) > 0))
RETORNO SI(_resultado = 1; CALCULATE(DISTINCT(‘Tabla'[Product type]); FILTRO(TODO EXCEPTO(‘Tabla’;’Tabla'[Customer]); BUSCAR(«Real»; ‘Tabla'[Status]; 1;0) > 0)); «Ambos»)
ricardo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *