La función M que nos permite eleccionar columnas de una tabla, ordenar dichas columnas y gestionar su existencia o no (Table.SelectColumns) es sin duda una función impresionante, por su versatilidad, y sobre todo fácil de emplear.
Puedes leer un ejemplo de la función...
Hoy veremos, sin embargo, una alternativa interesante trabajando sobre los códigos de las columnas empleando los 'corchetes' para ello. Hablamos de la expresión de acceso a campos, o en su caso de la proyección de campos.
Alternativa que nos permitirá seleccionar u ordenar columnas!!
Para explicar la casuística cargaremos una tabla con cuatro columnas: País, Región, Ciudad, Habitantes
Todos conocemos la sintaxis con corchetes simples para referirnos a una columna concreta, y que nos retorna los elementos de la columna en forma de Lista.
Por ejemplo, si escribimos:
Nada novedoso.. pero hay un par de curiosidades que quizás desconozcas.
Un primer aspecto interesante es que si doblamos los corchetes lo que obtenemos no es una lista sino una tabla con esa columna indicada...
Este resultado obtenido da pie a otro aspecto y uso relevante de esta forma de trabajar, ya que nos permite recuperar tantas columnas como necesitemos y en el orden que requiramos!! Por ejemplo para recuperar una nueva tabla con las columnas: Ciudad y Habitantes.
No está mal... pero hay más, si necesitaras optimizar tu selección de columnas, aún desconociendo su existencia, podrías aplicar el operador de opcionalidad (?). Por ejemplo, reclamamos una columna que puede o no existir ('Provincia'):
Notemos que al no existir dicha columna 'Provincia' nos retorna valor nulo (efecto del operador de opcionalidad).
Quizá ya te hayas fijado que el orden de aparición de las columnas en la tabla resultante es el que dispongamos.
Sin duda una alternativa a tener siempre en cuenta, ya que nos permite pasar de listas a tablas y viceversa de una manera muy simple (entre otras cosas) ;-)
Puedes leer un ejemplo de la función...
Hoy veremos, sin embargo, una alternativa interesante trabajando sobre los códigos de las columnas empleando los 'corchetes' para ello. Hablamos de la expresión de acceso a campos, o en su caso de la proyección de campos.
Alternativa que nos permitirá seleccionar u ordenar columnas!!
Para explicar la casuística cargaremos una tabla con cuatro columnas: País, Región, Ciudad, Habitantes
Todos conocemos la sintaxis con corchetes simples para referirnos a una columna concreta, y que nos retorna los elementos de la columna en forma de Lista.
Por ejemplo, si escribimos:
let Origen = Excel.CurrentWorkbook(){[Name="TblDATOS"]}[Content], //elementos de la columna REgión en forma de lista ListaColumna=Origen[Región] in ListaColumna
Nada novedoso.. pero hay un par de curiosidades que quizás desconozcas.
Un primer aspecto interesante es que si doblamos los corchetes lo que obtenemos no es una lista sino una tabla con esa columna indicada...
let Origen = Excel.CurrentWorkbook(){[Name="TblDATOS"]}[Content], //elementos de la columna REgión en forma de tabla //OJO con el doble corchete TablaColumna=Origen[[Región]] in TablaColumna
Este resultado obtenido da pie a otro aspecto y uso relevante de esta forma de trabajar, ya que nos permite recuperar tantas columnas como necesitemos y en el orden que requiramos!! Por ejemplo para recuperar una nueva tabla con las columnas: Ciudad y Habitantes.
let Origen = Excel.CurrentWorkbook(){[Name="TblDATOS"]}[Content], //elementos de la columna REgión en forma de tabla //OJO con el doble corchete TablaColumna=Origen[[Ciudad],[Habitantes]] in TablaColumna
No está mal... pero hay más, si necesitaras optimizar tu selección de columnas, aún desconociendo su existencia, podrías aplicar el operador de opcionalidad (?). Por ejemplo, reclamamos una columna que puede o no existir ('Provincia'):
let Origen = Excel.CurrentWorkbook(){[Name="TblDATOS"]}[Content], //elementos de la columna REgión en forma de tabla //OJO con el doble corchete TablaColumna=Origen[[Ciudad],[Habitantes],[Provincia]]? in TablaColumna
Notemos que al no existir dicha columna 'Provincia' nos retorna valor nulo (efecto del operador de opcionalidad).
Quizá ya te hayas fijado que el orden de aparición de las columnas en la tabla resultante es el que dispongamos.
Sin duda una alternativa a tener siempre en cuenta, ya que nos permite pasar de listas a tablas y viceversa de una manera muy simple (entre otras cosas) ;-)
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.