Сжатый каталог PowerBI .pbix DataMashup
Я пытаюсь проверить PowerBI .pbix
файл с использованием python zipfile
библиотека.
При разархивировании .pbix
архив, я получаю такую структуру:
DataMashup
DataModel
DiagramLayout
Metadata
Report
ReporLayout
ReporStaticResources
ReporStaticResourceSharedResources
ReporStaticResourceSharedResourceBaseThemes
ReporStaticResourceSharedResourceBaseThemeCY18SU07.json
SecurityBindings
Settings
Version
[Content_Types].xml
Похоже, что DataMashup
файл в .pbix
archive - это своего рода небрендовый архив каталога.
В DataMashup
объект не кажется сжатым, так как я могу легко прочитать xml
data при печати объекта в интерпретаторе python.
С помощью 7zip
Я могу получить доступ ко всему внутри:
DataMashup/
Config/
Package.xml
Formulas/
Section1.m # m and/or dax looking stuff
[Content_Types].xml
Как узнать формат DataMashup
архив в архиве?
Одна из подсказок заключается в двоичных данных в верхней части DataMashup
объект: \x00\x00\x00\x00\x07\x05\x00\x00PK
что может указывать на pkzip.
Другой подсказкой может быть этот вывод при попытке использовать unzip
на DataMashup
файл:
$ unzip DataMashup
Archive: DataMashup
warning [DataMashup]: 6215 extra bytes at beginning or within zipfile
Мне удалось распаковать DataMashup
каталог в Linux с помощью 7za
:
WARNINGS:
There are data after the end of archive
--
Path = DataMashup
Type = zip
WARNINGS:
There are data after the end of archive
Offset = 8
Physical Size = 1303
Tail Size = 5148
Everything is Ok
Archives with Warnings: 1
Warnings: 1
Files: 3
Size: 2040
Compressed: 6459
Несмотря на предупреждения, файлы выглядят нормально. К сожалению, в windows это не помогает.
1 ответ
pbix файлы заархивированы, поэтому их нужно распаковать. DataMashup следует спецификации MS-QDEFF.
Файл DataMashup в архиве также является архивом, он содержит Section1.m, в котором есть определения источника запроса.
- изменить файл section1.m
- переупаковка DataMashup
- переархивируйте и измените расширение обратно на xlsx
вот действительно хороший урок по C #
https://www.titanwolf.org/Network/q/8acb9f29-4b28-400b-b8df-cbe523edcb01/y
другой здесь, используя силовую оболочку
https://querypower.medium.com/extracting-power-queries-41fd73d3d6a2