Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Medida calculada que clasifica a los clientes por su categoría más comprada (dependiendo del filtro de fecha)

Estoy tratando de crear una medida calculada (o columna si eso es mejor) para contar la cantidad distinta de clientes que tienen X días o más entre su primer pedido en un intervalo de fechas especificado y su último pedido.

Tengo esta columna calculada que identifica el número de días entre el primer pedido en el período de tiempo especificado y el último pedido (independientemente de la fecha de finalización del filtro de fecha)

DaysSinceFirstOrder = 
//Calculates the first order in the specified date range
VAR _slicerStartDate = CALCULATE(MIN(table[Order_Date]), ALLEXCEPT(table, table[Order_Date]))

//Calculates the last order(entire dataset)
VAR _lastestDate = CALCULATE(MAX(table[Order_Date]), ALLEXCEPT(table, table[CustomerID]))

//Returns the # of days between their first order in the specified date range & their latest order to date (ignoring date range filters)
RETURN DATEDIFF(_slicerStartDate, _lastestDate, DAY)


La fórmula que tengo actualmente funciona en su mayoría... Es agregar el recuento único de médicos que tienen exactamente X cantidad de días, pero no incorpora la > = X cantidad de días del eje x.

Las variables están funcionando correctamente, es la instrucción RETURN la que me está causando problemas

CustomerRetentionCount = 
// Identifies the earliest order in the specified time range (Date slicer) 
VAR _earliestOrder = CALCULATE(MIN(table[Order_Date]))

// Identifies the latest order to date, regardless of the Date slicer selection.
VAR _latestOrder = CALCULATE(MAX(table[Order_Date]), ALLEXCEPT(table, table[CustomerID]))

RETURN CALCULATE(DISTINCTCOUNT(table[CustomerID]), 
                FILTER(table, DATEDIFF(_earliestOrder , _latestOrder , DAY) >= table[DaysSinceFirstOrder])
                )


En este gráfico, el eje X denota un intervalo de 0 a X cantidad de días (determinado por cuántos días entre el inicio especificado de la segmentación de datos del intervalo de fechas y hasta la fecha. De nuevo, la fórmula anterior agrega el recuento distinto de customerIDs en ese valor específico del eje X, pero necesito que esencialmente sea > = el valor del eje X

chart.PNG

es decir, dentro del gráfico anterior, en el valor del eje x de 0, hay alrededor de 300 escenarios donde hay 300 clientes que tienen exactamente 0 días entre su primer y último pedido (esencialmente ordenaron una vez), sin embargo, en el valor del eje x de 0, debería estar capturando absolutamente a todos, ya que espero calcular el número de clientes que en 0 días, tienen > = 0 días entre su primer y último pedido

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hay @Grygger,

¿Puede compartir algunos datos ficticios que mantienen la estructura de datos sin procesar con los resultados esperados? Debería ayudarnos a aclarar su escenario y probar la fórmula de codificación.

Cómo obtener una respuesta rápida a su pregunta

Saludos

Xiaoxin Sheng

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.