Anónimo
Hola. Tengo lo que parece un problema simple, pero tiene múltiples dimensiones.
Problema: estoy importando un archivo .csv que contiene dos columnas; 1. Personas y 2. Proyectos pero hay registros en blanco en ambas columnas. Por ejemplo, la columna Personas tiene una sola entrada para una Persona, pero luego hay uno o más registros en blanco hasta que hay un nuevo proyecto con el que la persona anterior no tiene asociación. En ese momento, hay una nueva Persona identificada y vuelve a estar en blanco hasta que la columna Proyecto tiene un valor que no se aplica a esa persona. Desafortunadamente, no puedo simplemente eliminar los espacios en blanco sin afectar las otras columnas (EXCEPTO en el caso en que el registro de personas esté completo y el registro del proyecto esté en blanco; esa fila se puede eliminar sin impacto siempre que no pierda el registro de la persona). nombre para los siguientes Proyectos Cualquier ayuda o sugerencia será muy apreciada.
Por cierto, creé una imagen de la tabla, que podría ayudar a visualizar el problema, pero no pude aplicarla a esta publicación. Puedo enviarlo por correo electrónico a quien quiera.
Gracias de antemano por cualquier ayuda.
zoloturu
En respuesta a Anónimo
Hola @Anonimo,
Para hacer lo que necesitas:
- Haz clic derecho en el encabezado Personas
- Seleccionar menú allí Reemplazar valores, donde salir Valor a encontrar vacío, Reemplazar con ingrese la palabra nulo
- Repita el paso 1.
- Seleccione menú allí Rellenar -> Abajo
- Abrir un filtro cerca del encabezado Proyecto
- Deseleccionar (blanco) valores
eliminar espacios en blanco
Y aquí está el script M para su referencia. Ingresé manualmente sus valores para poder mostrar mejor el resultado. He formateado los cambios necesarios en negrita.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCs/PT89MVdJRUorViVYC0o4whhOM4QxjuIAZIUWlydmpRUhaXMEM38SiSmzmQGQDEkuQJN2gOtJTEpFE4Ra5K8XGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [People = _t, Project = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"People", type text}, {"Project", type text}}), #"Replaced Value" = Table.ReplaceValue(#"Changed Type","",null,Replacer.ReplaceValue,{"People"}), #"Filled Down" = Table.FillDown(#"Replaced Value",{"People"}), #"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([Project] <> "")) in #"Filtered Rows"
Anónimo
Aquí está la imagen que quería mostrar. Esperemos que esto aclare algunos de los detalles.
zoloturu
En respuesta a Anónimo
Hola @Anonimo,
Para hacer lo que necesitas:
- Haz clic derecho en el encabezado Personas
- Seleccionar menú allí Reemplazar valores, donde salir Valor a encontrar vacío, Reemplazar con ingrese la palabra nulo
- Repita el paso 1.
- Seleccione menú allí Rellenar -> Abajo
- Abrir un filtro cerca del encabezado Proyecto
- Deseleccionar (blanco) valores
eliminar espacios en blanco
Y aquí está el script M para su referencia. Ingresé manualmente sus valores para poder mostrar mejor el resultado. He formateado los cambios necesarios en negrita.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCs/PT89MVdJRUorViVYC0o4whhOM4QxjuIAZIUWlydmpRUhaXMEM38SiSmzmQGQDEkuQJN2gOtJTEpFE4Ra5K8XGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [People = _t, Project = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"People", type text}, {"Project", type text}}), #"Replaced Value" = Table.ReplaceValue(#"Changed Type","",null,Replacer.ReplaceValue,{"People"}), #"Filled Down" = Table.FillDown(#"Replaced Value",{"People"}), #"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([Project] <> "")) in #"Filtered Rows"
Anónimo
En respuesta a zoloturu
Hola Zoloturu. Gracias por la ayuda. ¡Esto funciona perfecto y es mucho más fácil de lo que pensé que sería! Agradezco las imágenes. Esos fueron de gran ayuda. -Bingo
zoloturu
En respuesta a Anónimo
@Anónimo, de nada.