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
ListaColumnaNada 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
TablaColumnaEste 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
TablaColumnaNo 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
TablaColumnaNotemos 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.