Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola equipo de la comunidad de BI,
Tengo una tabla llamada "Resumen de visita por representante de ventas" que contiene el "Tiempo de entrada" y "Tiempo de espera" cuando visitan al cliente.
> Necesito ayuda para clasificar el tiempo en grupos: temprano en la mañana, mañana, almuerzo, tarde, noche y tarde en la noche:
Si el tiempo es de 1:00:00 am a 7:59:59 am = temprano en la mañana
Si el tiempo es de 8:00:00 am a 11:59:59 am = mañana
Si la hora es de 12:00:00 pm a 13:29:59 pm = almuerzo
Si el tiempo es de 13:30:00 pm a 17:29:59 pm = tarde
Si el tiempo es de 17:30:00 pm a 20:59:59 pm = noche
Si la hora es de 21:00:00 pm a 23:59:59 pm = tarde en la noche
> En estos grupos, necesitamos saber cuántos:
1. # Orden basado en: [ORDER_IND] = "E" & [VISIT_IND] = "V" & [CALL_IND] = "1"
2. # NO Orden basado en: [ORDER_IND] = "En blanco" & [VISIT_IND] = "V" & [CALL_IND] = "1"
3. # Cliente visitado: [VISIT_IND] = "V" & [CALL_IND] = "1"
Aquí está el resultado esperado:
¿Alguna sugerencia/consejo? Por favor, amablemente ayuda.
Ejemplo de pbix - https://drive.google.com/drive/folders/1EsiFHTEmDmDu4VJ1DCvXqjLPEf6ya_bk?usp=sharing
Gracias y saludos,
En ella @v-rzhou-msft ,
Gracias por su ayuda y valiosos comentarios.
Si queremos ver el tiempo de entrada / salida basado en el informe, ¿es posible?
Para Grupo de tiempo, es correcto lo que creas. Solo queremos ver y saber más el tiempo de entrada / salida del informe que el tiempo de entrada / salida del representante de ventas.
Por si acaso:
1. Si no hay valor o registro, son las 00:00:00
2. Si timeIn tiene, pero timeOut no tiene registro. Luego determinamos timeIn = timeOut
Gracias de antemano
Saludos
Le sugiero que cree una columna [Grupo de tiempo] en su tabla VISIT_SUMM.
Time Group =
IF (
VISIT_SUMM[TIME_IN] = BLANK ()
|| VISIT_SUMM[TIME_OUT] = BLANK (),
BLANK (),
SWITCH (
TRUE (),
VISIT_SUMM[TIME_IN] >= TIME ( 1, 0, 0 )
&& VISIT_SUMM[TIME_OUT] <= TIME ( 7, 59, 59 ), "Early Morning (1:00:00 am - 7:59:59 am)",
VISIT_SUMM[TIME_IN] >= TIME ( 8, 00, 00 )
&& VISIT_SUMM[TIME_OUT] <= TIME ( 11, 59, 59 ), "Morning (8:00:00 am - 11:59:59 am)",
VISIT_SUMM[TIME_IN] >= TIME ( 12, 00, 00 )
&& VISIT_SUMM[TIME_OUT] <= TIME ( 13, 29, 59 ), "Lunch (12:00:00 pm - 13:29:59 pm)",
VISIT_SUMM[TIME_IN] >= TIME ( 13, 30, 00 )
&& VISIT_SUMM[TIME_OUT] <= TIME ( 17, 29, 59 ), "Afternoon (13:30:00 pm - 17:29:59 pm)",
VISIT_SUMM[TIME_IN] >= TIME ( 17, 30, 00 )
&& VISIT_SUMM[TIME_OUT] <= TIME ( 20, 59, 59 ), "Evening (17:30:00 pm - 20:59:59 pm)",
VISIT_SUMM[TIME_IN] >= TIME ( 21, 00, 00 )
&& VISIT_SUMM[TIME_OUT] <= TIME ( 23, 59, 59 ), "Late evening (21:00:00 pm - 23:59:59 pm)"
)
)
A continuación, cree una tabla calculada.
DimTimeGourp =
DATATABLE (
"TimeGroup", STRING,
"GroupSort", INTEGER,
"TimeIn", STRING,
"TimeOut", STRING,
{
{ "Early Morning (1:00:00 am - 7:59:59 am)", 1, "1:00:00 am", "7:59:59 am" },
{ "Morning (8:00:00 am - 11:59:59 am)", 2, "8:00:00 am", "11:59:59 am" },
{ "Lunch (12:00:00 pm - 13:29:59 pm)", 3, "12:00:00 pm", "13:29:59 pm" },
{ "Afternoon (13:30:00 pm - 17:29:59 pm)", 4, "13:30:00 pm", "17:29:59 pm" },
{ "Evening (17:30:00 pm - 20:59:59 pm)", 5, "17:30:00 pm", "20:59:59 pm" },
{ "Late evening (21:00:00 pm - 23:59:59 pm)", 6, "21:00:00 pm", "23:59:59 pm" }
}
)
Modelo de datos:
Medidas:
#Order =
CALCULATE(COUNT(VISIT_SUMM[SALESREP_CODE]),FILTER(VISIT_SUMM,VISIT_SUMM[ORDER_IND] = "E" && VISIT_SUMM[VISIT_IND] = "V" && VISIT_SUMM[CALL_IND] = "1"))
NO Order =
CALCULATE(COUNT(VISIT_SUMM[SALESREP_CODE]),FILTER(VISIT_SUMM,VISIT_SUMM[ORDER_IND] = BLANK() && VISIT_SUMM[VISIT_IND] = "V" && VISIT_SUMM[CALL_IND] = "1"))
Customer Visited =
CALCULATE(COUNT(VISIT_SUMM[SALESREP_CODE]),FILTER(VISIT_SUMM,VISIT_SUMM[VISIT_IND] = "V" && VISIT_SUMM[CALL_IND] = "1"))
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.