irnm8dn
Tengo un archivo .pbix que se ha estado ejecutando muy bien durante dos semanas, actualizándose según lo previsto. La fuente de estos paneles son dos archivos .csv.
De repente, recibo el siguiente mensaje:
He leído muchos mensajes en el foro, sin suerte en la resolución del problema. ¿Hay alguna forma de identificar dónde está el problema y cómo resolverlo?
Gracias.
SteveCampbell
En respuesta a irnm8dn
¿Cambiaste las columnas en el editor? Asegúrese de retroceder y reemplazar los pasos; de lo contrario, intentará convertir a un número y luego retrocederá, por lo que seguirá produciendo un error.
En los pasos aplicados en el Editor de consultas, asegúrese de volver a todos los pasos de tipo modificado y haga clic en ellos. Entonces, puede hacer su transformación en este paso. Asegúrese de hacer clic en reemplazar actual.
Power BI suele mirar un subconjunto de filas para determinar el formato. Es probable que tenga una columna con muchos números y una pequeña cantidad de texto en algún lugar.
SteveCampbell
En el csv, se ingresó algo que no es un número. Verifique sus archivos csv.
De lo contrario, es posible que sea una columna de ID que sea solo números, por lo que power bi asignó esta columna como un número, pero ahora tiene un valor de texto (por ejemplo, 51215, 02150, C6767).
Si es así, vaya al editor de consultas y verifique los formatos de columna (dirá 123) junto a la columna. En los pasos aplicados, busque «Tipo cambiado», haga clic en este, luego cambiaré el formato de la columna a texto y haga clic en reemplazar el paso actual cuando se le solicite.
irnm8dn
En respuesta a SteveCampbell
@SteveCampbell
Steve, gracias por el consejo. Según el tamaño del archivo .csv, los recirds no se identifican fácilmente. En mi archivo pbix cambié todas las columnas a texto y aún no se pudo cargar.
En otro ejemplo, cargué el archivo en un NUEVO .pbix – me quejé de los pasos aplicados – y todavía tenía los mismos problemas.
¿Alguna idea?
SteveCampbell
En respuesta a irnm8dn
¿Cambiaste las columnas en el editor? Asegúrese de retroceder y reemplazar los pasos; de lo contrario, intentará convertir a un número y luego retrocederá, por lo que seguirá produciendo un error.
En los pasos aplicados en el Editor de consultas, asegúrese de volver a todos los pasos de tipo modificado y haga clic en ellos. Entonces, puede hacer su transformación en este paso. Asegúrese de hacer clic en reemplazar actual.
Power BI suele mirar un subconjunto de filas para determinar el formato. Es probable que tenga una columna con muchos números y una pequeña cantidad de texto en algún lugar.
irnm8dn
En respuesta a SteveCampbell
Entonces, al revisar los archivos .csv, no pude detectar nada incorrecto. Dicho esto, noté que hay algunos registros rotos en mis archivos de origen que se estaban limpiando primero en Excel y luego en PowerBI.
Tiene razón en que un campo identificado como un número tenía algunos caracteres alfabéticos. En el Editor de consultas modifiqué a un tipo de texto. Debido a que los dos archivos .csv que modelamos, continuaron rompiéndose porque no se puede tener un volcado en la relación «uno a muchos». Los caracteres alfabéticos estaban duplicados, por lo que al insertar un paso para eliminar los duplicados, mis archivos se procesaron correctamente.
Dicho todo esto, ¿cómo recomendaría identificar las «filas problemáticas» cuando esencialmente se limpian al verlas en Excel?
SteveCampbell
En respuesta a irnm8dn
La mejor manera sería tener validación de datos en los archivos de Excel.
De lo contrario, si desea eliminar valores de texto, podría agregar una columna personalizada en el editor de consultas con el siguiente código:
= Number.FromText([Column1])
y cambio columna1 a la columna correcta. Luego, en la nueva columna, puede seleccionar Inicio> Eliminar filas> Eliminar errores. Luego, puede eliminar la nueva columna.
Aquí está en código M si se siente cómodo con él (complete rojo con tus valores):
#"Added Custom" = Table.AddColumn(#"MY LAST STEP", "ERRtest", each Number.FromText([Column1])), #"Removed Errors" = Table.RemoveRowsWithErrors(#"Added Custom", {"ERRtest"}), #"Removed Columns" = Table.RemoveColumns(#"Removed Errors",{"ERRtest"}),