Power BI question

I created all these fancy displays of information in Ignition from our production, which I think is the proper software for the usage.

Now, a less technical team wants to show a bunch of information and Power BI is already connected to their equipment.

My gut says to push them on to work with Power BI, which I never used.
How does one know when something should be developed in Power BI or in Ignition?
Or at least what are good indicators?

PowerBI is not real-time and does not have PLC drivers.

It gets its data from relational DBs'. So can Ignition of course.

PBI is a monthly subscription, Ignition is a one-time purchase (excluding support).

1 Like

Power BI is not realtime?

It's as real-time as the data in your DB...

It is not SCADA.

1 Like

It is funny because my "real-time" pages are from my DB with 10 to 30 second update intervals.
So I wasn't sure what you meant, but I think I understand now.

When reporting/dashboarding your data, consider replicating your main database and point your reports/dashboards to that.

A common naming pattern:
ProductionData -> ProductionData_BI

This way you avoid things like deadlocks from long running reporting queries. Those can prevent you from adding new production data. It also supports the idea of separation of responsibilities.

3 Likes

You mean if data is moved from one db to another?

Using the same database for production logic/data storage and reporting can cause issues. This link does a good job of explaining the concern and some strategies:

2 Likes

Thanks, I appreciate help.
I am not moving a DB or using an ETL.

I am trying to find out, how does one know when something should be developed in Power BI or in Ignition?
Or at least what are good indicators?

I never use Power BI, so I don't know what applications are more suited to it.

Near Real Time would probably be sub-second or maybe every few seconds. If they need the display to update that quickly then an analytics or reporting tool such as PowerBI probably isn't the right choice. If they do want PowerBI to update that quickly then the database and PowerBI is going to need some very careful design.
If PowerBI is polling the operations database that is controlling equipment then you would want to be very careful that it did not interfere with operations (e.g., slow the database down, deadlock a table, etc.).
So if you want a Near Real Time display and you need to maintain control of the production system then you probably want to do that in a SCADA system.

Who in the organization would naturally own the report? If the other team would naturally own the report, they are self sufficient with PowerBI, the users in the organization are used to getting reports and analytics from PowerBI, and a 30 or 60 second response time is acceptable then PowerBI is probably the right answer. You will need to ensure that their queries do not interfere with operations. Generally that is done with a separate database.

4 Likes

I would say, with the Perspective module, this becomes even more challenging of a discussion as Perspective provides the user access to what I would normally call an operations focused environment, whereas, Power BI is focused on the other business users (i.e. Accountants, Marketing, etc...). I'm not a huge fan of Power BI, but it's advantage comes in, as others have mentioned, in getting these key production parameters to a DB or data lake to keep from disrupting the production side of things. From a security perspective, this also makes sense. Now, I think Power BI has some advantages in it's ability to chart, filter, and export data from what I can tell. If you were rolling Ignition at multiple sites for a larger enterprise, these data can be aggregated into a single database, and where I think it shines better is it's native ability to filter data and redisplay it. It feels like it has some advanced PivotTable like features if you have ever used that in Excel. If you are displaying basic graphs or tables of data, then likely not something more advantageous. However, Power BI does allow business users to take the raw data and build their own dashboards without involving people with high caliber skill sets like those of us in this forum. Now, I've seen some impressive customizable dashboarding tools with Perspective, but I don't know that they are ready for 1,000 or more users served by a cloud service. Just my 2 cents.

2 Likes

We're going through this dilemma at work ourselves at the moment, currently we use Ignition for anything real-time and up to 7 days ago, and Power BI for more historical data. We found that if we tried to use ignition to display any data older than 7 days it would be too slow to be functional, although I'm not sure why and this could probably be fixed.

Power BI is better supported and more powerful in terms of historical data analysis, and also much more user and developer friendly. I have no doubt that you could configure Ignition dashboards to be every bit as good and probably better than Power BI dashboards, and I personally find Power BI quite challenging to use once my dashboard gets more complex than a few simple charts. However, the learning curve isn't as steep with PowerBI, which is important as the dashboard will probably outlive my tenure and I don't want to leave my employer with a great dashboard that nobody knows how to edit.

I'm very very open to hear what other peoples thoughts are on this topic, we're even considering using something like Plotly Dash for our more complex dashboards.

1 Like

I develop in both Power BI and Perspective these are the things I try to consider when deciding which to use: real-time data requirement, dataset size, data type, end users - which can dictate if the reports need advanced filters and such.

For (near) real-time data requirements I almost exclusively use Perspective. As mentioned above, Power BI has to query ALL of its data sources at some update interval (mine set a few times a day). On-demand queries can be configured in Power BI but our database team heavily limits the number of reports doing that.

For large dataset Power BI can shine due to the same limitation above - it queries in the background and brings up that cached data quickly.

If you are dealing with transactional data , and joining in multiple transactional data sources together Power BI really shines. If the data is strictly timeseries (in the right format) Perspective could be easier to setup some quick dashboards.

End user expectations is also a consideration - if they want to dive into the data and understand how one parameter can affect another then Power BI shines. If all they want is process trends or even some simple KPI charting then I would proceed with Perspective. Power BI can automate emailing reports too which I use for one of my teams.

As a side note, I migrated all my Ignition reports to Power BI because it has a better dev environment and has much more capability.

If you are not familiar with Power BI it will take you a week or two (receiving feedback and learning) to make something nice with lots of interactivity tying in a dozen tables or so. There are many good YouTube videos on getting started.

3 Likes

I see comments comparing Power BI to Perspective, but does anyone have any experience with the other modules in this respect (i.e. Vision, Tag Historian, Reporting)? The Reporting Module in particular seems to be more of a Power BI replacement option...