Rafael, buenas tardes. Excelentes soluciones para el problema de las columnas vacías. Sinceramente es genial como lo haces, y también como lo explicas con mucha pedagogía. Este video es imperdible y es para tenerlo entre las joyas del Power Query. Una abrazo grande desde este lado de la cordillera.
Mi estimado Luis... Que gustazo saludarte hermano!!... Gracias como siempre por tus comentarios!!.. Un inmenso abrazo hasta aquel lado del cerrito!... 🧙♂️🧙♂️👊🏻👊🏻
Estimado!... Para nada... Saber que personas como tú invierten parte de su tiempo en aprender de estos temas, es lo que hace que sigamos adelante!.. Gran abrazo!!.. 👊🏻👊🏻🧙♂️🧙♂️
Saludos, chamo del tiro grabé el video, siempre usaba el primer método, pero algunas veces tarda demasiado, con los dos métodos que muestras vayan que son excelentes 👌 😉 😁 gracias 🙂
Rafael ..... amigo.... que maravilla este rato viendo tu video.... gracias y mil gracias por tu esfuerzo en compartir tus conocimientos..... Un abrazo, deseándote mucha felicidad para tí y los tuyos.
Saludos. Como siempre, magistrales y útiles explicaciones para los aprendices de PQ. Como bien dices, mientras menos datos duros queden en las transformaciones, más universales su aplicación. Esta es una que robaré en adelante. Gracias por compartir.
Amigo Rafa gusto en saludarte hermano la segunda y la tercera me parecieron excelentes una manera más rápida más profesional, más detallado y en el primer escenario que se presente lo aplicaré no falta que salga pero ya al menos tengo la idea abrazos hermanito Desde León Guanajuato México 🇲🇽 muchas bendiciones a ti canal .👏👍👍🤝
Mi Grijalva querido!!.. Que gusto saludarte hermano!!... Muchas gracias por tu comentario... Confieso que iniciando hacía uso de la primera pero llegaba un momento en que la cantidad de registros hacía imposible hacer esto, obligandome a ir columna a columna eliminando una a una las vacías... Pero ya ves que aprender M del bueno, tiene sus beneficios, sobretodo el uso de listas!.. Sencillamente {M}ágico... Abrazos querido amigo hasta ese hermoso país 🇲🇽🇲🇽🇲🇽
Extraordinario video, el los 3 Métodos son muy interesantes en su resolución. Sin embrago como bien lo dices es mas elegante el 3er método.- Saludos y mil gracias estimado Rafa.
José gracias por comentarlo!! Un inmenso abrazo hasta esas hermosas tierras Asturianas!.. Espero poder llegar al dia de tener el honor de conocerla!!..
Definitivamente la última opción es la más sencilla. Gracias Rafa por compartir todo un crack! Aquí les comparto la misma lógica pero ya en formato de función para que la persona solo ponga la tabla y ejecute. ----------------------- ( MiTabla as table ) as table => let TablaALista = Table.ToColumns( MiTabla ), EliminaColumnasNulls = List.Select( TablaALista, each List.NonNullCount(_) 0), ListaATabla = Table.FromColumns(EliminaColumnasNulls) in ListaATabla
Sacaste las 3 barritas mágicas . Mientras tomaba notas sobre tus magnificas explicaciones ( ya que yo todavía estoy al nivel del Metodo1 ) , me preguntaba como seria esto en excel y me salió esto : =LET( t;A1:W24 ; FILTRAR( t ; MMULT( SECUENCIA(;FILAS(t)) ; --(t"") ))) A la variable "t" tabla , le di de entrada una tabla parecida a la del video , 24 filas x 23 columnas (A1:W24) , pero se le puede poner una cualquiera de cualquier tamaño , la formula es dinámica . Lo hice con MMULT ya que me encanta , pero se pudiera haber hecho con la función LAMBDA , BYCOL Yo creo que para aprender PQ debo de dejar un tiempo de lado el excel , si es que no me resisto con lo bonito y versátil que es :))
Mi apreciado Leo!!... Me contenta mucho saber que tomas notas de mis tutoriales y mas aún me contenta que lo lleves a una solución en nuestro amado Excel... Confieso que para aprender lo que hasta ahora se de PQ, tuve que dejar de avanzar mas en excel, que dicho sea de paso sigue estando dentro de mis herramientas favoritas, y mas cuando personas como tú, John, Andrés, Sergio entre otros, nos muestran y enseñan lo que es capaz de seguir haciendo!!... Larga vida a Excel!.. Un abrazo hermano, y gracias por el aporte, la voy a estudiar.. 🧙♂️🧙♂️
MUCHAS GRACIAS RAFAEL. Muy instryctivo, aunque yo me identifico con el primer método. Lo entiendo mejor. Pero pregunto: ¿que seria la desventaja o inveniencia de usar el 1ero en vez de los otros?
Hola José... Muchas gracias... Durante el video lo mencioné pero igual te comento estimado... Imaginate que tengas una data de mas de, digamos, 1M de fila, hasta un poco menos... Trata de transponer dicha tabla asi sean dos o tres columnas... Estaríamos hablando de 1M de columnas!!.. De igual forma, PQ tiene limites en cantidad de columnas a manejar, que según la documentación oficial es de 16.384... Asi que no es muy prudente hacerlo... Por eso recomiendo los dos ultimos métodos... Pudiesen haber otros quizás, pero yo, al menos por ahora, les ofrezco estos... El segundo quizás te ayude más si aún sientes que estás en camino a aprender M y el trabajo con listas... Un abrazo
Muchas gracias por el video! Me surge la siguiente consulta: en el metodo 3, es posible unificar los pasos Personalizado1, Personalizado2 y Personalizado3 en un solo paso?
Saludos. Si, claro que es posible, pero recuerde que esto dificulta la comprensión del código, ya que la anidación de pasos tiende a dificultar los alcances de cada una de las funciones utilizadas (según mi criterio). Pero aquí le dejo como quedaría según el ejemplo expuesto por Rafael, con los pasos anidados: Personalizado1 = Table.FromColumns(List.Select( Table.ToColumns( Sheet1_Sheet), each List.NonNullCount(_) 0)) y la expresión anterior es totalmente equivalente a los 3 pasos Personalizado1,2 y 3 del video. Espero le sea de utilidad.
Asi es Fedex, tal como Oswaldo gentilemente explicó... En el Video, de hecho lo menciono, lo hice de esa manera para comprensión del Código pero si puedes trabajar anidando la expresión.. Gracias por tu consulta y espero sigas consiguiendo utilodad en el resto del contenido.. Saludos
Casi siempre cuando las funciones en los argumentos dicen "as function" definitivamente debe ir un "each" es quivalente a (_)=> o si dentro de la función involucrará más iteraciones puedes colocar (a)=> luego donde va el otro each podrías (b)=> y así sucesivamente.
Hola Rafael , como podría añadir filas nuevas procedentes de una consulta de combinación Antizquierda sin que al borrar la consulta se borren las filas nuevas de la tabla , gracias
Hola Andrés... Si comprendí bien, estás eliminando la consulta combinada luego de combinar?... De ser así te comento no eliminarla ya que es parte del código... Ahora bien, si no quieres tener esa consulta en tu panel, pues incorporala al código de la consulta donde generaste la combinación y con M, trabaja la función usando las variables y claves de tus dos tablas... Espero haber comprendido bien, sin embargo, mantener la consulta no es nada malo al final... Saludos!!
Calidad de enseñanza, gracias Rafael.
Epa Rafa excelentes métodos, el tercero me encantó, muchas gracias por compartir
Rafael, buenas tardes. Excelentes soluciones para el problema de las columnas vacías. Sinceramente es genial como lo haces, y también como lo explicas con mucha pedagogía. Este video es imperdible y es para tenerlo entre las joyas del Power Query. Una abrazo grande desde este lado de la cordillera.
Mi estimado Luis... Que gustazo saludarte hermano!!... Gracias como siempre por tus comentarios!!.. Un inmenso abrazo hasta aquel lado del cerrito!... 🧙♂️🧙♂️👊🏻👊🏻
Excelente metodología, claro, didáctico, muy genial el contenido. Felicidades Rafa y muchas gracias.
Gracias Luis Carlos!! Que gusto leerte hermano!.. Gran abrazo!!
Espectacular el 3er metodo fue el mas ganador. Simple y llegamos al resultado que queremos. Felicidades Rafael por el video compartido
Gracias Armando... A mi me encanta el 3er. Método también!... Que gusto leer que lo aprecies... un abrazo
Yo creo que somos nosotros los que tenemos que agradecerte por tu tiempo
Estimado!... Para nada... Saber que personas como tú invierten parte de su tiempo en aprender de estos temas, es lo que hace que sigamos adelante!.. Gran abrazo!!.. 👊🏻👊🏻🧙♂️🧙♂️
Saludos, chamo del tiro grabé el video, siempre usaba el primer método, pero algunas veces tarda demasiado, con los dos métodos que muestras vayan que son excelentes 👌 😉 😁 gracias 🙂
{M}agnifico video, {M}aestro Rafa, como siempre muy didactico y muy entendible. {M}uchas bendiciones.
Muchas gracias mi Estimado Ned.. Me alegra te haya gustado... Nos vemos por allí... Un abrazo!!...
Rafael ..... amigo.... que maravilla este rato viendo tu video.... gracias y mil gracias por tu esfuerzo en compartir tus conocimientos..... Un abrazo, deseándote mucha felicidad para tí y los tuyos.
Mi estimado, me alegra leerte y saber que disfrutaste cada minuto... Nos seguimos viendo en este {M}ágico camino 👊🏻👊🏻🧙♂️🧙♂️
Sin duda el 3er método es el mejor. Usted es un verdadero crack del uso del Power Query, muchas gracias por compartir. Le saludo desde Costa Rica.
Muchas gracias José María!!.. Espero sigas encontrando utilidad en este canal... Un abrazo hasta Costa Rica y Pura Vida!!!
Gracias por compartir tus conocimientos. Saludos
Saludos. Como siempre, magistrales y útiles explicaciones para los aprendices de PQ. Como bien dices, mientras menos datos duros queden en las transformaciones, más universales su aplicación. Esta es una que robaré en adelante. Gracias por compartir.
Mi estimado Oswaldo, que gusto siempre es leerte.. Gran abrazo hermano!
Increíble ayuda el tercer método. Gracias
Muchisimas gracias a ti estimado... Saludos!!
Wow, definitivo que me "explotó" la cabeza.
Muy buenos métodos para practicar con nuestros archivos.
Muchísimas gracias por tu explicación ❤🎉
Gracias Mary. Asi mismo. A practicarlos!!. Saludos!
Amigo Rafa gusto en saludarte hermano la segunda y la tercera me parecieron excelentes una manera más rápida más profesional, más detallado y en el primer escenario que se presente lo aplicaré no falta que salga pero ya al menos tengo la idea abrazos hermanito Desde León Guanajuato México 🇲🇽 muchas bendiciones a ti canal .👏👍👍🤝
Mi Grijalva querido!!.. Que gusto saludarte hermano!!... Muchas gracias por tu comentario... Confieso que iniciando hacía uso de la primera pero llegaba un momento en que la cantidad de registros hacía imposible hacer esto, obligandome a ir columna a columna eliminando una a una las vacías...
Pero ya ves que aprender M del bueno, tiene sus beneficios, sobretodo el uso de listas!.. Sencillamente {M}ágico... Abrazos querido amigo hasta ese hermoso país 🇲🇽🇲🇽🇲🇽
Rafa desde junio 2024, excelente video gracias por compartir tú valioso conocimiento los 3 métodos muy prácticos.
Muchas gracias Damaris!. Que bueno te sea de utilidad. A ponerlos en acción! Saludos!
Extraordinario video, el los 3 Métodos son muy interesantes en su resolución. Sin embrago como bien lo dices es mas elegante el 3er método.- Saludos y mil gracias estimado Rafa.
Eduardo querido!!... Soy un fan de las Listas!!.. Como ayudan!... Un gran abrazo hermano!!...
Buen vídeo, útil, didáctico y además muy bien explicado, en resumen Genial. Saludos desde Asturias - España.
José gracias por comentarlo!! Un inmenso abrazo hasta esas hermosas tierras Asturianas!.. Espero poder llegar al dia de tener el honor de conocerla!!..
¡Que nivel! Increíble lo didáctico.
Mi estimado Oliver... Un gustazo hermano!!!... Gran abrazo!!
Definitivamente la última opción es la más sencilla. Gracias Rafa por compartir todo un crack!
Aquí les comparto la misma lógica pero ya en formato de función para que la persona solo ponga la tabla y ejecute.
-----------------------
( MiTabla as table ) as table =>
let
TablaALista = Table.ToColumns( MiTabla ),
EliminaColumnasNulls = List.Select( TablaALista, each List.NonNullCount(_) 0),
ListaATabla = Table.FromColumns(EliminaColumnasNulls)
in
ListaATabla
Excelente Odel... Un gran abrazo!!
Con mucho gusto. 👍🏻
Otro excelente video, sobre todo muy fácil de entender. Saludos
Muchas gracias Guillermo!... Un inmenso abrazo
Excelente video como siempre amigo Rafa 💯👍muchas gracias
Mi estimado Ramiro... Muchisimas gracias... Un gran abrazo!!
EXCELente video estimado Maestro Rafael...éxitos y bendiciones.
Alfredito hermano!!... Gusto saludarte como siempre... Gracias por tus palabras!! A seguir avanzando!!!
Sacaste las 3 barritas mágicas . Mientras tomaba notas sobre tus magnificas explicaciones ( ya que yo todavía estoy al nivel del Metodo1 ) , me preguntaba como seria esto en excel y me salió esto :
=LET( t;A1:W24 ; FILTRAR( t ; MMULT( SECUENCIA(;FILAS(t)) ; --(t"") )))
A la variable "t" tabla , le di de entrada una tabla parecida a la del video , 24 filas x 23 columnas (A1:W24) , pero se le puede poner una cualquiera de cualquier tamaño , la formula es dinámica .
Lo hice con MMULT ya que me encanta , pero se pudiera haber hecho con la función LAMBDA , BYCOL
Yo creo que para aprender PQ debo de dejar un tiempo de lado el excel , si es que no me resisto con lo bonito y versátil que es :))
Mi apreciado Leo!!... Me contenta mucho saber que tomas notas de mis tutoriales y mas aún me contenta que lo lleves a una solución en nuestro amado Excel...
Confieso que para aprender lo que hasta ahora se de PQ, tuve que dejar de avanzar mas en excel, que dicho sea de paso sigue estando dentro de mis herramientas favoritas, y mas cuando personas como tú, John, Andrés, Sergio entre otros, nos muestran y enseñan lo que es capaz de seguir haciendo!!... Larga vida a Excel!.. Un abrazo hermano, y gracias por el aporte, la voy a estudiar.. 🧙♂️🧙♂️
Excelente video. Gracias por compartir
Jorge muchas gracias... A ti por apreciarlo... Un inmenso abrazo!
Excelente 🎉
Gracias Randolfo!... Tanto tiempo estimado!.. Saludos!
MUCHAS GRACIAS RAFAEL. Muy instryctivo, aunque yo me identifico con el primer método. Lo entiendo mejor. Pero pregunto: ¿que seria la desventaja o inveniencia de usar el 1ero en vez de los otros?
Hola José... Muchas gracias... Durante el video lo mencioné pero igual te comento estimado... Imaginate que tengas una data de mas de, digamos, 1M de fila, hasta un poco menos... Trata de transponer dicha tabla asi sean dos o tres columnas... Estaríamos hablando de 1M de columnas!!.. De igual forma, PQ tiene limites en cantidad de columnas a manejar, que según la documentación oficial es de 16.384... Asi que no es muy prudente hacerlo... Por eso recomiendo los dos ultimos métodos... Pudiesen haber otros quizás, pero yo, al menos por ahora, les ofrezco estos... El segundo quizás te ayude más si aún sientes que estás en camino a aprender M y el trabajo con listas... Un abrazo
Muchas gracias por el video! Me surge la siguiente consulta: en el metodo 3, es posible unificar los pasos Personalizado1, Personalizado2 y Personalizado3 en un solo paso?
Saludos. Si, claro que es posible, pero recuerde que esto dificulta la comprensión del código, ya que la anidación de pasos tiende a dificultar los alcances de cada una de las funciones utilizadas (según mi criterio). Pero aquí le dejo como quedaría según el ejemplo expuesto por Rafael, con los pasos anidados:
Personalizado1 = Table.FromColumns(List.Select( Table.ToColumns( Sheet1_Sheet), each List.NonNullCount(_) 0))
y la expresión anterior es totalmente equivalente a los 3 pasos Personalizado1,2 y 3 del video.
Espero le sea de utilidad.
Muchas gracias @@odallamico!
Asi es Fedex, tal como Oswaldo gentilemente explicó... En el Video, de hecho lo menciono, lo hice de esa manera para comprensión del Código pero si puedes trabajar anidando la expresión..
Gracias por tu consulta y espero sigas consiguiendo utilodad en el resto del contenido.. Saludos
Por cierto, tendrás algún video explicando each, enreda cuando colocar el _ o cuando no gracias
Supieras que es un tema que he querido abordar... Que bueno que lo comentas... Voy a trabajarlo y espero subirlo pronto... Un abrazo mi estimado...
Casi siempre cuando las funciones en los argumentos dicen "as function" definitivamente debe ir un "each" es quivalente a (_)=> o si dentro de la función involucrará más iteraciones puedes colocar (a)=> luego donde va el otro each podrías (b)=> y así sucesivamente.
Hola Rafael , como podría añadir filas nuevas procedentes de una consulta de combinación Antizquierda sin que al borrar la consulta se borren las filas nuevas de la tabla , gracias
Hola Andrés... Si comprendí bien, estás eliminando la consulta combinada luego de combinar?... De ser así te comento no eliminarla ya que es parte del código... Ahora bien, si no quieres tener esa consulta en tu panel, pues incorporala al código de la consulta donde generaste la combinación y con M, trabaja la función usando las variables y claves de tus dos tablas... Espero haber comprendido bien, sin embargo, mantener la consulta no es nada malo al final... Saludos!!
El segundo, sólo porque mantiene los nombres de las columnas originales