¿Te atreves a demostrar lo que sabes resolviendo alguno de estos
temas abiertos/no resueltos?

Formato de datos en...
 
Share:
Avisos
Vaciar todo

[Resuelto] Formato de datos en PowerQuery  

  RSS
Alejandro
(@alejandro)
Nuevo miembro Registered

Buenas tardes,

Les expongo un problema que tengo y que me está dando grandes quebraderos de cabeza. Es un poco complicado, así que intentaré explicarme.

Tengo un modelo de datos para PowerPivot en el que cargo varias tablas de datos desde ficheros csv, usando PowerQuery. El caso es que tengo dos tablas, una de maestro de clientes y otra de ventas que se relacionan por el campo CodigoCliente.

Este campo CodigoCliente, tiene el formato 000000 con 6 dígitos. Mi problema es que, mientras que en el maestro de clientes tengo todos esos clientes con dicho formato, definido el campo como texto, en el de ventas, los clientes que no empiezan por un dígito diferente a 0, me quita los 0 que "no valen", como si fuese número.

He insertado una operación en la query para cambiar a texto el formato de la columna, pero ya no me consigue recuperar el formato original.

Por ejemplo, el cliente 800231, lo tengo bien en ambas tablas. Pero el cliente 000021, aparece como tal en el maestro de clientes, pero como 21 en la tabla de ventas.

Lo que no consigo entender es por qué aun insertando al principio dicho cambio de formato, no consigo que se vea como 000021.

Adjunto dos imágenes de los datos. Una de la query de ventas y otra de la del maestro de clientes

Respondido : 05/07/2020 4:30 pm
RET
 RET
(@ret)
Miembro Admin

Hola Alejandro,

Habría que ver el fichero, y no solo el pantallazo de los datos. Aquí lo interesante es la secuencia en que tienes el cambio de formato en la query.

Al trabajar con POwerQuery es muy importante dar a  cada columna su formato nada mas empezar. Una vez que empiezas a añadir cosas, si después insertas un cambio de formato, lo que hace es añadir el paso en vez de sustituir el primer cambio. De esta forma, lo que te puede estar pasando es que cargas los datos, los transforma en número y aunque después los cambies a texto, ya ha hecho la primera transformación y, por tanto, el formato no es recuperable.

Tienes dos opciones para arreglar esto:

- la primera, es que en la ventana del Editor de PowerQuery, vayas a Inicio --> Editor avanzado y en la primera fila que tengas de tipo cambiado, la modifiques poniendo el campo como "type text"

- la segunda, si la primera no te funciona, es que agreges una columna personalizada. Si quieres que sea con 6 posiciones, tendrías que hacer sobre tu linea anterior (#...) #"Personalizada agregada" = Table.AddColumn(#"Tu_Linea_Anterior", "Nombre_Nueva_Columna", each Text.PadStart(Text.From([Nombre_Campo_a_Modificar]),6,"0")),

La siguiente línea tiene que hacer referencia a #"Personalizada agregada" y no a #"Tu_Linea_Anterior"

Si no te queda claro, puedes subir el fichero.

IMF_RET

https://InformaticaMuyFacil.com

Respondido : 09/07/2020 12:43 pm
Alejandro
(@alejandro)
Nuevo miembro Registered

Gracias por la respuesta RET. Después de dar muchas vuelta lo he conseguido resolver rehaciendo la consulta y poniendo los tipos de datos adecuados en el primer paso de la transformación. De esta forma, efectivamente, me mantiene el formato.

Por si a alguien mas le pasa, al cambiar el tipo hay que sustituir el cambio y no añadir un paso nuevo. Si se hace mas tarde, ya no da esa opción.

Gracias de nuevo por el soporte.

Respondido : 14/07/2020 11:33 am

Dejar una respuesta

Author Name

Author Email

Título *

 
Vista previa 0 revisiones Guardado