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 a todos,
En dax creé una columna primaria para todas mis tareas. Pero necesito llamarlo en una función. Así que tengo que reproducirlo en M desde el editor de consultas. No conozco bien el código M.
¿Puedes ayudarme por favor?
Mi columna :
Solved! Go to Solution.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("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", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Index = _t, #"Level task" = _t, task = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Index", Int64.Type}, {"Level task", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "parent task", each Table.Max(Table.SelectRows(#"Changed Type",(k)=> [Level task]=k[Level task]+1 and [Index]>k[Index]),"Index")[task]),
#"Replaced Errors" = Table.ReplaceErrorValues(#"Added Custom", {{"parent task", ""}})
in
#"Replaced Errors"
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("tVjJbuNGE36Vhk82vLG5irnJMu04vxQTkmIMkARBm2rLjVCkfjYp2PM0OUbPoRdLVS8kpVEwM5nk4EVd1bV8VV2Lfv75hDonFycUfka5yF7fyZhvWJ6XQpLvyFAWYvdnxSWZpY9zcs8qTn4jU74qi3q35eRmmnw/nJO8zPz45NcLEIaCXPhJX5nkZJoM9TEeeXhclcuKrVZcH+ORj6rLQoplAXoWnMhGbAQ5J3ejW83l28s5KySpefZaiP83XGpqYGQkdQOX0zmZ8JmmhObeJJmRzGggG17VnMx+enh6UFyudT9x3WDgkEsyuXdJmpDAJdPd9oVntSgLstvWrMhed1sBjgOT9cy1Dk9uUzgeSslXzzlbcpILCYrW1W67ERJEFDzPOfq3YiCiEjzXDrjunoQp3zTA9kvjOG7E38SSF5lx1fX2OG9Z3TEWm1KQRQPyQRtJRo/6RtA5F1LtnIfOeeAphFFAjLh2rkbcQeDuD4L21hCLfLddshyDopWwalUKTAbPdZzNldYQGpuSBE0aJfp00OmN3Vi5tVrnLOMrXtRktdtmrBByBbKG94S6zwvEDuBVuZaWiJyrJcWHCUVOwUSQVYgXwaszxeU5R/PLo5/k17SUmM2hptu0vC2zBi2THfBgYoOR19B7FsgxdRznMv3dj88DGlz+bYZMb/2BvmkBehz2APLiFiAvjgY2MDMShP4+VvJdgjzIGUx5lT498FQ2FSVvNvAwJRhCMkyugkGYyGk6G599RyDsUptY8KaSOmy+Y6ya98Pmuz2rBtFeTFwyfJaYi6g0q8qsXAjIZ9aQNQPJ8HfkR1qK9yUh8/3PY68Z9x64JLfJB30e9YyN4x6Eg5BMU0CxeCmrDMrUBan6iGIpqEXdMNTJawJprQn1+5qTQaClD44CFP+XOoOjQQm8VqfvUB8oo5s5mVFK1mVTkVkyJhS030CGLIsSaozO2MA/WomDwMDePgl9HBqQ0ykqsMXyJueQdKhrDt6UFeaV5o+O1dbnv2XvcAuoS0HF4z36OAeWWgOBoWU6w1ReLyAJymatSil8zBmRZSMvJVQqfG03UMZfIZm6qlWxNais22LVLATWtArCMwZVbWUgrkN1swot3nu1K/Q7W70oBMpdMiFOFA7CNt4J8cHJvXeK9j+zuuZQ2VWIs1dWLfHFYVleq5K2Em/w+34K+sClJ5av3jWF4gWUUPGcCeX/uiprU1mQoNgUATzPRfmRnL7Rswsj2Pfgo3eGUvTBnfp8RVuTkBRZ8TO+ZitdCMLgGAaDLufCyPcVfAw8go5hzBEYnhpNOlUlEVl+JzE9j93orC/J/1ZJNnMH1tJ/3GkH4ckXdtpB9LWdNral884dhDA6oPiibDZoiskPzOEZ5DCxOYzuz1izhHKh1cbesQIQ296z/5Jj681+z4ujwwduu108+JQC85oi2S7bzk6OzYB0WqK3KQKZveJYCG/tvmLFYg0vT4Kd1TFHsybHAXHkXGE8p49Gqv+tMaRO8KVBpE74tVGkTvQvum0DSB3bTPZmAOpY1JP7/nE7kP8bNrQTOP3mQZXSL55UKf3qUZWqcV29IM8NnABujVVTeZqMyP9WxPPQe/gn8PTjwkbbld4Vk1K8SPW/bFQnkL1hSBJRZLkodltroH3he0+Nun5rROiEai6DOedFZPrFGsmE+pdOjCXVTtCqD3Rzlp5noH+BFUZwcFxf1Onz1ID+Y7lEn+4rXn887DDkhTdvCEPOVmusnawiq3LR4IwOpwtRovu9oLs28T474FI1aKt5LPlAkuu5WdCc3uklnhP6ZEhuZ7ofqooH+wLgDTnT1bfR4glxSsdvAFMNU2nKKuxATBT15Zh9xI0S6DfYBAqCjtxUzbueObEn2tYZQBGZqfZ3MOdQz6baXgejnk0nmDE2DGB7uAPoIcllk8OgrrPGjJQgdlSJWmRqdMeZAZ4RsC61F7AwXfVA9exyc7Djev1VBR+Wmm+UbkBOSui8Zp9ttxUlAJ4m1khYTJRN8DrUDgQAfYBsqBakACtwzuL1XkbjMcsFhrXtINS3K09/EVZzfX8PgpbQox5u4WqC68i+Ie+NehWaaxoLbUf049OgYQr3vYbFW59H1mJ7rtGAoHuGAwEPeqFMITaQ+6zW62h3MbU3MBSo7xYejNj9CVMfvCccNtUXDLzaiKxnmhq8owN8Lnt0+hm6a+gAmi3CPSwNk2e8wMgATikMkr4h+YbUdWaUBErUiA/VGJivO/bggF1z241AsV9b3tDw6gcMM6dYdK9zOjJc0QHC+tHBVFmxDMtYJrBfYBV6mtHoAqfzNWYAfKK0XwjFag2VWBPcMyN9YKJhmgGus1WFL6Q26jAo4AgYJ1m7+NEg3suYwHGeyenEKJqZIKbDB9SfFBlbVLheGaVquEdcH76fnJsjaiPQ7gJq62jqEvdrtVFPHmbz6XBMfrw3d1xje3cHBUI7WaB2x7lywabdHz+QO/WdEjknKSQckKBpvLbbLg09kyL6a6prssHWahuL4fE/pwsCcsNy9o7Y7baQ/qqBn+uvswCVQwwCo1RtdfteD/teX5MeSnYVNMURADYEmySWoITOeww2zpahVWgzN4yNQQeLH6QT8LJeO4owfINjppPZp5kSUYucMefXvwA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Index = _t, #"Level task" = _t, task = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Index", Int64.Type}, {"Level task", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "parent task", each Table.Max(Table.SelectRows(#"Changed Type",(k)=> [Level task]=k[Level task]+1 and [Index]>k[Index]),"Index")[task]),
#"Replaced Errors" = Table.ReplaceErrorValues(#"Added Custom", {{"parent task", ""}})
in
#"Replaced Errors"
¡perfecto! ¡Muchas gracias!
Este es el día 14. Siempre es la línea más cercana por encima cuando se sigue el orden del índice.
Para el índice 15, ¿es el índice principal 14 o el índice 12?
Puede ver el resultado esperado con mi columna creada en dax. Ahora necesito crearlo desde el editor de consultas para llamarlo en una función. Algo que no puedo hacer con una columna calculada en dax
¿Son todas estas tareas para el mismo proyecto?
Hay varios proyectos y puede haber varias jerarquías de tareas en un proyecto. Es por eso que la columna del proyecto no está presente. No es obligatorio aquí. Lo único que necesito es saber la tarea principal para cada tarea.
índice | Tarea de nivel | tarea |
10 | 1 | Clichy Levallois : Asnières SPOT Gare _ Ascenso BREHAT loc49 |
11 | 2 | Fase REA |
12 | 3 | programa |
13 | 4 | Instrucciones de seguimiento + FCD |
14 | 3 | Técnicas de los planes |
15 | 4 | Estudio PT MeS |
16 | 3 | MI RELOJ VERDE |
20 | 1 | E22580 - MG2 PE 52 Reparación de impermeabilización - REA |
21 | 2 | MDP - Montaje de una lista predictiva de hardware |
22 | 2 | MDL - Revisión de requisitos |
23 | 2 | MDL - Fecha de envío de la cotización ECO |
25 | 1 | E22610 - MG3 PE 380 Remodelación tras visitas legales a armarios 3200v. |
26 | 2 | EE - DCE |
28 | 1 | E22929 - Mecanismos de sustitución AG 12bd - Achères Poste 2 |
29 | 2 | Fase REA (por planificar) |
30 | 3 | programa |
31 | 4 | Instrucciones de Pink S6 |
32 | 3 | Documentos de ejecución |
35 | 1 | L1000-Pk49+515-Reparación impermeabilizante RD48 |
36 | 2 | OA - DCE |
39 | 1 | E23978 - MG3 PS 564 Sustitución sistemática de mecanismos de maniobra de secta catenaria (PSL): 10 seccionadores. |
40 | 2 | TE - DCE |
42 | 1 | E23987 - Achères P2 Ausencia de cocodrilo en el panel C47 |
43 | 2 | Fase REA (por planificar) |
44 | 3 | Documentos de implementación |
45 | 4 | Estudios DEX |
47 | 1 | E23999 - MG3 PS 586 RP Componentes reforzados, de reemplazo y tipo de armamento 85 |
48 | 2 | TE - DCE |
49 | 1 | E23999 - MG3 PS 586 RP Componentes reforzados, de reemplazo y tipo de armamento 85 |
50 | 2 | TE - DCE |
53 | 1 | E24014 - CBT S11 para SEL 186 Batignolles |
54 | 2 | Fase REA |
55 | 3 | instrucciones |
56 | 4 | PR - Depósito Azul S11 Temporal |
57 | 3 | MES Blue Locker S11 Temporal |
59 | 1 | E25121 - EMB - Tratamiento de la falta de desacoplamiento de la subestación Berthier tras informe de auditoría sobre PSL - Programa 2019 |
60 | 2 | EE - DCE |
64 | 1 | E25376 - FEM 07686 - MG3 PSE 411 Sustitución de baterías y cargadores en la estación mixta Valmy Gree poste1 y relés de protección en la subestación Berlioz (x1), poste 43 (x3) y poste F (x3).1 batería y 7 relés Sepam. |
65 | 2 | EE - DCE |
83 | 1 | E26744 - Pra chemin des piécottes (L1000 - Pk 91+927) - DCE |
84 | 1 | E26744 - Pra chemin des piécottes (L1000 - Pk 91+927) - REA |
85 | 2 | MDP - Montaje de una lista predictiva de hardware |
86 | 2 | MDL - Revisión de requisitos |
87 | 2 | MDL - Fecha de envío de la cotización ECO |
92 | 1 | F28652 - Renovación de la Subestación des Saugées |
93 | 2 | TE - DCE |
95 | 1 | Fase REA |
96 | 2 | programa |
97 | 3 | Instrucciones S6 |
98 | 3 | Instrucciones S11 |
99 | 2 | mi |
103 | 1 | PRo du Périchois in Grandpuits - renovación del estribo C0. - PRO |
104 | 2 | MDP - Montaje de una lista predictiva de hardware |
105 | 2 | MDL - Revisión de requisitos |
106 | 2 | MDL - Fecha de envío de la cotización ECO |
107 | 1 | PRo du Périchois in Grandpuits - renovación del estribo C0. - DCE |
108 | 2 | OA - DCE |
109 | 2 | EG - DCE |
110 | 1 | PRo du Périchois in Grandpuits - renovación del estribo C0. - REA |
111 | 2 | MDP - Montaje de una lista predictiva de hardware |
112 | 2 | MDL - Revisión de requisitos |
113 | 2 | MDL - Fecha de envío de la cotización ECO |
116 | 1 | F32505 - Línea VMC Km 33 a Km 53 - Refuerzo de los macizos de los soportes de catenaria inclinada |
117 | 2 | TE - DCE |
124 | 1 | F36068 - Modificación de soporte 14-09 y configuración de secciones cortas |
125 | 2 | TE - DCE |
127 | 1 | F36310 - Nogent Gretz Sustitución de luces de lámpara por módulos de diodos - REA |
128 | 2 | Documentos de ejecución |
129 | 3 | DEX E/T |
130 | 3 | DEX - E/T 1V |
132 | 1 | F36462 - Regeneración de CdV y PLx entre París Saint-Lazare y Bécon les Bruyères y post 5 PRS de Batignolles |
133 | 2 | EE - DCE |
136 | 1 | Trabajo ifte resultante de estudios de criticidad en la región pe.- REA |
138 | 1 | Fase REA |
139 | 2 | Escalonamiento - Obras - Pruebas |
140 | 3 | Fase 111 - Instalación de canales no MES North PointX y catenaria sin energía |
141 | 4 | PT MeS |
142 | 4 | Política de MeS de S6 |
143 | 4 | Política de MeS de S11 |
144 | 4 | Esquete rosa MES S6 |
145 | 4 | MES BLUE LOCKER S11 |
146 | 3 | Fase 120 |
147 | 4 | Fase 120 - Ext. 3 |
148 | 5 | Trabajos preparatorios Fase 120 P3 |
149 | 6 | Segunda retirada del servicio S11 |
150 | 7 | Política S6 - S11 |
151 | 7 | Política S6 - S11 |
152 | 7 | MeS del depósito S11 |
153 | 5 | PT MES P3 P4 |
154 | 5 | Instrucciones MeS S6 para el P3 / P4 |
155 | 5 | Instrucción MeS S11 para el P3/4 |
156 | 5 | DEX - Validación de CS |
157 | 5 | Elemento de trabajos 3 (acortamiento de VS17, caída de VS111 e interbloqueo de VS112) |
158 | 6 | MDL - Puesta en marcha de las obras de señalización |
159 | 3 | Fase 500b (Comisionamiento y Supervisores del PAI) |
160 | 4 | IHM+ |
161 | 5 | Programa de Automatización DE NG DE MISTRAL |
162 | 6 | Programa HMI + índice 00.2 (MàJ FSUIVI + Part file) |
163 | 7 | Estudio / verificación |
164 | 6 | Programa HMI + índice 00.3 (Barrido en estrella + enmarcadores de seguimiento) |
165 | 7 | PR - Programa automatismos / HMI+ |
166 | 4 | Estudios PAI |
167 | 5 | Pr Enevers - PT PAI |
168 | 6 | Programa de Estudios P4 |
169 | 7 | Tratamiento de las excepciones |
170 | 8 | PR - Programa de Señalización |
171 | 6 | PT PAI |
Como mínimo, necesita una columna de índice en los datos de origen.
Proporcione datos de muestra en formato utilizable (no como una imagen).
Sin estructura de datos, no estoy claro acerca de su salida esperada.
¿Podría proporcionar datos de ejemplo y la salida esperada después de eliminar datos confidenciales?
Los datos de muestra y los resultados esperados ayudarían enormemente.
Saludos
enlace
¿Es esa la respuesta que estás buscando? Si este post ayuda, entonces por favor considere Aceptarlo como la solución. Realmente apreciar!
Hola 🙂
En el mismo proyecto, tengo varios subproyectos compuestos por varias tareas.
Lo que quiero es obtener el elemento primario de cada tarea. Tengo en mis datos una columna con el nivel jerárquico de cada tarea. El elemento primario de una tarea siempre es la fila con el primer nivel inferior más cercano a la parte superior de la tabla.
Resaltando en mi ejemplo el resultado que quiero obtener en el editor de consultas.
Determinar el valor máximo en una columna M es una operación costosa. ¿Cuántas filas tiene?
Proporcione datos de muestra en formato utilizable (no como una imagen) y muestre el resultado esperado.
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 |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |