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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

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
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.