Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Estoy trabajando con los registros de pago de los empleados y tengo empleados donde su turno se superpone días.
Por ejemplo: Estoy programado para trabajar el jueves 3/19, pero vengo a las 6 PM del miércoles y trabajo hasta las 6 de la mañana del jueves. Pueden introducir tiempo en cualquier lugar de ese rango, pero quiero poder usar un filtro de fecha de 3/19.
Me gustaría que todos estos registros devueltan si selecciono una segmentación de 2/11
| EMP_ID | START_TIME | END_TIME | SHIFT_CODE | Horas |
| 576 | 2/10/2020 22:00 | 2/11/2020 2:00 | 20 | 4 |
| 576 | 2/11/2020 4:30 | 2/11/2020 5:30 | 20 | 1 |
| 576 | 2/11/2020 5:30 | 2/11/2020 6:00 | 20 | 0.5 |
| 576 | 2/11/2020 2:30 | 2/11/2020 4:30 | 20 | 2 |
| 576 | 2/11/2020 6:00 | 2/11/2020 6:30 | 20 | 0.5 |
Sobre la base de que el código de cambio es de 20, lo que significa que llegaron a principios de
Aquí está la mesa de turnos con la que tengo que trabajar
| SHIFT_CODE | SHIFT_START | SHIFT_END |
| 20 | 1800 | 0630 |
| 17 | 0000 | 2355 |
| 10 | 0600 | 1830 |
¡Espero haberte explicado bastante bien!
Cubro algunas cosas de Shift en mi nuevo libro DAX Cookbook. Sin embargo, en su caso no estoy seguro de que tenga que ser súper complejo:
Quizás
Measure =
VAR __Start = INT(MAX('Table'[START_TIME]))
VAR __End = INT(MAX('Table'[END_TIME))
VAR __Date = INT(SELECTEDVALUE('Calendar'[Date])
RETURN
IF(__Date = __Start || __Date = __End,1,0)
¡Tienes que revisar tu libro! He estado usando PowerBI durante años y a veces me golpeo una pared de ladrillos. Me encantaría aprender un nuevo enfoque sobre las cosas. ¿Qué opinas de este enfoque? Parece estar funcionando basado en lo que puedo ver
Column =
var start_shift = 'Table Pay'[start_time_date] + TIME(18,00,00)
var end_shift = 'Table Pay'[start_time_date] + TIME(23,59,59)
var stmt = IF('Table Pay'[SHIFT_CODE] = 20 && 'Table Pay'[START_TIME] >= start_shift && 'Table
Pay'[START_TIME] <= end_shift, 'Table Pay'[start_time_date] +1, 'Table Pay'[start_time_date])
return stmt
Esto fuerza todos los registros que tienen un desplazamiento superpuesto y en un rango de 1600-2359 a +1 hasta esa fecha. Esto debería darme una columna que pueda usar en una relación con una tabla de fecha principal para filtrar.
No entiendo bien el problema. Si desea que se devuelvan todos esos registros de los datos de ejemplo si selecciona 11 de febrero, solo use la columna Fecha de finalización para la segmentación de datos. Si eso no funciona, explique por qué y cómo determinaría lógicamente lo que se debe extraer, podemos ayudarle con medidas, columnas calculadas o lógica de Power Query para ayudar a obtener lo que necesita.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingHola @edhans ,
Es posible que los registros tengan una hora de inicio y hora de finalización del 10 de febrero y todavía me gustaría que se muestren al seleccionar el 11 de febrero en el fitler.
Realmente se correlaciona con todos los registros de fila que tienen un valor de desplazamiento de 20. En la tabla de turnos verá según el código de cambio 20 comienza a las 1800 el día anterior y termina 0630 el día actual. Lo siento si no puedo explicar esto mejor. Permítanme generalizarlo un poco mejor.
Código de Cambio 20 - Rango es 1800 Día Anterior - 0600 Día Actual
Si selecciono como ejemplo 2/14 como filtro de fecha y empleado 123
Quiero devolver todos los registros que tienen una hora de inicio entre 2/13 1800 - 2/14 0600
Tal vez pueda enderezó una declaración if en la columna start_time
si el turno 20 & start_time > 18:00 & start_time < 2359 entonces start_time.date + 1 más start_time.date
De acuerdo. Tengo que salir un rato, pero el modelo existe en mi archivo PBIX. Creo que Power Query es el mejor lugar para configurar esto, pero @Greg_Deckler solución puede funcionar para usted. Volveré a ver un poco.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingShare feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.