Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola a todos,
Necesito ayuda con un problema que estoy enfrentando actualmente.
Necesito contar las franjas horarias de calendario gratuitas para los usuarios de ventas en un rango de tiempo específico (09:00 - 20:00).
Tengo datos de la calandra de los usuarios de ventas. Estos datos tienen una hora de inicio y una hora de finalización de las citas. Cada cita dura dos horas y después de la cita debe haber un período de 1 hora en el que no puede haber cita excepto si es privada. El objetivo es dar a una persona que establece las citas para los usuarios de ventas un número de cuántos espacios hay disponibles para las citas. Probé un par de métodos y revisé la comunidad, pero no he encontrado una solución para este problema.
Tabla con fecha de inicio y finalización. ID es para el usuario de ventas.
En este caso, el visual debe mostrar "1" porque hay una ranura disponible que se ajusta a la regla de 2h + 1h.
¡Gracias!
Estos son los pasos que puede seguir:
1. Crear medida.
Flag1 =
var _9time=
DATE(YEAR(MAX('Table'[Start_Termin])),MONTH(MAX('Table'[Start_Termin])),DAY(MAX('Table'[Start_Termin])))
+
TIME(9,0,0)
return
IF(
MAX('Table'[Start_Termin])>=_9time,1,0)
Measure =
var _mindate=
MINX(FILTER(ALL('Table'),[Flag1]=1),[Start_Termin]) //2022.8.2 9:30
var _mindate2=_mindate + TIME(2,0,0)
var _mindate3=_mindate + TIME(3,0,0)
var _hour=DATEDIFF(
MAX('Table'[Start_Termin]),MAX('Table'[Termin_Ende]),HOUR)
return
SWITCH(
TRUE(),
MAX('Table'[Start_Termin])>=_mindate&&MAX('Table'[Start_Termin])<=_mindate2,"Kundentermin",
MAX('Table'[Start_Termin])>_mindate2&&MAX('Table'[Start_Termin])<=_mindate3,"Puffer",
_hour>=2&&[Flag1]=1,"Privater Termin")
Measure 3 =
var _table1=
FILTER(ALL('Table'),[Flag1]=1)
var _table2=
ADDCOLUMNS(_table1,"1",
SWITCH(
TRUE(),
'Table'[Start_Termin]>=MINX(FILTER(ALL('Table'),[Flag1]=1),[Start_Termin])&&'Table'[Start_Termin]<=MINX(FILTER(ALL('Table'),[Flag1]=1),[Start_Termin])+TIME(2,0,0),"Kundentermin",
'Table'[Start_Termin]>MINX(FILTER(ALL('Table'),[Flag1]=1),[Start_Termin])+TIME(2,0,0)&&'Table'[Start_Termin]<=MINX(FILTER(ALL('Table'),[Flag1]=1),[Start_Termin])+TIME(3,0,0),"Puffer",
DATEDIFF(
'Table'[Start_Termin],'Table'[Termin_Ende],HOUR)>=2&&[Flag1]=1,"Privater Termin"))
var _table3=
SUMMARIZE(_table2,[id],[1])
return
COUNTX(FILTER(_table3,[1]<>"Privater Termin"&&[1]<>BLANK()),[id])
&""& "h"
&" + "&
COUNTX(FILTER(_table3,[1]="Privater Termin"),[id])
&""& "h"
2. Resultado:
Si necesita pbix, haga clic aquí.
Saludos
Liu Yang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente