Anulación de dinamización de columnas
En Power Query, puede transformar columnas en pares atributo-valor, donde las columnas se convierten en filas.
Diagrama que muestra una tabla a la izquierda con una columna y filas en blanco, y los valores de Atributos A1, A2 y A3 como encabezados de columna. En esta tabla, la columna A1 contiene los valores V1, V4 y V7. La columna A2 contiene los valores V2, V5 y V8. La columna A3 contiene los valores V3, V6 y V9. Con las columnas sin dinamización, una tabla a la derecha del diagrama contiene una columna y filas en blanco, una columna Atributos con nueve filas con A1, A2 y A3 repetidas tres veces, y una columna Valores con valores de V1 a V9.
Por ejemplo, en una tabla como la siguiente, donde hay filas de país y columnas de fecha que crean una matriz de valores, es difícil analizar los datos de forma escalable.
Captura de pantalla de una tabla que contiene una columna País establecida en el tipo de datos Texto y tres columnas con las fechas 1 de junio de 2023, 1 de julio de 2023 y 1 de agosto de 2023 establecidas en el tipo de datos Número entero. La columna País contiene EE. UU. en la fila 1, Canadá en la fila 2 y Panamá en la fila 3.
En su lugar, puede transformar la tabla en una tabla con columnas sin dinamización, como se muestra en la imagen siguiente. En la tabla transformada, es más fácil usar la fecha como atributo para filtrar.
Captura de pantalla que muestra una tabla que contiene un conjunto de columnas País con el tipo de datos Texto, una columna Atributo establecida con el tipo de datos Texto y una columna Valor establecida con el tipo de datos Número entero. La columna País contiene EE. UU. en las tres primeras filas, Canadá en las tres filas siguientes y Panamá en las últimas tres filas. La columna Atributo contiene la fecha 1 de junio de 2023 en las filas primera, cuarta y séptima, la fecha 1 de julio de 2023 en las filas segunda, quinta y octava, y la fecha 1 de agosto de 2023 en las filas tercera, sexta y novena.
La clave de esta transformación es que tiene un conjunto de fechas en la tabla que deben formar parte de una sola columna. El valor correspondiente para cada fecha y país debe estar en una columna diferente, creando eficazmente un par atributo-valor.
Power Query siempre crea el par atributo-valor utilizando dos columnas:
- Atributo: el nombre de los encabezados de columna que estaban sin dinamizar.
- Valor: los valores que estaban debajo de cada uno de los encabezados de columna sin dinamizar.
Hay varios lugares en la interfaz de usuario donde puede encontrar Anular la dinamización de columnas. Puede hacer clic con el botón derecho en las columnas cuya dinamización desee anular o seleccionar el comando en la pestaña Transformación de la cinta de opciones.
Hay tres maneras de anular la dinamización de las columnas de una tabla:
- Anulación de dinamización de columnas
- Anulación de dinamización de otras columnas
- Anular solo la dinamización de las columnas seleccionadas
Anulación de dinamización de columnas
Para el escenario descrito anteriormente, primero debe seleccionar las columnas cuya dinamización desea anular. Puede seleccionar Ctrl mientras selecciona tantas columnas como necesite. En este escenario, desea seleccionar todas las columnas excepto la denominada País. Después de seleccionar las columnas, haga clic con el botón derecho en cualquiera de las columnas seleccionadas y, a continuación, seleccione Anular dinamización de columnas.
Captura de pantalla de la tabla con las columnas 1 de junio de 2023, 1 de julio de 2023 y 1 de agosto de 2023 seleccionadas, y el comando Anular dinamización de columnas seleccionado en el menú de función rápida”.
El resultado de esta operación producirá el resultado que se muestra en la siguiente imagen.
Consideraciones especiales
Después de crear la consulta a partir de los pasos anteriores, imagine que la tabla inicial se actualiza de manera que sea similar a la captura de pantalla siguiente.
Captura de pantalla de la tabla con las mismas columnas de fechas originales de País, 1 de junio de 2023, 1 de julio de 2023 y agosto de 2023, con la adición de una columna de fecha 1 de septiembre de 2023. La columna País sigue conteniendo como valores EE. UU. Canadá y Panamá, pero también se ha añadido Reino Unido a la cuarta fila y México a la quinta fila.
Tenga en cuenta que está añadiendo una nueva columna para la fecha 1 de septiembre de 2023 (1/9/2023), y dos nuevas filas para los países/regiones Reino Unido y México.
Si actualiza la consulta, observará que la operación se realizará en la columna actualizada, pero no afectará a la columna que no se seleccionó originalmente (País, en este ejemplo). Esto significa que también se anulará la dinamización de cualquier columna nueva que se agregue a la tabla de origen.
En la imagen siguiente se muestra el aspecto de la consulta después de la actualización con la nueva tabla de origen actualizada.
Captura de pantalla de la tabla con las columnas País, Atributo y Valor. Las cuatro primeras filas de la columna País contienen EE. UU., las cuatro segundas filas contienen Canadá, las cuatro terceras filas contienen Panamá, las cuatro cuartas filas contienen Reino Unido y las cuatro quintas filas contienen México. La columna Atributo contiene las fechas de 1 de junio de 2023, 1 de julio de 2023 y agosto de 2023 en las cuatro primeras filas, que se repiten para cada país.
Anulación de dinamización de otras columnas
También puede seleccionar las columnas cuya dinamización no desea anular y anular la dinamización del resto de las columnas de la tabla. Esta operación es donde entra en juego la opción Anular dinamización de otras columnas.
El resultado de esa operación producirá exactamente el mismo resultado que el que obtuvo de Anular dinamización de columnas.
Captura de pantalla que muestra una tabla que contiene un conjunto de columnas País con el tipo de datos Texto, una columna Atributo establecida con el tipo de datos Texto y una columna Valor establecida con el tipo de datos Número entero. La columna País contiene EE. UU. en las tres primeras filas, Canadá en las tres filas siguientes y Panamá en las últimas tres filas. La columna Atributo contiene la fecha 1 de junio de 2023 en las filas primera, cuarta y séptima, la fecha 1 de julio de 2023 en las filas segunda, quinta y octava, y la fecha 1 de agosto de 2023 en las filas tercera, sexta y novena.
Nota:
Esta transformación es fundamental para las consultas que tienen un número desconocido de columnas. La operación anulará la dinamización de todas las columnas de la tabla, excepto las que se hayan seleccionado. Se trata de una solución ideal si el origen de datos de su escenario tiene nuevas columnas de fecha en una actualización, ya que se seleccionarán y su anulará su dinamización.
Consideraciones especiales
De forma similar a la operación Anular dinamización de columnas, si la consulta se actualiza y se seleccionan más datos del origen de datos, se anulará la dinamización de todas las columnas excepto las que se seleccionaron anteriormente.
Para ilustrar este proceso, supongamos que tiene una nueva tabla como la de la siguiente imagen.
Captura de pantalla de la tabla con las columnas País, 1 de junio de 2023, 1 de julio de 2023, 1 de agosto de 2023 y 1 de septiembre de 2023, con todas las columnas configuradas con el tipo de datos Texto. La columna País contiene, de arriba abajo, Estados Unidos, Canadá, Panamá, Reino Unido y México.
Puede seleccionar la columna País y, después, seleccionar Anular dinamización de otras columnas, lo que producirá el resultado siguiente.
Captura de pantalla de la tabla con las columnas País, Atributo y Valor. Las columnas País y Atributo se establecen en el tipo de datos Texto. La columna Valor se establece en el tipo de datos Valor completo. Las cuatro primeras filas de la columna País contienen EE. UU., las cuatro segundas filas contienen Canadá, las cuatro terceras filas contienen Panamá, las cuatro cuartas filas contienen Reino Unido y las cuatro quintas filas contienen México. La columna Atributo contiene el 1 de junio de 2023, el 1 de julio de 2023, el 1 de agosto de 2023 y el 1 de septiembre de 2023 en las cuatro primeras filas, que se repiten para cada país.
Anular solo la dinamización de las columnas seleccionadas
El propósito de esta última opción es anular solo la dinamización de columnas específicas de la tabla. Esto es importante para escenarios en los que se trabaja con un número desconocido de columnas del origen de datos y solo desea anular la dinamización de las columnas seleccionadas.
Para llevar a cabo esta operación, seleccione las columnas cuya dinamización desee anular, que en este ejemplo son todas las columnas excepto la columna País. A continuación, haga clic con el botón derecho en cualquiera de las columnas seleccionadas y, a continuación, seleccione Anular solo la dinamización de las columnas seleccionadas.
Observe cómo esta operación producirá la misma salida que los ejemplos anteriores.
Captura de pantalla que muestra una tabla que contiene un conjunto de columnas País con el tipo de datos Texto, una columna Atributo establecida con el tipo de datos Texto y una columna Valor establecida con el tipo de datos Número entero. La columna País contiene EE. UU. en las tres primeras filas, Canadá en las tres filas siguientes y Panamá en las últimas tres filas. La columna Atributo contiene la fecha 1 de junio de 2023 en las filas primera, cuarta y séptima, la fecha 1 de julio de 2023 en las filas segunda, quinta y octava, y la fecha 1 de agosto de 2023 en las filas tercera, sexta y novena.
Consideraciones especiales
Después de realizar una actualización, si la tabla de origen cambia de modo que haya una nueva columna 9/1/2020 y nuevas filas para Reino Unido y México, la salida de la consulta será diferente de la de los ejemplos anteriores. Supongamos que nuestra tabla de origen, después de una actualización, cambia a la tabla de la imagen siguiente.
La salida de nuestra consulta será como la de la siguiente imagen.
Tiene este aspecto porque la operación de anulación de la dinamización se aplicó solo en las columnas 6/1/2020, 7/1/2020 y 8/1/2020, por lo que la columna con el encabezado 9/1/2020 permanece sin cambios.