How do I connect Power BI to PI System?
How do I connect Power BI to PI System?
Power BI can visualize PI System data through several connection methods.
Option 1: PI OLEDB Enterprise (Recommended)
The most capable option — queries AF data directly via SQL:
- Install PI OLEDB Enterprise on the Power BI Desktop machine (or gateway machine)
- In Power BI, select Get Data > OLEDB
- Use connection string:
Provider=PIOLEDBEnterprise;
Data Source=your-af-server;
Integrated Security=SSPI;
- Write SQL to query AF data:
SELECT
eh.Name AS Asset,
ea.Name AS Attribute,
a.Value, a.Time
FROM
[PISystem].[EnumElement] eh
INNER JOIN [PISystem].[EnumAttribute] ea ON ea.ElementID = eh.ID
CROSS APPLY [PISystem].[TSInterp](ea.ID, 't-1d', 't', '1h') a
WHERE
eh.Template = 'Pump'
Option 2: PI Web API + Web Connector
For cloud-hosted Power BI or when OLEDB isn't available:
- Use Power BI's Web data source
- Point to PI Web API endpoints:
https://piwebapi.yourcompany.com/piwebapi/streams/{webId}/summary
?startTime=*-7d&endTime=*&summaryType=Average&summaryDuration=1d
- Parse the JSON response in Power Query
Option 3: PI OLEDB (Legacy)
For PI Data Archive-only queries (no AF):
Provider=PIOLEDB;
Data Source=your-pi-server;
Query picomp2 or piinterp2 tables directly.
Refresh and Gateway
For scheduled refresh in Power BI Service:
- Install an On-premises Data Gateway
- Install PI OLEDB Enterprise on the gateway machine
- Configure data source credentials in Power BI Service
Tips
- Use summary data (averages, totals) instead of raw data for large time ranges
- Create AF views or linked tables in AF to simplify queries
- Use parameters in Power Query for dynamic time ranges
- Cache frequently-used data in Import mode rather than DirectQuery for performance
Want to ask a follow-up?
PiChat can help with your specific PI System use case. Ask follow-up questions, get code examples, and troubleshoot issues.
Related Questions
Dive Deeper
More Questions
How do I configure PI AF templates?How do I authenticate with PI Web API from Python?What's the difference between snapshot and archive values in PI?What's the difference between PI Vision and PI ProcessBook?How do I build effective PI Vision displays?What are PI Event Frames and how do I use them?How do I write PI AF Analytics expressions?How do I use PI DataLink in Excel?Should I use PI Web API or AF SDK for my application?How do I write data to PI Data Archive?What are the main components of PI System architecture?How do I optimize PI Data Archive performance?How do I set up the PI Interface for OPC DA?How do I use PI Connector for UFL to import file data?How do I set up PI Data Archive high availability with collectives?What are the security best practices for PI System?How do I migrate PI Data Archive to a new server?How do I manage units of measure in PI System?What's the best way to learn PI System?How does PI time syntax work?What are good PI tag naming conventions?How do I access PI System data from Java or Linux?How do I set up PI AF notification rules?How do I use batch requests in PI Web API?How do I connect to PI AF Server using AF SDK in C#?How do I write VBA macros in PI ProcessBook?How does PI data compression work?How do I get real-time streaming updates from PI Web API?How do I troubleshoot PI AF Analysis errors?How do I write SQL queries against PI using PI OLEDB?What is PI interface buffering and how do I configure it?How do I search and query PI Event Frames?What is PI Integrator for Business Analytics?How do I fix the 'Point does not exist' error in PI System?What is the difference between PI ACE and AF Analytics?How do I manually enter data into PI Data Archive?What are AF hierarchy design best practices?What is a WebID in PI Web API and how does it work?How do I configure Kerberos authentication for PI System?Can I deploy PI System in the cloud?How do I calculate summaries (average, total, min, max) in PI?What are PI digital states and how do I use them?How do I connect PI System data to Grafana?How do I backup and restore PI Data Archive?How do I create custom symbols in PI Vision?How do I automate PI System tasks with PowerShell?What is AVEVA Connect and how does it relate to PI System?How do I check and handle data quality in PI System?How do I handle pagination in PI Web API responses?How does AVEVA PI System licensing work?How do I plan a PI System upgrade?