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.
Hola
Tengo un tema interesante que estoy seguro es simple, pero me ha roto el cerebro.
Estoy escribiendo un informe que muestra los trabajos asignados a las tripulaciones semanalmente. Se utiliza para pronosticar la disponibilidad y tiene en cuenta la licencia. Tengo dos tablas que usan WEEKNUMBER y CREWID para clasificar los datos. Su funcionamiento bien (ver más abajo) pero no necesito introducir JOB PRIORITY como un filtro y esto me rompe la mente.
Semana | Equipo | Horas de trabajo | Horario disponible | equilibrar |
202046 | A | 200 | 220 | +20 |
202046 | B | 220 | 220 | 0 |
202046 | C | 250 | 190 | -60 |
Necesito introducir JOB PRIORITY en la tabla JOB y mostrar la siguiente tabla:
Semana | Equipo | Prioridad | Horas de trabajo | Horario disponible | Equilibrio prioritario | Balance general |
202046 | A | 1 | 150 | 220 | +70 | +20 |
202046 | A | 2 | 50 | 220 | +170 | +20 |
202046 | B | 1 | 20 | 220 | +200 | 0 |
202046 | B | 2 | 100 | 220 | +120 | 0 |
202046 | B | 3 | 100 | 220 | +120 | 0 |
202046 | C | 1 | 190 | 190 | 0 | -60 |
202046 | C | 2 | 50 | 190 | +140 | -60 |
202046 | C | 3 | 10 | 190 | +180 | -60 |
Así que como puede ver arriba, debemos dejar todos los trabajos de prioridad 2 y 3 para la tripulación C o reasignar a otro personal.
A continuación, tenemos que ser capaces de filtrar por prioridad (es decir, "¿qué pasaría si sólo hiciéramos trabajos de prioridad 1?") La tabla debe tener este aspecto:
Semana | Equipo | Prioridad | Horas de trabajo | Horario disponible | Equilibrio prioritario | Balance general |
202046 | A | 1 | 150 | 220 | +70 | +20 |
202046 | B | 1 | 20 | 220 | +200 | 0 |
202046 | C | 1 | 190 | 190 | 0 | -60 |
Luego existe la posibilidad de seleccionar *multiple* prioritas que ni siquiera he considerado todavía!!
¿Alguien puede ofrecer algún consejo sobre la creación de esta estructura? Muy apreciado. 🙂
Solved! Go to Solution.
Hola @cnschulz ,
En primer lugar, puede crear una columna personalizada [Priority] en la consulta power para la tabla JOB, toda la consulta es así, cerrarla y aplicarla.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMjAxU9JRcgRiQ1MDpVgdNEF0MScgNsIiZmhAjKAzSNASiyC6NWCFQLFYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Week = _t, Crew = _t, #"Job Hours" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Week", Int64.Type}, {"Crew", type text}, {"Job Hours", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type",{"Crew"},{{"Rows", each Table.AddIndexColumn(_, "Index", 1), type table}}),
#"Expanded Rows" = Table.ExpandTableColumn(#"Grouped Rows", "Rows", {"Week", "Job Hours", "Index"}, {"Week", "Job Hours", "Priority"}),
#"Reordered Columns" = Table.ReorderColumns(#"Expanded Rows",{"Week", "Crew", "Priority", "Job Hours"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Reordered Columns",{{"Week", Int64.Type}, {"Priority", Int64.Type}, {"Job Hours", Int64.Type}})
in
#"Changed Type1"
A continuación, cree algunas columnas calculadas para obtener la salida esperada en la tabla JOB:
Available Hours =
CALCULATE (
SUM ( AVAILABILITY[Available Hours] ),
FILTER ( ALL ( AVAILABILITY ), 'AVAILABILITY'[Crew] = EARLIER ( JOB[Crew] ) )
)
Priority Balance = [Available Hours] - [Job Hours]
Overall Balance =
[Available Hours]
- CALCULATE (
SUM ( JOB[Job Hours] ),
FILTER ( ALL ( JOB ), 'JOB'[Crew] = EARLIER ( 'JOB'[Crew] ) )
)
La tabla JOB final es la siguiente:
Prioridad de filtro 1:
Adjunto un archivo de muestra en el siguiente, espera ayudarle.
Saludos
Equipo de apoyo a la comunidad _ Yingjie Li
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @cnschulz ,
En primer lugar, puede crear una columna personalizada [Priority] en la consulta power para la tabla JOB, toda la consulta es así, cerrarla y aplicarla.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMjAxU9JRcgRiQ1MDpVgdNEF0MScgNsIiZmhAjKAzSNASiyC6NWCFQLFYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Week = _t, Crew = _t, #"Job Hours" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Week", Int64.Type}, {"Crew", type text}, {"Job Hours", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type",{"Crew"},{{"Rows", each Table.AddIndexColumn(_, "Index", 1), type table}}),
#"Expanded Rows" = Table.ExpandTableColumn(#"Grouped Rows", "Rows", {"Week", "Job Hours", "Index"}, {"Week", "Job Hours", "Priority"}),
#"Reordered Columns" = Table.ReorderColumns(#"Expanded Rows",{"Week", "Crew", "Priority", "Job Hours"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Reordered Columns",{{"Week", Int64.Type}, {"Priority", Int64.Type}, {"Job Hours", Int64.Type}})
in
#"Changed Type1"
A continuación, cree algunas columnas calculadas para obtener la salida esperada en la tabla JOB:
Available Hours =
CALCULATE (
SUM ( AVAILABILITY[Available Hours] ),
FILTER ( ALL ( AVAILABILITY ), 'AVAILABILITY'[Crew] = EARLIER ( JOB[Crew] ) )
)
Priority Balance = [Available Hours] - [Job Hours]
Overall Balance =
[Available Hours]
- CALCULATE (
SUM ( JOB[Job Hours] ),
FILTER ( ALL ( JOB ), 'JOB'[Crew] = EARLIER ( 'JOB'[Crew] ) )
)
La tabla JOB final es la siguiente:
Prioridad de filtro 1:
Adjunto un archivo de muestra en el siguiente, espera ayudarle.
Saludos
Equipo de apoyo a la comunidad _ Yingjie Li
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
¿Cómo se configura el modelo?
Proud to be a Super User!
Paul on Linkedin.
La tabla JOB contiene
WeekNumber, CrewId, JobHours
La tabla AVAILABILITY contiene
WeekNumber, CrewId y HoursAvailable
Ahora necesito introducir Priority en la tabla JOB, que hará una relación de muchos a uno y romperá el resumen.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |