Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola a todos,
Me gustaría crear una medida de "tasa de lealtad" en mi base de datos.
Mi base de datos reúne a todos los clientes de mi empresa por año, por lo que una línea corresponde a un cliente con todas estas compras.
El cliente tiene un ID, si este ID se encuentra dos veces o más en la columna, significa que el cliente no es uno nuevo, sino uno antiguo que realizó algunas compras el año pasado.
Me gustaría saber si es posible crear una "columna condicional" donde pueda encontrar la información, cliente nuevo, cliente leal, cliente antiguo .. Con esta información, podría hacer algunas medidas que serán poderosas para mi PowerBI
Si necesitas un ejemplo de mi base de datos, dime, te enviaré una imagen.
Gracias de antemano
Hola @Alexis-Edin
Supongamos que sus datos tienen el siguiente aspecto:
Intente agregar tres columnas como:
IsNewClient =
VAR _currentyear = YEAR(TODAY())
VAR _table =
FILTER(
TableName,
TableName[ClientID] = EARLIER(TableName[ClientID])
)
VAR _condition1 =
COUNTROWS(
FILTER(
_table,
TableName[Year] = _currentyear
)
)
VAR _condition2 =
COUNTROWS(
FILTER(
_table,
TableName[Year] < _currentyear
)
)
RETURN
IF(
_condition1>0&&_condition2=0,
"Yes", "No"
)
IsLoyalClient =
VAR _currentyear = YEAR(TODAY())
VAR _table =
FILTER(
TableName,
TableName[ClientID] = EARLIER(TableName[ClientID])
)
VAR _condition1 =
COUNTROWS(
FILTER(
_table,
TableName[Year] = _currentyear
)
)
VAR _condition2 =
COUNTROWS(
FILTER(
_table,
TableName[Year] < _currentyear
)
)
RETURN
IF(
_condition1>0&&_condition2>0,
"Yes", "No"
)
IsOldClient =
VAR _currentyear = YEAR(TODAY())
VAR _table =
FILTER(
TableName,
TableName[ClientID] = EARLIER(TableName[ClientID])
)
VAR _condition1 =
COUNTROWS(
FILTER(
_table,
TableName[Year] = _currentyear
)
)
VAR _condition2 =
COUNTROWS(
FILTER(
_table,
TableName[Year] < _currentyear
)
)
RETURN
IF(
_condition1=0&&_condition2>0,
"Yes", "No"
)
Funcionó como:
Sí, es posible crear una "columna condicional" en su base de datos para determinar si un cliente es un cliente nuevo, leal o antiguo en función del número de veces que su ID aparece en la columna. Para ello, puede utilizar la función "SI" en Power Query.
Aquí hay un ejemplo de cómo podría verse la fórmula para la "columna condicional":
IF [ID] = 1 THEN "Nuevo cliente" ELSEIF COUNTIF([ID],[ID]) > 1 THEN "Cliente leal" ELSE "Cliente antiguo"
Puede usar esta fórmula para crear una nueva columna en su base de datos y usar esta información para crear su medida de "tasa de lealtad".
No funciona. Tengo 40 000 ID diferentes. No quiero saber para un ID. Puede ser que no escribí correctamente su fórmula, pero "countif" no existe en PowerQuery.
Si tienes otra solución, la 🙂 tomaré
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.