Skip to main content

PlotlyJS Visual by Akvelon

· 3 min read
Ilfat Galiev
Software Engineer

Today the 1.7.3 update for PlotlyJS Visual by Akvelon has been approved by AppSource. Here I want to tell you about some small but important changes.

Internal refactoring the code of the visual

The first version was developed in a tight timeframe of 2 weeks. Since the idea was only to combine Chart Studio and Plotly.js visualization library, the internal code was very hard to read. The useState provided by the React library was used for state management, changes passed by Power BI to the update function were passed to the React component via forwardRef.

In version 1.7.3, the Redux Toolkit was added for state management, making the code much easier to understand and maintain.

Save button moved to left panel

The "Save" button has been moved to the left panel next to the "Get In Touch" button. Initially, after making changes through the visual editor, it was always necessary to go to the text editor to save the changes

PlotlyJS visual save button screenshot on the left panel

Button to save current position of camera

Added "Save Camera" button to copy current camera coordinates to JSON schema.

The "Save camera" button on the visual

This makes it faster and easier to set coordinates for the camera, and the camera does not return to the default position during the next visualization.

License error notification banner added

Added a descriptive notification banner with a link to a paid visualization feature.

You can remove the banner by turning off the paid functionality in the viewer's settings (Settings => Plotly.js properties => Power BI tooltips) or by purchasing a subscription on Microsoft Office 365 page.

License error notification banner

You buy Power BI's tooltip functionality, while the visualization itself is free.

You must purchase a license for each report user, regardless of role (report author or consumer).

There are only 2 subscription options at the moment:

  • Annual plan
  • Monthly plan

The paid feature is available to everyone in the following environments:

  • Embedded - Publish To Web, PaaS embed
  • National/Regional clouds (Depends on general support for transactability in national/regional clouds)
  • RS Server
  • Exporting (PDF\PPT) using REST API

If you still have questions, please contact Akvelon Inc. support.

Add loading segments by 30k rows instead loading all data per update

Visuals supports visualization of one thousand data points by default. But this can be changed by the developer in the settings to load thirty thousand data points.

But if even that isn't enough, Power BI provides a Fetch more data API for visuals that allows you to download more data (but no more than 100MB).

Power BI can provide data:

  • All at once, each time increasing the data portion by thirty thousand (30k, 60k, 90k e.t.c.).
  • By segments, shifting window of 30k data points

The first approach was already supported by this visual, starting with this version the second option is also supported

To use the new features, set the following settings:

Aggregaate segmetns settings

And add buttons to shift the segments into layout settings of JSON schema:

{
"layout": {
"updatemenus": [
{
"buttons": [
{
"args": [
{
"aggregateSegments": false
}
],
"label": "Previous",
"method": "loadPrevSegment",
"name": "loadPrevSegment"
},
{
"args": [
{
"aggregateSegments": false
}
],
"label": "Next",
"method": "loadNextSegment",
"name": "loadNextSegment"
}
],
"type": "buttons"
}
]
}
}

Example of a chart with buttons to shift segments:

Rendering 30k data points segments by segments

I hope these changes find applications in providing reports in Power BI for you and your clients.

Charticulator app deployment

· One min read
Ilfat Galiev
Software Engineer

Since the version of Charticulator from Microsoft is retiring, I decided to deploy to GitHub Pages the latest version with fixes and some new functionality. Unfortunately all this new stuff is not included in the Power BI Visual. In the next 2 months I plan to prepare alternative versions of visuals.

Charticulator app

The first stage is practically accomplished. In which I upgrade the UI library to Fluent UI 9. Since the first version doesn't work with React 18+ fully.

The upcoming work is fixing critical bugs in the current version of the visual, which block the implementation of the full cycle of chart development in the Power BI report.

Charticulator visual

· 2 min read
Ilfat Galiev
Software Engineer

It past a year after the first attemp to give breath Charticulator visual. I didn't get any feedback on the first version at the time, neither bad, good, or error message, but they were there.

Here's a second attempt. I will have the opportunity to publish a version on AppSource, I think it should help to find the old audience.

I forked the Charticulator source to my repository on GitHub, which is used internally by the new visual.

https://github.com/zbritva/charticulator

It already contains fixes and features that were not included in the original.

Editor is avialable for preview on https://ilfat-galiev.im/charticulator/.

And, yes, there is no httpS. Do not use for production

The source code for the new visual has been published on Github:

https://github.com/zBritva/charticulator-visual-community

The main difference from orginal Charticulator

The visual will be split into two parts. The first includes the Charticulator editor UI. The second includes only engine to render charts.

Report authors will have to use one visual to edit the chart and switch to the second visual before saving the report.

This approach allows:

  • significantly decrease the package size.
  • easier to obtain certification for the second, because less code for review.
  • Keeping the first (editorial) version uncertified opens your hands for more technical possibilities, (downloading from the gallery or moving part of the editor code to CDN and so on).

Community

Fell free to open any discussion on GitHub, even it is about closing.

The road map is stabilization and close workflow of the visual. Then submitting the first versions to AppSource.

Welcome

· One min read
Ilfat Galiev
Software Engineer

Welcome to my blog!

Here I will be talking about my journey into the world of software development. Even though I started working in the Tech field a long time ago, I think it's never too late to start telling my story.

I'm 10+ year experience implementing UI with JavaScript/TypeScript, HTML/CSS and frameworks (React.js, Redux, ExtJS,Angular), moreover experienced in C#, .Net and Node.js for backend development.

  • Certified LookerML Developer and Power BI Data Analyst Associate
  • Led the entire project as project manager and solution architect with a 6-person development team.
  • Implemented a converter of query results into .Net objects, which accelerated code writing by 50%.
  • Implemented 5 complex Power BI plugins for data visualization.

And I'm obsessed with developing Power BI visualization.

I hope you find the blog useful.

Short content overview: