¿Cuál es la forma más rápida de eliminar columnas vacías en el editor de consultas? / m

Un usuario Pregunto ✅

vanessafvg

Quiero eliminar todas las columnas vacías, ¿cuál es la forma más rápida de hacerlo?

ImkeF

En respuesta a vanessafvg

Probablemente sea más fácil pegar el código de función como una consulta separada como se describe aquí:

PowerQPro

La mejor solución que encontré si tiene un área de menor tamaño para recopilar datos.

https://www.mrexcel.com/forum/excel-questions/924666-deleting-blank-columns-power-query.html

Código:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    Reorganized = Table.FromColumns({Table.ColumnNames(Source),Table.ToColumns(Source)}),
    #"Added Custom" = Table.AddColumn(Reorganized, "IsNull", each if List.NonNullCount(List.Distinct([Column2]))=0 then "Yes" else "No"),
    #"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([IsNull] = "No")),
    #"Clean Table" = Table.SelectColumns(Source,Table.Column(#"Filtered Rows","Column1"))
in
    #"Clean Table"

Solo tienes que reemplazar la fuente con la tabla sobre la que quieres aplicar la operación

Shebr

Hola @vanessafvg

¿Quiere decir algo más que hacer clic derecho en el encabezado y seleccionar eliminar? O Resalte las que desea conservar y seleccione ‘Eliminar otras columnas’. O bien, puede seleccionar el botón ‘Elegir columnas’ en la cinta y seleccionar las que desea conservar.

Gracias

Shebr

vanessafvg

En respuesta a Shebr

hola, @shebr, quiero eliminarlos todos programáticamente a través de M sin tener que hacer clic en cada uno.

vanessafvg

En respuesta a vanessafvg

@ImkeF o @Vvelarde, ¿alguna idea sobre cómo hacer esto rápidamente en una declaración m?

ImkeF

En respuesta a vanessafvg

Puedes usar esta función:

(tbl as table) =>
let
    Headers = Table.ColumnNames(tbl),

    Result = Table.SelectColumns(
                 tbl,
                 List.Select(Headers, each List.MatchesAny(Table.Column(tbl, _), each _ <> null)))
in
    Result

vanessafvg

En respuesta a ImkeF

@ImkeF eso es genial gracias, una última pregunta

si quisiera agregar esto a esta transformación de archivo de muestra como resultado de la combinación de binarios, no puedo entender cómo combinar el código con la función, lo he intentado pero obviamente no entiendo muy bien lo que se debe hacer

este es el mcode

dejar
Fuente = Excel.Workbook(#»Parámetro de archivo de muestra7″, nulo, verdadero),
#»Service Report_Sheet» = Fuente{[Item=»Service Report»,Kind=»Sheet»]}[Data]
en
#»Informe de servicio_Hoja»

esto es lo que probé

dejar
Fuente = Excel.Workbook(#»Parámetro de archivo de muestra7″, nulo, verdadero),
#»Service Report_Sheet» = Fuente{[Item=»Service Report»,Kind=»Sheet»]}[Data],
tabl = tabla,
Encabezados = Tabla.NombresColumnas(tbl),
#»Resultado» = Tabla.SeleccionarColumnas(
tabl,
List.Select(Headers, each List.MatchesAny(Table.Column(tbl, _), each _ <> null)))

en
#»Resultado»

me sale este error Expression.Error: La tabla de importación no coincide con las exportaciones. ¿Te perdiste la referencia de un módulo?

ImkeF

En respuesta a vanessafvg

Probablemente sea más fácil pegar el código de función como una consulta separada como se describe aquí:

PowerQPro

En respuesta a ImkeF

Parece que esto lleva mucho tiempo, ¿algún consejo para reducir el tiempo que lleva?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *