Forum Discussion
How to customize and package existing power bi visual
I am in a situation wherein I need to make really minor change to existing visual and use it in my reports. E.g., I need to change the font size of label in tree map visual. This change is very trivial and specific to my requirement and doesn't need to be published back to main power bi source code. Here is what I have done so far,
1. Found the power bi source code from github (https://github.com/Microsoft/PowerBI-visuals-core)
2. I am able to set this environment up, make the change and the change is working as expected (changed the font size in .less file).
Issues:
1. As the link says, the code base is DEPRECATED. But this is the nearest code base I could find to customize the tree map.
2. I don't know how to package my change, so that I can import it into power bi desktop application.
Question:
1. Is this the right approach to customize existing power bi visual.
2. How to customize existing power bi visual and package it (I want to share the package with my team).
Thanks in advance for the help.
10 Replies
- Cubist
Advocate II
Has anyone heard when and if the included visuals will release updated code that builds easily with the newest API?
Why were they even deprecated in this first place?
- MawashiKid
Resolver II
Re: Has anyone heard when and if the included visuals will release updated code that builds easily with the newest API?
Not at this stage. If what you're looking for is a new "standalone" Power BI Visuals CLI version of the tremap.ts code,
I don't believe CORE code version has been ported to new CLI version yet. I'm regularly checking for
new updates on Github. Some code samples have been ported to new CLI version but not all.Re: Why were they even deprecated in this first place?
First, I'd say that Deprecated doesn't necessarilly mean you won't be able to run it on Power BI Desktop or Online. I'm currently
using a CORE version of the waffechart.ts visual and can't really complain as it does the job fine. I wish there was a standalone CLI version I could play with, but I guess we have to give the runner a chance...Why the decided to list CORE as Deprecated ? I'd say that even if the CORE application offered a fair amount of informations and examples, the CORE architecture was a bit too heavy to deal with and took a bit of time and patience to configure.... After receiving some feed back from Power BI Community developers, I guess Microsoft Power BI extensibility team came to conclusion it was time to go back to the drawing board and redesign a lighter approach. I believe they'll stick on the CLI approach from now on. [ I hope ;) ... ]
- v-chuncz-msft
Community Support
You may check this link. If that doesn't work, you will need to follow the new tutorial to create the custom visual.
- somnathmrNew Member
Thanks for the quick turn around. Couple of things
1. The link points to a deprecated method of packaging power bi visuals. And it partly has same issues as (2) below.
2. The new tutorial is about creating a custom visual from scratch and packaging it. I have tried it, I am able to create the visual from scratch and package it. It works great. (My bad, I should had mentioned it).
But what I am really looking for is to make real minor change to existing visuals that power bi already has and package it.
As I have already mentioned, I have managed to apply a change to an existing power bi visual (change font size of tree map label) and that works as expected with the test page available in the source code. But my concern is the source code I got from github is marked deprecated. So can you please point me to the right version of source code and also how do I package it after making my change to existing power bi visual like tree map.
- MawashiKid
Resolver II
RE: 1. The link points to a deprecated method of packaging power bi visuals. And it partly has same issues as (2) below.
Indeed DevTool option is depecrated. It may not fully support 'let', 'const' and many other features the treemap.ts uses extensively. Therefore pasting a "raw " copy of your treemap.ts in top left pane and your modified .less right under in bottom pane may not work at all in this case.
RE: 2. The new tutorial is about creating a custom visual from scratch and packaging it.Second option creating a new CLI app [all from scratch] may be another long term option, One thing to keep in mind however is the fact that the treemap.ts file was NOT built as a stand-alone chart component but rather as a part of a whole Power BI Visuals CORE application.
It would be great if we could just copy the treemap.ts raw code in a new visual.ts file, rename it to treemap.ts, bring a few minor refactoring in the code and then easily recompile a new pbiviz version right out of the box throught the CLI pbiviz package command line and blah blah blah...
The problem is since the treemap.ts file uses a /// <reference path="../_references.ts"/> reference directive,... so without that you may end up with few options and features missing in the end. It would be great if we could use somekind of bundle package that would cope with this though I haven't found . Most updates come in separate pieces and it's up to you to rebuild the puzzle...
The Power BI Visuals CORE application [found on Github] does not provide the ability to generate .pbiviz right out of the box.
Now since a .pbiviz is mainly a zip archive, my best bet would be to create a gulp task that could build or generate a compatible .pbiviz file
I've tried a similar approach as mentioned in the following link with Visual Studio Code and was able to come up with sommething:
http://amolpandey.com/2016/08/02/powerbi-how-to-create-pbiviz-file-custom-visualization/I admit it may not be THE perfect solution but hey... remember this is CORE deprecated stuff so in this case it's better than nothing. Hope this helps.