Expresiones anidadas: entornos de Power Query

En este tutorial, aprenderá sobre expresiones, objetos y entornos anidados en Power Query . Se utilizarán expresiones y variables anidadas para discutir cómo funcionan los entornos y ayudar a generar datos. También aprenderá a lidiar con escenarios comunes al transformar objetos anidados.

Tabla de contenido

Creación de expresiones anidadas

Las expresiones se definen como una fórmula utilizada para construir valor.

Expresiones anidadas: entornos de Power Query

La expresión en la barra de fórmulas se crea a partir de subexpresiones. Los literales 1 y 2 son subexpresiones de la expresión principal.

Las variables se definen como valores con nombre. Este es un registro de muestra.

Expresiones anidadas: entornos de Power Query

Si abre la ventana del Editor avanzado, puede ver las variables utilizadas en la consulta.

Expresiones anidadas: entornos de Power Query

Cada una de las variables a , b y c representa un valor que es el resultado de una expresión que a menudo encontrará después de un signo igual. Todas las variables dentro de la expresión padre, que es el propio registro, forman el entorno de ese registro. Dentro de ese entorno, cada variable debe ser única.

Entonces, si agrega otra variable llamada c , verá un mensaje de error debajo de la ventana del Editor avanzado.

Expresiones anidadas: entornos de Power Query

Expresiones anidadas: entornos de Power Query

El registro puede acceder a todas sus subexpresiones utilizando identificadores o nombres de variables. Sin embargo, para las expresiones anidadas dentro del registro, cada entorno es diferente porque pueden acceder a todas las demás variables del registro excepto a ellos mismos.

En este ejemplo, puede ver que la variable c se hace referencia a sí misma.

Expresiones anidadas: entornos de Power Query

Si presiona hecho, recibirá un mensaje de error.

Expresiones anidadas: entornos de Power Query

Si extrae el valor de c agregando el operador de acceso al elemento, obtendrá un resultado. También puede obtener el mismo resultado con la expresión let porque se le aplican las mismas reglas.

Expresiones anidadas: entornos de Power Query

Comprender las expresiones anidadas en un entorno

Este es otro ejemplo de un valor récord.

Expresiones anidadas: entornos de Power Query

Si abre la ventana del Editor avanzado, puede ver que las variables a y b comparten el mismo entorno, que es el entorno más externo. También verá que las variables x , y y z son subexpresiones de la expresión principal a .

Expresiones anidadas: entornos de Power Query

Cada variable puede acceder a todas las demás variables dentro del registro anidado excepto a sí misma. Puede llamar a una variable que existe en un entorno diferente. En este ejemplo, puede ver que z hace referencia a b , que se encuentra en el entorno exterior.

Expresiones anidadas: entornos de Power Query

Las variables x , y y z pueden acceder a b porque b es parte de su entorno de expresión padre. También puede tener la misma variable pero en diferentes entornos.

En este otro ejemplo, puede ver que el registro interno y externo tiene una variable x .

Expresiones anidadas: entornos de Power Query

Las variables deben ser únicas dentro de su propio entorno. Se utilizará la x más cercana asignada a una variable. En esta consulta de muestra, se usa la x interna ya que está más cerca desde la perspectiva del registro a .

Expresiones anidadas: entornos de Power Query

En esta otra consulta, la x más cercana que está cerca de la variable b se usa en la expresión.

Expresiones anidadas: entornos de Power Query

La variable externa b puede referirse a la variable x dentro del registro a usando el operador de acceso al elemento. Debe referirse a la variable a y luego acceder a x usando un conjunto de corchetes. De la misma forma, el registro a puede referirse a la variable x dentro de la variable b .

Expresiones anidadas: entornos de Power Query

Cuando el entorno del registro anidado a se fusiona con variables de la expresión principal, genera un conflicto porque x existe dos veces y todas las variables deben ser únicas en su entorno. Dado que una variable no puede referirse a sí misma, el conflicto se resuelve al referirse a la x externa.

Expresiones anidadas: entornos de Power Query

Resolución de escenarios comunes

Un escenario común es la transformación de objetos anidados. Para demostrarlo, se utilizará esta tabla.

Expresiones anidadas: entornos de Power Query

Si desea recuperar un valor de la tabla externa y colocarlo en la tabla anidada, hay dos formas de lograrlo. El primer método es usar la opción Agregar columna personalizada .

Haga clic en el icono de la tabla en la esquina superior izquierda del panel de vista previa y seleccione Agregar columna personalizada.

Expresiones anidadas: entornos de Power Query

Ingrese Temp como nombre de columna e ingrese un marcador de posición en la fórmula de columna personalizada . Una vez hecho esto, presione Aceptar.

Expresiones anidadas: entornos de Power Query

Dentro de la barra de fórmulas, reemplace cada expresión con una función personalizada agregando una columna a su tabla anidada. Inicie la lógica para una función personalizada y llámela OT para la tabla externa. Luego, agregue el signo de ir a.

Luego, use la función Table.AddColumn para agregar una columna. Consulte la tabla en la tabla externa que se encuentra en la columna Nombres. Y luego ingrese un nuevo nombre de columna.

Para este ejemplo, el nombre de la columna utilizada es Ingresos . Ingrese cada función para obtener los valores de cada fila en la columna Obtener ingresos.

Expresiones anidadas: entornos de Power Query

Si hace clic en el espacio dentro de la celda de una fila en la columna Temporal, obtendrá una vista previa de la tabla anidada debajo del panel de vista previa. Verá que cada fila tiene el valor de la tabla exterior.

Expresiones anidadas: entornos de Power Query

Uso de variables para almacenar valores

El segundo método para transformar objetos anidados es mediante el uso de variables para almacenar valores. Primero, agregue una columna personalizada e ingrese Temp2 como nombre de columna. Para la fórmula, use la expresión let para almacenar valores en variables.

Ingrese let y luego escriba un nombre de variable. Para este ejemplo, el nombre de la variable es myR . A continuación, iguale la variable con la columna Obtener ingresos. Después de eso, ingrese la cláusula in y use la función Table.AddColumn para agregar una columna a la tabla anidada.

Para el primer parámetro de la función, ingrese la columna Nombres que contiene las tablas anidadas. A continuación, asigne a la nueva columna el nombre Ingresos. Usa each para llamar a las variables de cada fila.

Expresiones anidadas: entornos de Power Query

Si hace clic en el espacio dentro de la celda de una fila en la columna Temp2, verá que recuperó los valores de la tabla exterior.

Expresiones anidadas: entornos de Power Query

Otro escenario común es una búsqueda en la que no hay una clave compartida. Para este escenario, se utilizarán 2 tablas de muestra: una tabla de categorías y una tabla de productos .

Expresiones anidadas: entornos de Power Query

Expresiones anidadas: entornos de Power Query

Utilice la tabla de categorías como una consulta de preparación para complementar los atributos de la tabla de dimensiones del producto. Dado que no hay una clave compartida, no se puede realizar una combinación. Lo primero que debe hacer es anidar la tabla de categorías completa en la consulta de la tabla de productos mediante Agregar columna personalizada.

Agregue una columna personalizada y escriba Categoría como nombre de columna. Luego, en la fórmula personalizada, llame a la consulta de categoría.

Expresiones anidadas: entornos de Power Query

Después de eso, ahora ha anidado la tabla de categorías completa en cada fila de la tabla de productos.

Expresiones anidadas: entornos de Power Query

Cuando hace clic en el espacio dentro de la celda de una fila en la columna Categoría, puede ver la tabla de categorías completa en cada fila.

Expresiones anidadas: entornos de Power Query

Recuperando un solo valor

Si solo desea recuperar un único valor, debe filtrar la tabla de categorías a una sola fila donde una parte de la cadena del producto coincida con el grupo de productos en la tabla de categorías.

Abra el cuadro de diálogo Columna personalizada presionando el botón de engranaje junto a Personalizado agregado en el panel Pasos aplicados.

Expresiones anidadas: entornos de Power Query

En la fórmula, agregue la función Table.SelectRows . Para el primer parámetro, se utiliza la tabla Categoría. El segundo parámetro utilizó la función Text.Contains como condición. Para la tabla interna, esta función verifica si un texto contiene una parte de la cadena de productos en la tabla externa.

Expresiones anidadas: entornos de Power Query

Al acceder a la tabla exterior, notará que Power Query agrega cada palabra clave dentro de la barra de fórmulas. Es una función unaria que toma el guión bajo ( _ ) como una variable sin nombre. Sin embargo, dado que solo está accediendo a una columna, se puede omitir.

Expresiones anidadas: entornos de Power Query

Si hace clic en el espacio dentro de la celda de una fila en la columna Categoría, ahora verá una sola fila en cada una de las tablas anidadas.

Expresiones anidadas: entornos de Power Query

Desde allí, puede extraer un valor para la categoría con la combinación de los operadores de acceso a filas y campos.

Vuelva al cuadro de diálogo Columna personalizada y agregue los operadores en la fórmula. Para obtener la primera fila de la tabla, ingrese 0 dentro de un conjunto de corchetes. Luego, enumere el nombre del campo Categoría dentro de un conjunto de corchetes.

Expresiones anidadas: entornos de Power Query

Para preparar la solución para el futuro, puede agregar un signo de interrogación ( ? ) al final para cambiar el comportamiento de no encontrado de devolver un error a un valor nulo.


Cómo funciona el editor de consultas en LuckyTemplates
M Language y Power Query Editor en LuckyTemplates

Conclusión

Los entornos y las expresiones anidadas ayudan a que su consulta resalte ciertos valores de sus códigos para proporcionar resultados deseables. Ser consciente de ellos es importante al escribir funciones porque cuando los comprende, podrá resolver escenarios más avanzados y complejos.

Toronjil

Leave a Comment

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.