Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola
Soy un usuario relativamente nuevo de PowerBI. Me parece difícil implementar algunos de los requisitos usando powerBI.
Tengo 4 columnas de fecha, DateA, DateB, DateC y DateD. (Algunos de estos pueden tener un valor en blanco)
Quiero recorrer estos bucles y hacer lo siguiente:
1. Si alguna de las 3 columnas tienen el mismo valor de fecha, compare ese valor con la 4a columna para encontrar la fecha más temprana y reemplazar las 4 fechas con esta fecha más baja. solo se deben reemplazar las columnas no en blanco.
2. Si de los 4, algunos están en blanco, ignore eso para la comparación. es decir, si una columna está en blanco, entonces si 2 columnas son las mismas, se puede comparar con la 3a y la fecha más temprana encontrada.
3. si 3 de ellos no coinciden, entonces marca toda la fila como "intervención manual"
Sin tener bucles "for", esto es un poco difícil para mí.
Me las arreglé para identificar la fecha más temprana para #1 y "intervención manual" para #3 con la ayuda de un montón de declaraciones if, pero:
Un. Si alguna columna está en blanco, no sé cómo funcionará la lógica
B. No sé cómo marcar y reemplazar todas las celdas con el valor más bajo que se encuentra aquí.
c. Pregunta general. Puede "si - entonces" tener varias instrucciones después de entonces. como si a-b entonces - c-d; e-f- ?
Aquí está mi código para identificar #1 y #3 anteriores:
• Table.AddColumn('Añadido col para FutureHire', "FutureHires-Actualizado todas las fechas con el original contratado", cada uno
si ([DateA] á [DateB]) entonces
si ([DateB] á[DateC] ) entonces
si [DateC] < [DateD] y, a continuación, [DateC] else [DateD]
si , [DateB] - [DateD]) a continuación,
if ([DateC] < [DateD]) y luego [DateC] else [DateD]
otra "esta condición no debe surgir"
else if ([DateB] á [DateC]) entonces
si ([DateC] á [Fecha]) entonces
if ([DateA] < [DateD]) y luego [DateA] else [DateD]
otra "esta condición no debe surgir"
else if([DateA] á [DateC] y [DateA] - [Fechado]) a continuación,
if ([DateA] < [DateB]) y luego [DateA] else [DateB]
otra "Intervención Manual"
¿Mi enfoque está completamente equivocado aquí? ¿puedes ayudarme a guiarme sobre cómo lograr esto? Para lograr #2 anterior (si una columna está en blanco), necesito tener otro conjunto completo de condiciones if?
Gracias de antemano,
Chaqueta
Solved! Go to Solution.
Hola @jasmine9 ,
Podemos usar los siguientes pasos para satisfacer sus necesidades.
1. Haga clic en Columna de ID y despocupe otras columnas.
2. Copie la tabla y agrupe una de ellas.
3. Combine la tabla de grupo y expanda la fecha mínima.
4. Luego seleccione la columna id y la columna de valor dinámico.
5. Utilice la columna condicional para crear cuatro columnas de fecha para separar el valor nulo.
6. Por fin podemos agregar otra columna condicional, luego eliminar la Fecha.A, B, C, D.
Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?
Saludos
Equipo de apoyo a la comunidad _ zhenbw
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
BTW, pbix como adjunto.
Hola @jasmine9 ,
Podemos usar los siguientes pasos para satisfacer sus necesidades.
1. Haga clic en Columna de ID y despocupe otras columnas.
2. Copie la tabla y agrupe una de ellas.
3. Combine la tabla de grupo y expanda la fecha mínima.
4. Luego seleccione la columna id y la columna de valor dinámico.
5. Utilice la columna condicional para crear cuatro columnas de fecha para separar el valor nulo.
6. Por fin podemos agregar otra columna condicional, luego eliminar la Fecha.A, B, C, D.
Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?
Saludos
Equipo de apoyo a la comunidad _ zhenbw
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
BTW, pbix como adjunto.
Hola
Compartir datos en un formato que se puede pegar en un libro de MS Excel y mostrar el resultado exacto que está esperando.
Este es un ejemplo de mis datos y acción requeridos: Mi código está en powerquery, no en Excel.
Id | DateA | DateB | DateC | Fecha | Medidas a tomar |
1 | 8/25/2020 | 8/1/2017 | 8/25/2020 | 8/25/2020 | reemplazar col A, col C y col d por 8/1/2017 |
2 | 7/1/2020 | 7/2/2020 | 7/3/2020 | bandera como intervención manual | |
3 | 6/1/2020 | 6/1/2020 | 6/5/2020 | sustituir col c por 6/1/2020 | |
4 | 5/1/2020 | 5/2/2020 | bandera como intervención manual | ||
5 | 4/1/2020 | 4/21/2020 | 4/21/2020 | sustituir col c y d por 4/1/2020 | |
6 | 3/1/2020 | 3/1/2020 | 4/1/2020 | sustituir col d por 3/1/2020 |
Id | DateA | DateB | DateC | Fecha | Medidas a tomar |
1 | 8/25/2020 | 8/1/2017 | 8/25/2020 | 8/25/2020 | reemplazar col A, col C y col D por 8/1/2017 |
2 | 7/1/2020 | 7/2/2020 | 7/3/2020 | bandera como intervención manual | |
3 | 6/1/2020 | 6/1/2020 | 6/5/2020 | sustituir col c por 6/1/2020 | |
4 | 5/1/2020 | 5/2/2020 | bandera como intervención manual | ||
5 | 4/1/2020 | 4/21/2020 | 4/21/2020 | sustituir col c y d por 4/1/2020 | |
6 | 3/1/2020 | 3/1/2020 | 4/1/2020 | sustituir col d por 3/1/2020 |
1. Si alguna de las 3 columnas tienen el mismo valor de fecha, compare ese valor con la 4a columna para encontrar la fecha más temprana y reemplazar las 4 fechas con esta fecha más baja. solo se deben reemplazar las columnas no en blanco.
2. Si, de los 4, algunos están en blanco, ignore eso para la comparación. es decir, si una columna está en blanco, entonces si 2 columnas son las mismas, se puede comparar con la 3a y la fecha más temprana encontrada.
3. si 3 de ellos no coinciden, entonces marca toda la fila como "intervención manual"
Hola
Alguien más le ayudará con esto, por favor.