Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hola
Tengo una tabla de datos con las reservas de tiempo de los empleados y una tabla de fechas que están relacionadas a través del campo de fecha.
Necesito dos medidas para calcular el número de ocurrencias del trabajo de fin de semana de acuerdo con las siguientes reglas:
Cada sábado o domingo (Date[IsWeekend]) un empleado trabajó entre 0 y 4 hrs, la medida WE<4 debe ser 1 y en caso de haber trabajado más de 4 hrs la medida WEY4 debe ser 1.
Con mis habilidades, podría resumir todas las horas de los días de fin de semana, donde un empleado trabajó entre 0 y 4 horas. Pero si agrupo por trimestre el número de ocurrencias, obtendría el número total de horas.
Ahí es donde estoy atascado. Así que cualquier ayuda sería genial.
Gracias, Christian
Hola, gracias, ¡esto funciona perfectamente!
Estos son los pasos que puedes seguir:
1. Crear medida.
WE<4 =
var _sum=
IF(
MAX('Table'[Day of Week]) in {"Saturday","Sunday"},
SUMX(
FILTER(ALL('Table'),
'Table'[Date]=MAX('Table'[Date])),[Hours]),BLANK())
return
IF(
_sum >=0 && _sum <=4&&_sum <>BLANK(),1,0)
WE>4 =
var _sum=
IF(
MAX('Table'[Day of Week]) in {"Saturday","Sunday"},
SUMX(
FILTER(ALL('Table'),
'Table'[Date]=MAX('Table'[Date])),[Hours]),BLANK())
return
IF(
_sum >4&&_sum <>BLANK(),1,0)
2. Resultado:
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
Hi, @Greg_Deckler,
En primer lugar, muchas gracias por su respuesta. Traté de seguir sus enlaces, pero no lo logré. A la hora de calcular los totales, no necesito referirme al número de horas sino al número de ocurrencias. Esto hace que sea difícil para mí entenderlo.
Así que decidí publicar los datos como texto y pedirte que me ayudes de nuevo:
Tabla de hechos:
Fecha | StaffId | Horas | Proyecto | |
07.10.2023 | 5376 | 2 | bla1 | Sábado |
07.10.2023 | 5376 | 5 | bla2 | Sábado |
13.10.2023 | 5376 | 5 | bla1 | Viernes |
13.10.2023 | 5376 | 3 | bla2 | Viernes |
14.10.2023 | 5376 | 2 | bla1 | Sábado |
14.10.2023 | 5376 | 1 | bla2 | Sábado |
15.10.2023 | 5376 | 3 | bla1 | Domingo |
15.10.2023 | 5376 | 4 | bla2 | Domingo |
Esa es mi tabla de fechas:
Fecha | IsWeekend |
07.10.2023 | 1 |
08.10.2023 | 1 |
09.10.2023 | 0 |
10.10.2023 | 0 |
11.10.2023 | 0 |
12.10.2023 | 0 |
13.10.2023 | 0 |
14.10.2023 | 1 |
15.10.2023 | 1 |
Y ese es el resultado esperado:
Fecha | StaffId | Horas | NOSOTROS>4 | NOSOTROS<4 |
07.10.2023 | 5376 | 7 | 1 | 0 |
13.10.2023 | 5376 | 8 | 0 | 0 |
14.10.2023 | 5376 | 3 | 0 | 1 |
15.10.2023 | 5376 | 7 | 1 | 0 |
Sería genial si pudieras investigarlo, ¡gracias!
Por cierto: ¡Voté a favor de la solicitud de la función
Gracias, Christian
@_chris_ Parece que en tu medida necesitas RESUMIR por ocurrencia y luego SUMAR a través de ella, básicamente el problema total de una medida. ¿Se pueden publicar datos de muestra como texto? De lo contrario, esto puede ayudar a:
Primero, por favor, vota por esta idea: https://ideas.powerbi.com/ideas/idea/?ideaid=082203f1-594f-4ba7-ac87-bb91096c742e
Esto parece un problema de totales de medida. Muy común. Mira mi post al respecto aquí: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376
Además, esta Medida Rápida, Totales de Medida, La Última Palabra debería darte lo que necesitas:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907
También: https://youtu.be/uXRriTN0cfY
Y: https://youtu.be/n4TYhF2ARe8
También puede obtener algo de kilometraje de esto. Esto parece un problema de agregación de medidas. Vea el artículo de mi blog sobre eso aquí: https://community.powerbi.com/t5/Community-Blog/Design-Pattern-Groups-and-Super-Groups/ba-p/138149
El patrón es:
MinScoreMeasure = MINX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medir",[TuMedida] ), [Medir])
MaxScoreMeasure = MAXX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medir",[SuMedida] ), [Medir])
AvgScoreMeasure = AVERAGEX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medir",[SuMedida] ), [Medir])
etc.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
3 | |
2 | |
1 | |
1 | |
1 |