awaregroup / powerbi-vcs Goto Github PK
View Code? Open in Web Editor NEWWIP (properly) version control and collaborate on your *.pbi{tx} files
License: MIT License
WIP (properly) version control and collaborate on your *.pbi{tx} files
License: MIT License
cannot run the script with python 2.7.13
Also tested with python 3.6.2.
Traceback (most recent call last):
File "pbivcs.py", line 123, in
if args['extract']:
TypeError: 'Namespace' object has no attribute 'getitem'
Hey Amazing work, Having fun. Any idea where bookmarks are in the vcs output??
I can't seem to find them, likely I'm doing something wrong...but I'm not finding them. Seems this might be by design, as a TODO was to check the complement of files. Just guessing.
Hi!
From what I've seen, the most relevant changes of the .pbit file are contained in the *.m file content and certain parts of the DataModelSchema file.
The .m files seem quite simple, however all of the "modifiedTime" timestamps and similar changes in DataModelSchema file really overcrowd the output.
Have you had any luck with simplifying the git log -p
output of the relevant changes to the file?
It seems hard justifying the use of the extraction if locating the changes is that difficult.
P.S. This might be a noob question coming from a git beginner, but I started concidering version control just for the team-work on Power BI files :)
Hi,
I've created a dotnet port of this project. https://github.com/Togusa09/powerbi-vcs-dotnet
I was wanting to improve the git diffs for powerbi files by providing it the extracted file contents to diff on. Your scripts were the best resource I could find regarding the makeup of the pbit/pbix files, so I've ported your scripts to c# as a base for me to work off.
The compression back to pbit/pbix is still incomplete in the port, but I intent to finish it when I get a chance.
Regards,
Ben
Hi this is kinda off topic, but I'm at my wits end and looking for advice.
I'd like to update a JSON object in the vcs representation (replace a page with another page).
My Question is. Is anyone doing this? And how?
Details:
I've been trying to mutate (change) the array of objects in the sections object of Report\Layout
I've been using python jsonpath_rw w/ it's extentions to update the json document. (HERE)
But although I can reference objects with JsonPath successfully - down to the individual ReportPage.
which is a JSON array element of Report\Layout (sections).
I'm not having luck mutating the matched object found with the jsonpath. Seems I can mutate / update the root, with a search of '$' but anything else doesn't change the document and I'm kinda a newbie with all this.
I can get the contents of Report\Layouts sections[] both as a list of ReportPageObjects (my term) and just the sections object that are the parents to the list of ReportPageObjects.
But I'm not able to mutate (basically replace a existing ReportPageObject)
And it's likely bc all this is new to me.... any advice is welcome.
Thank you!
See #7 - often small changes get obscured by e.g. modifiedTime
changing. Can we handle this nicely so that e.g. it's not shown in the diff? I think there might be ways using filters to strip out patterns and hence ignore them from the diff.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.