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

Cálculo de la franja horaria

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.

MollyMcFly_0-1659362060907.png

Tabla con fecha de inicio y finalización. ID es para el usuario de ventas.

MollyMcFly_1-1659362184126.png

En este caso, el visual debe mostrar "1" porque hay una ranura disponible que se ajusta a la regla de 2h + 1h.

¡Gracias!

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

@MollyMcFly ,

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:

vyangliumsft_1-1659596136603.png

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

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.

Top Solution Authors