top of page
Foto del escritorJaime Franco Jimenez

Power Query. Parte 4


Vamos a hablar ahora de como agregar una columna.


Vamos a ver como agregar una columna a partir de los ejemplos.


Al agregar columnas de ejemplos, podemos crear de forma rápida y sencilla nuevas columnas que satisfagan nuestras necesidades.


Vamos a traernos a Power Query, el siguiente archivo, y, hacemos clic en importar.





Se abre la ventana, navegador, seleccionamos la tabla datos.











Hacemos clic en obtener y transformar, en la parte inferior derecha.


Podemos ver en el panel de consultas, nuestra consulta.





Verificamos que el tipo de datos es correcto, y, que no hay columnas, o, filas de más.


Columna a partir de los ejemplos, se encuentra en la pestaña agregar columna, dentro del grupo general.









Teniendo la consulta seleccionada, por ejemplo, vamos a crear una columna a partir de los ejemplos a partir de la columna Total.












Queremos crear un intervalo, por ejemplo, si tenemos el valor 100, pues, por ejemplo, que nos diga que se encuentra en el intervalo entre 100 y 500.


Para ello, seleccionamos la columna Total.


Desplegamos Columna a partir de los ejemplos.


Elegimos a partir de la selección.











Vemos que se ha creado una nueva columna.










Hacemos doble clic en el encabezado de esta nueva columna, y, le llamamos, por ejemplo, Rango.


Pues, en la primera celda de esta nueva columna, escribimos 100 y 500, hacemos clic en aceptar.









Podemos que se ha rellenado la columna, por ejemplo, el primer valor es 121, pues nos dice que está en el intervalo entre 100 y 500, vamos a buscar otro valor, por ejemplo, 506,99, nos dice que se encuentra en el intervalo, entre 500 y 900.





Cuando en la columna rango, hemos puesto, 100 y 500, la diferencia entre ambas cantidades es 400, pues, estamos indicándole, que nos diga el numero que corresponda, en que intervalo se encuentra, en este caso, el número es 506,99, pues se encuentra en el intervalo entre 500 y 900.


El numero 1000,67, nos dice que se encuentra en el intervalo entre 900 y 1300, vemos siempre, que hay una diferencia de 400.


Lo que voy a decir, no es certero, pero creo, que el intervalo se calcula, por ejemplo, con esta cantidad, 1000,67, restándole 100 a la cantidad, por lo que el numero seria 900,67, quitando decimales, y, sumándole 400 a 900.


Como digo, es a mi modo de ver, no estoy seguro, si es así el cálculo.




Vamos a crear otra columna a partir de los ejemplos, en este caso, queremos unir, o, concatenar, la fecha de factura, con el cliente.





Seleccionamos ambas columnas.









Vamos a la pestaña agregar columna, y, dentro del grupo general, desplegamos columna a partir de los ejemplos, y, seleccionamos a partir de la selección.











Aparece una columna nueva a la derecha, hacemos doble clic en el encabezado, y, cambiamos el nombre.







Escribimos la primera fecha de factura, escribimos una coma, y, ponemos el nombre del primer cliente.








Aceptar.














Podemos ver que se ha creado una nueva columna, donde hemos concatenado la columna de fecha de factura, más una coma, y, el nombre de cada cliente.














Estos son algunos ejemplos de agregar una columna a partir de los ejemplos.



Ahora, vamos a ver cómo podemos crear una columna de índice.


De forma predeterminada, el índice de inicio se iniciará a partir del valor 0, y, tendrá un incremento de 1 por fila.


Veamos un ejemplo.


Nos vamos a traer el siguiente archivo, y, hacemos clic en importar.





Se abre la ventana de navegador, seleccionamos la tabla, y, hacemos clic en transformar datos.









Bien, tenemos una serie de clientes.









Queremos añadirle lo que se conoce como un ID, que identifica a cada registro como único, pero debe de empezar desde el número 1, e, ir incrementando 1 para cada fila.


Para ello, seleccionamos la columna, vamos a la pestaña agregar columna, dentro del grupo general, si hacemos clic en columna índice, sin desplegar.








Nos crea un índice, pero, empezando desde cero.









Pero, queremos que este índice, empiece por 1, por lo que desplegamos columna de índice, y, seleccionamos desde 1.









Ya tenemos, como queremos, nuestro índice.









Le cambiamos el nombre, y, le ponemos IDcliente, y, la movemos al principio.









Esta tabla, se conoce con el nombre, de tabla maestra, porque los registros son únicos, es decir, no se repiten.



También, podemos crear una columna de índice pero personalizada, por ejemplo, queremos que empiece por el número 2, y, vaya sumando dos a cada fila.


Volvemos a desplegar columna de índice, y, elegimos personalizado.











Se abre la ventana, agregar columna de índice, pues como, índice inicial, ponemos 2, y, en incremento, también ponemos dos, y, aceptamos.










Vemos que el índice empieza en el número dos, y, a partir de dicho número, le va sumando dos.








Veamos otro ejemplo.


Seleccionamos el siguiente archivo, e, importamos.




Se abre la ventana, navegador, seleccionamos nuestra tabla, y, hacemos clic en transformar datos.











Tenemos una tabla, donde tenemos materiales de construcción, al que le hemos añadido una columna de índice empezando desde 1.









Lo que quiero, ahora, es dividir cada numero de la columna índice entre 2.


Para ello, teniendo la columna seleccionada, la de índice, vamos a la pestaña agregar columna, dentro del grupo de número, desplegamos estándar, y, elegimos dividir (entero).











Se abre la ventana, división de entero, pues, escribimos el numero por el que queremos dividir cada valor de la columna índice, en este caso, vamos a poner el número dos, y, aceptamos.








Podemos ver que se ha creado una nueva columna llamada división entera, donde tenemos la división de cada numero de la columna índice entre dos.









Ahora, vamos a ver cómo crear una columna personalizada.


Seleccionamos el siguiente archivo, e, importamos.





Se abre la ventana, navegador, pues, seleccionamos nuestra tabla, y, hacemos clic en transformar datos.











Debemos de quitar columnas sobrantes.








Seleccionamos la primera columna sobrante, vamos a la ultima columna sobrante, dejamos pulsada la tecla SHIFT, y, hacemos clic en la ultima columna sobrante, quedando seleccionadas, todas las columnas sobrantes, ahora, hacemos clic con el botón alternativo del ratón, sobre uno de los encabezados de estas columnas sobrantes, y, seleccionamos quitar columnas.






En el modelo, tenemos una columna que es unidades, y, otra que es precio, pero no tenemos una columna de total, pues la vamos a crear.


Vamos a la pestaña agregar columna, dentro del grupo general, hacemos clic en columna personalizada.







Se abre la ventana de columna personalizada, En el cuadro que se abre es donde vamos a definir la fórmula para esta columna.


En la ventana, nuevo nombre de columna, le vamos a poner, por ejemplo, Total.








Vemos en la parte de abajo que aparecen dos columnas, una llamada formula de columna personalizada, que es donde debemos de poner nuestra fórmula, y, otra, llamada columnas disponibles, que son los encabezados de nuestro modelo de datos.













En la ventana, formula de columna personalizada, hacemos clic después del signo igual, en la ventana columnas disponibles, hacemos doble clic sobre el encabezado número de unidades, vemos como aparece en la ventana, formula de columna personalizada.











Escribimos el signo de multiplicación (*), y, hacemos doble clic en el encabezado, precio, dentro de la ventana columnas disponibles.


Vemos como en la ventana, formula de columna personalizada, aparece la operación, además, vemos en la parte inferior que nos dice, que no se han detectado errores de sintaxis.















Hacemos clic en aceptar.


Ya tenemos nuestra columna de total.










Pero, podemos ver que no ha detectado el tipo de datos.










Para solventar, este pequeño problema, teniendo la columna seleccionada, vamos a la pestaña transformar, dentro del grupo cualquier columna, hacemos clic en detectar tipo de datos.







Ya tenemos, el tipo de datos detectado, que en este caso, es número entero.








El siguiente ejemplo, va a seguir sobre columna personalizada, pero, vamos a aprender la función IF…THEN…ELSE, que es igual que el condicional SI en Excel.


Siguiendo con el mismo modelo de datos.


Vamos a crear una columna personalizada donde vamos a añadir un 10% de descuento, si el total es mayor a 5000.


Para ello, volvemos a la pestaña agregar columna, dentro del grupo general, hacemos clic en columna personalizada.







Se abre la ventana de columna personalizada, en la ventana, nuevo nombre de columna, le ponemos, por ejemplo, descuento.






Hacemos clic después del signo igual, dentro de la ventana, formula de columna personalizada, donde ponemos la función IF, y, hacemos doble clic, en la ventana de columnas disponibles, en Total.









Lo siguiente es compararlo con mayor a 5000.









Ponemos la palabra then (entonces), abrimos un paréntesis, donde seleccionamos el encabezado de total dentro de la ventana, columnas disponibles, haciendo doble clic sobre el encabezado, ponemos el símbolo de multiplicación (*), cerramos paréntesis, y, dividimos por 100.










A continuación, ponemos la palabra else (en caso contrario), pues en caso contrario, que ponga el valor de la columna total.


Las palabras then, y, else, aunque veáis en las imágenes que están en mayúsculas, deben de ir en minúsculas.


Podemos ver en la parte inferior, que nos aparece el mensaje que no se han detectado errores de sintaxis.


















Aceptamos, y, podremos ver, en la columna creada muestra a aquellas cantidades que son superiores a 5000, nos muestra a cuanto equivale el descuento, pero no ha reconocido el tipo de datos.









Pues, teniendo la columna seleccionada, vamos a la pestaña de transformar, dentro del grupo cualquier columna, hacemos clic en detectar tipo de datos.







Ya lo tenemos.









Por último, vamos a crear otra columna personalizada, donde queremos ver, como quedaría la cantidad de total, habiéndole restado el descuento, a quien le pertenezca.


Para ello, vamos a la ventana de pasos aplicados, seleccionamos el paso de personalizada agregada1, que es nuestra columna personalizada, y, hacemos clic, en la rueda dentada.











Se abre la ventana de columna personalizada, la vamos a llamar, Total2.







En la ventana, formula de columna personalizada, después del signo igual, la pregunta sigue siendo la misma, para aquellas cantidades de la columna total, que sean mayores a 5000.









Ponemos la palabra then (entonces), pues en ese caso, restamos la columna total, menos la columna de descuento.










Ponemos la palabra else (en caso contrario), pues, en caso contrario, que ponga el valor de la columna total.


Podemos ver que no hay errores de sintaxis.




















Aceptamos, y, podemos ver una columna mas, con el total, y, el total menos el descuento, donde se aplique.







Pero, tampoco ha detectado el tipo de datos, pues, ya sabemos cómo cambiarlo.


Ya hemos visto lo que son las columnas personalizadas.



Veamos ahora como crear una columna condicional.


Seleccionamos el siguiente archivo, y, hacemos clic en importar.





Seleccionamos nuestra tabla, y, hacemos clic en transformar datos.













Tenemos una serie de clientes, con un grupo de cliente, y, tenemos cuatro precios.







Con Power Query, podemos crear nuevas columnas, cuyos valores se basarán en una o varias condiciones aplicadas a otras columnas de la tabla.


El objetivo de este ejemplo es crear una columna, que podemos llamarla precio final, basado en el valor que se encuentra en la columna grupo cliente.


Si el valor de grupo cliente es 1, debe de aplicar el precio1, si es dos, debe de aplicar el precio2, y, así hasta el precio4.


Columna condicional se encuentra en la pestaña Agregar columna ,en el grupo General, pues, hacemos clic en ella.







Se abre la ventana, agregar una columna condicional.











Podemos definir, hasta tres secciones numeradas.


Dentro de esta ventana, lo primero que nos encontramos es la ventana nuevo nombre de columna, donde podemos definir el nombre de la nueva columna, para este ejemplo, usare el nombre de precio final.







En la siguiente ventana, vamos a definir la primera condición.





Podemos agregar más condiciones si seleccionamos Agregar cláusula.












Cada cláusula condicional se probará en el orden mostrado en el cuadro, de arriba a abajo.

Cada cláusula tiene cuatro partes, vamos a ver cada una de ellas.


Desplegamos la ventana Nombre de columna, seleccionamos la columna que vamos a usar para la prueba condicional, en este ejemplo, seleccionamos grupo cliente.








En la ventana Operador, seleccionamos el tipo de operador de comparación para la prueba condicional, en este ejemplo, el valor de la columna grupo cliente debe ser igual a 1, por lo que seleccionamos es igual a, que es el valor predeterminado.








En la ventana Valor, podemos escribir un valor, o, seleccionar la columna que se va a usar para la prueba condicional, en este ejemplo, escribimos 1.





En la ventana Salida, si la prueba es positiva, es decir, el valor de la columna grupo cliente es igual a 1, entonces, la ventana salida, debe ser el valor de la columna de precio1 , para ello, desplegamos la ventana ABC/123 de la ventana salida, y, seleccionamos, seleccionar una columna.







Desplegamos la ventana de la derecha, y, seleccionamos precio1.








Así, es como deberíamos de verlo.








Hacemos clic en agregar clausula.










Debemos de seguir los pasos anteriores, pero en la ventana valor, debemos de poner 2, y, en la ventana salida, precio2.


Realizamos los pasos anteriores para el valor 3.


Así quedaría:







Después de agregar clausula, tenemos, De lo contrario, quiere decir que si ninguna de las cláusulas anteriores se cumple, el resultado de esta operación será el que se define aquí, puede ser un valor especificado manualmente, o, un valor de una columna.


En este caso, la ventana salida, será él valor de la columna de precio4.










Aceptamos.


Vemos que al final se ha creado esta columna condicional, si la revisamos, vemos que los precios coinciden según el grupo cliente, donde, podemos ver que no ha detectado el tipo de datos.










Para ello, teniendo la columna seleccionada, vamos a la pestaña de transformar, y, dentro del grupo, cualquier columna, hacemos clic en detectar tipo de datos.







Dividir columnas por delimitador


En Power Query, podemos dividir una columna a través de métodos diferentes.

En este caso, las columnas que seleccionemos se pueden dividir por un delimitador.


Podemos encontrar la opción dividir columnas por delimitador en tres lugares:


· En la pestaña inicio, dentro del grupo transformar, tenemos dividir columna.

· En la pestaña transformar, dentro del grupo columna de texto.

· Haciendo clic con el botón alternativo del ratón sobre una columna.


Seleccionamos el siguiente archivo, y, hacemos clic en importar.





Tenemos tres hojas, marcamos la casilla seleccionar varios elementos, y, seleccionamos las tres hojas, a continuación, hacemos clic en transformar datos.









Podemos ver en el panel de consultas, nuestras consultas.








Observamos, que la consulta, Hoja1, no tiene promovido el encabezado.










Pues vamos a promoverlo, para ello, vamos a la pestaña de transformar, dentro del grupo tabla, hacemos clic en usar la primera fila como encabezado.










Ya lo tenemos.









Si nos fijamos en la consulta, Hoja1, vemos que tenemos una columna formada por dos valores, un código y una fruta separado por un espacio en blanco.


Deseamos dividir esta columna en dos columnas, los valores se delimitan mediante un espacio.


Para realizar esta división, seleccionamos la columna, vamos a la pestaña transformar, dentro del grupo columna de texto, desplegamos dividir columna, y, seleccionamos la opción para dividir la columna por un delimitador.











Se abre la ventana, dividir columna por delimitador, vemos que, de forma predeterminada, aparece marcado en la ventana seleccione o escriba el delimitador, el espacio, debido a que lo ha detectado, pues lo dejamos.






Debajo de la ventana, seleccione o escriba el delimitador, vemos tres opciones, donde, por defecto aparece marcada, cada aparición del delimitador, quiere decir, que cada vez que detecte un espacio, lo separara en otra columna, en este momento, es lo que queremos, por lo que la dejamos marcada.











Aceptamos, y, podemos ver las dos columnas, una con el código, y, otra con el producto.








Power Query dividirá la columna en tantas columnas como sea necesario. El nombre de las nuevas columnas contendrá el mismo nombre que la columna original.


Un sufijo, que incluye un punto, y, un número que representa las secciones divididas de la columna original, se anexarán al nombre de las nuevas columnas.



Dividir columnas por delimitador en filas

Veamos otro ejemplo, ahora tenemos varias cadenas separadas por una coma, y, las queremos separar.








Vemos que no esta promovido los encabezados, pues seguimos los pasos, de como lo hemos hecho anteriormente.







Seleccionamos la columna a separar, que es la columna descripción, y, a continuación, hacemos clic con botón alternativo del ratón, desplegamos dividir columna, y, seleccionamos la opción para dividir la columna por delimitador.









Se vuelve a abrir la ventana, dividir columna por delimitador, donde vemos en la ventana, seleccione o escriba el delimitador, que ha detectado la coma, por lo que en esta ventana, no tenemos que hacer nada, vemos que también aparece, de forma predeterminada, marcada cada aparición del delimitador, que es lo que queremos, por lo que tampoco, debemos de hacer nada.











Aceptamos, y, tenemos creada las columnas nuevas con cada cadena.





Podemos ver, lo dicho anteriormente, como a cada encabezado de cada columna, le da el nombre de la columna original, descripción, seguido de un punto, y, un numero secuencial.



Dividir columnas por número de caracteres

Vamos a ver como podemos, dividir columnas por número de caracteres.


En la siguiente consulta, tenemos una sola columna, donde está unida la fecha, y, el código.








Deseamos dividir esta columna en dos columnas, una que contenga el código, y, otra que contenga la fecha.


Para realizar esta división, seleccionamos la columna, vamos a la pestaña de inicio, dentro del grupo, transformar, desplegamos dividir columna, y, seleccionamos por número de caracteres.










Se abre la ventana, dividir la columna por el número de caracteres.








Pues, en la ventana, número de caracteres, ponemos 8, más abajo, en la ventana, dividir, marcamos una vez, lo más alejado posible, para que separe desde la izquierda, y, aceptamos.













Tenemos dos columnas, una con la fecha, y, otra con el código.







También, podemos dividir por posiciones, siguiendo con el ejemplo anterior, queremos dividir en las dos mismas columnas, en la primera columna debe de aparecer el código, y, en la segunda columna debe de aparecer la fecha.


Las posiciones son de base cero, y, separado por coma, la siguiente posición que es la 8, que es donde empieza la fecha.


Para realizar esta división, seleccionamos la columna y, a continuación, desplegamos, dividir columna, y, seleccionamos la opción para dividir la columna por posición, desde la pestaña de inicio.


Se abre la ventana, dividir columna por posición, donde, en la ventana posiciones, ponemos 0,8, y, aceptamos.








Tenemos las dos columnas creadas.








Dividir columnas por minúsculas en mayúsculas en columnas

Seleccionamos el siguiente archivo, y, hacemos clic en importar.





Se abre la ventana, navegador, seleccionamos Hoja1, y, hacemos clic en transformar datos.










Tenemos los siguientes datos.









Queremos crear dos columnas, en una primera columna, que aparezca desde la primera mayúscula, hasta la última letra antes del comienzo de la siguiente mayúscula.


Para ello, seleccionamos la columna dentro de Power Query, hacemos clic con el botón alternativo del ratón, desplegamos dividir columna, y, elegimos de minúsculas a mayúsculas.










Podemos ver que nos ha creado dos columnas, la primera de ellas, termina en la última letra minúscula antes de empezar la siguiente letra en mayúsculas.


Así con el resto de los registros.








Dividir columnas en mayúsculas a minúsculas

Seleccionamos el siguiente archivo, y, hacemos clic en importar.





Se abre la ventana, navegador, seleccionamos, Hoja1, y, hacemos clic en transformar datos.










Ahora, tenemos los siguientes datos:








Bien, pues queremos crear dos columnas, en la primera de ellas, que aparezcan las mayúsculas, y, en la segunda de ellas, que aparezcan las minúsculas.


Seleccionamos la columna, botón alternativo de ratón, desplegamos dividir columna, y, elegimos de mayúsculas a minúsculas.









Podemos ver como se han creado dos columnas, como hemos descrito anteriormente.








Dividir columnas por dígito en sin dígitos

Seleccionamos el siguiente archivo, y, hacemos clic en importar.





Se abre la ventana, navegador, seleccionamos, Hoja1, y, hacemos clic en transformar datos.










Bien, ahora tenemos los siguientes datos.








Vemos un código y un nombre pero juntos, lo que queremos es separarlos.


Para ello, seleccionamos la columna, botón alternativo del ratón, desplegamos dividir columna, y, elegimos de digito a no digito.









Pues, ya tenemos las dos columnas, una con los códigos, y, otra con los nombres.








El paso inverso, seria de no digito a digito, es decir, la cadena empieza por letra y acaba en número.


Seleccionamos el siguiente archivo, y, hacemos clic en importar.





Se abre la ventana, navegador, pues seleccionamos la consulta, y, hacemos clic en transformar datos.


Por ejemplo, tenemos los siguientes datos:









Teniendo la columna seleccionada, botón alternativo de ratón, desplegamos dividir columna, y, elegimos de no digito a digito.










Podremos ver que se han creado dos columnas, la primera de ellas contienen solo letras, y, la segunda ellas, contiene solo números.








74 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comentarios


bottom of page