Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Sé cómo desmontar un archivo pbix cambiando la extensión a .zip y luego enfréndolo. Si, a continuación, cambio la extensión de nuevo a .pbix, puedo abrirla en Power BI. Sin embargo, me gustaría modificar el archivo de diseño que se expone al desmontar el pbix. Pero cuando hago eso y cambio la extensión de la .zip a .pbix, recibo un mensaje de archivo dañado cuando intento abrir en Power BI. Esto sucede sin importar cuán pequeño e inocuo sea el cambio.
¿Hay alguna manera de hacer esto sin recibir el mensaje de archivo dañado?
hola a todos,
Estoy intentando modificar el contenido del archivo de diseño mediante el script de PowerShell. Cuando estoy intentando establecer contenido con -Codificación "unicode" . Después de eso, pbix no puede abrirse y mostrar el error corrpupted. También en notpad ++ se muestra "UTF-16 LE BOM codificación. Pero el final de Origial Layout era "utf-16 Little Endian.
Set-Content -Path "C:\PowerShell\newre\newRe\Report\Test" -Value $final -Codificación unicode
¿Puede alguien ayudarme a resolverlo?
Creé una idea para abordar esta pregunta, por favor vote:
Cambiar el nombre de las medidas del conjunto de datos no puede romper los informes de cliente (cambiar la referencia de nombre a ID)
https://ideas.powerbi.com/ideas/idea/?ideaid=649ec802-682b-ec11-b76a-281878e608e9
Estuve luchando con este problema recientemente, y mi solución es la siguiente:
- Cambiar la extensión de ".pbix" a ".zip"
- No descomprima el archivo ".zip" durante este proceso
- Extraer el archivo "Diseño" de la carpeta "Informe" en el archivo ".zip"
- Abra el archivo "Layout" con Notepad++. (MUY IMPORTANTE)
- Realizar sus modificaciones en el archivo de diseño
- Sustituir el antiguo archivo "Layout" por el nuevo
- Eliminar archivo "SecurityBindings" en el archivo ".zip"
- En el [Contents_type].xml eliminar el texto siguiente:
"<Override PartName="/SecurityBindings" ContentType="" />"
- Cambiar la extensión de ".zip a ".pbix"
- El archivo se abrirá sin pausas
¡Espero que ayude!
Sí, esto funcionó. Debido a esto se ahorra tanto tiempo. No sé cómo agradecerte.
¡Esto funcionó! ¡Muchas gracias! Me ahorró horas de tener que reconstruir el archivo
Descubrí que cuando estaba guardando, WriteAllTextAsync estaba preendiendo 2 bytes adicionales.. usando FlexHex pude ver que el original no tenía eso.
Para solucionar esto acabo de guardar con WriteAllTextAsync con Encoding.Unicode. Se ha vuelto a abrir como bytes y se ha guardado omitiendo los primeros 2 bytes en cuestión.
var serializedFile = JsonConvert.SerializeObject(_layoutModel);
await System.IO.File.WriteAllTextAsync(Filepath, serializedFile, Encoding.Unicode);
var asBytes = await System.IO.File.ReadAllBytesAsync(Filepath);
await System.IO.File.WriteAllBytesAsync(Filepath, asBytes.Skip(2).ToArray());
Al igual que una FYI, como otros han mencionado también necesitaba editar [Content_Type].xml y quitar la etiqueta Override con el PartName == "/SecurityBindings". Después de que powerbi lo cargó bien (ignorando las comprobaciones de validación que hizo).
Esto es lo que funcionó para mí.
Después de un poco de investigación me di cuenta de que es un marcador para el orden de bytes de unicode (había dicho que era esto, pero no lo sabía con seguridad hasta ahora). De todos modos, he actualizado el código presionado aquí ayer. (No se pudo encontrar un enlace de edición para mi publicación anterior)
public async Task Save()
{
var layoutFile = JsonConvert.SerializeObject(_layoutModel);
await System.IO.File.WriteAllTextAsync(Filepath, layoutFile, Encoding.Unicode);
IEnumerable<byte> layoutAsBytes = await System.IO.File.ReadAllBytesAsync(Filepath);
layoutAsBytes = StripUnicodeByteOrder(layoutAsBytes);
await System.IO.File.WriteAllBytesAsync(Filepath, layoutAsBytes.ToArray());
}
public static IEnumerable<Byte> StripUnicodeByteOrder(IEnumerable<byte> bytes)
{
if (bytes.ElementAt(0) == 0xFF && bytes.ElementAt(1) == 0xFE)
bytes = bytes.Skip(2);
return bytes;
}
No @instinct46,
¿Podría explicar dónde y cómo se debe ejecutar exactamente este código? En mi caso, no quiero cambiar el archivo de configuración, pero quiero cambiar el datamodelschema para agregar medidas mediante programación.
Gracias de antemano.
No creo que el código sea necesario si realiza ediciones con notepad ++ y no con Notepad. Seguí recibiendo un archivo corrupto a pesar de pensar que había seguido las instrucciones exactamente, luego me encontré con esto y me di cuenta de que el Bloc de notas era el culpable (y más tarde noté que las instrucciones anteriores dicen explícitamente en mayúsculas que es MUY IMPORTANTE usar notepad ++ para hacer ediciones, sin embargo, de alguna manera las 😀 había pasado por alto).
¡Espero que esto sea lo que está causando su problema también!
Cuando elimino "<Override PartName="/SecurityBindings" ContentType="" />" en el archivo raíz [Content_Types].xml, puedo editar el archivo PBIX y abrirlo sin problemas.
eh
Probé su solución, está funcionando muy bien !
muchas gracias !
hola
Cuando intento simplemente quitar el "<Override PartName="/SecurityBindings" ContentType="" />" en el archivo raíz [Content_Types].xml e intento volver a construir el pbix mediante la captura del archivo, todavía no puedo abrir el archivo. Por favor, aconseje.
Intente eliminar el archivo de enlaces de seguridad en lugar de quitar este código.
Además, cuando usted dice que zipping el archivo... Vea mi comentario de arriba. El archivo extraído no debe volver a comprimirse. En su lugar, el archivo layout extraído debe actualizarse y, a continuación, copiarse en la carpeta .zip original (eliminar archivo de enlaces de seguridad desde aquí). A continuación, se debe cambiar el nombre de nuevo a .pbix
Su doen't funciona para mí
Lo siento, no funciona para mí.
eh
Su trabajo!! Gracias.
El mismo problema aquí, pero incluso sin recomprimir el archivo, causa corrupción :(,
espero que sea posible tratar con el Diseño directamente un día.
Puedo cambiar el archivo de diseño haciendo lo siguiente:
Cambiar .pbix a .zip
Extraer archivo
Modificar y guardar el archivo layout extraído
Copiar el archivo layout modificado en la carpeta zipped original *
Cambiar el nombre .zip a .pbix
*Esto es necesario. Volver a envolver el archivo extraído causará corrupción
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |