Power BI Embedded for WordPress

Power BI Embedded for WordPress

Wordpress plugin

Install on Wordpress

App Details

This WordPress plugin supports Microsoft Power BI Embedded, including dashboards, reports, report visuals, Q&A, and tiles. Power BI is a sophisticated data analytics software and service package from Microsoft. More information on Power BI is available at www.powerbi.com.

Contribute to this plugin on GitHub at https://github.com/atlaspolicy/power-bi-embedded!

This plugin uses the Power BI REST API to access various types of content and easily embed them on a WordPress site using a shortcode. The plugin follows the “app owns data” process as documented by Microsoft at https://docs.microsoft.com/en-us/power-bi/developer/embedding-content. See https://docs.microsoft.com/en-us/power-bi/developer/embedding for more information from Microsoft on how to Power BI embed content.

The plugin relies on Microsoft’s JavaScript library for embedding Power BI available on Github here: https://github.com/Microsoft/PowerBI-JavaScript.

In order to use this plugin, users must first register an app with Azure AD to embed Power BI content. See https://docs.microsoft.com/en-us/power-bi/developer/register-app for more information on how to register an app. Make sure to write down your Client ID and Client Secret when you register the app.

Plugin Settings Page

The “app owns data” process requires that a single, master Power BI Pro account controls access. The credentials for this account are configured one time on the plugin settings page. The plugin will authenticate against Azure AD with those stored credentials.

  • User name: Email address for the Power BI Pro master account.
  • Password: Password for the Power BI Pro master account.
  • Client ID: The Client ID for the app you registered with Azure AD.
  • Client Secret: The Client Secret for the app you registered with Azure AD.

After you save your changes, you’ll see the authentication status on the settings page if it worked. Once you’ve configured the plugin, you can now add Power BI content to your WordPress site and embed it wherever you want.

The plugin also includes support to control the Power BI Embedded resource on Azure. This can be really helpful if you’re trying to control costs by disabling the resource when it’s not in use. The scheduling can be controlled on a daily basis by setting the hour to enable and the hour to disable the resource. If you don’t need to disable the resource, then you can ignore this section.

  • Tenant ID or Directory ID under Azure Active Directory for Office 365: The Directory ID is under the Properties section of the Azure Active Directory on the Azure portal.
  • Subscription ID for Power BI Resource: Read directly from Azure portal.
  • Resource Group Name: Read directly from the Azure portal.
  • Resource Name: Read directly from the Azure portal.
  • Sunday/Saturday: Set the time to start and pause the resource on a daily basis.

    For scheduling, it is recommended to use cron on your web server instead of WP Cron. Many websites exist to walk you through the process of using your web server instead of WP Cron. For example, see https://www.nextscripts.com/tutorials/wp-cron-scheduling-tasks-in-wordpress.

Power BI Content

The plugin uses a custom content type for each Power BI component to embed (dashboard, report, etc.). Go to “All Power BI Items” to add a new component.

  • Embed Type: Report, Report Visual, Q&A, Dashboard, Tile.

The Embed Type determines the remaining fields to fill out.

Report

  • Report Mode: View, Edit, Create
  • Report ID: Enter the unique identifier for the report. You can find the identifier by viewing a report in the Power BI Service. The identifier is in the URL.
  • Group ID: Enter the unique identifier for the group. You can find the identifier by viewing a dashboard or report in the Power BI Service. The identifier is in the URL.
  • Dataset ID: Enter the unique identifier for the dataset. You can find the identifier by viewing a dashboard in the Power BI Service. The identifier is in the URL. This is only needed for Create Mode.

Report Visual

  • Report ID: Enter the unique identifier for the report. You can find the identifier by viewing a report in the Power BI Service. The identifier is in the URL.
  • Group ID: Enter the unique identifier for the group. You can find the identifier by viewing a dashboard or report in the Power BI Service. The identifier is in the URL.
  • Page Name: Enter the unique identifier for the Page. You can find the identifier by viewing the page within a report in the Power BI Service. The identifier is in the URL.
  • Visual Name: The Visual Name can be retrieved using the GetVisuals method on the Page object.

Q&A

  • Q&A Mode: Show Q&A, Show Q&A with predefined question, Show answer only with predefined question
  • Q&A Input Question: Only necessary for “Show Q&A with predefined question” and “Show answer only with predefined question”
  • Group ID: Enter the unique identifier for the group. You can find the identifier by viewing a dashboard or report in the Power BI Service. The identifier is in the URL.
  • Dataset ID: Enter the unique identifier for the dataset. You can find the identifier by viewing a dashboard in the Power BI Service. The identifier is in the URL. This is only needed for Create Mode.

Dashboard

  • Dashboard ID: Enter the unique identifier for the dashboard. You can find the identifier by viewing a dashboard in the Power BI Service. The identifier is in the URL.
  • Group ID: Enter the unique identifier for the group. You can find the identifier by viewing a dashboard or report in the Power BI Service. The identifier is in the URL.

Tile

  • Dashboard ID: Enter the unique identifier for the dashboard. You can find the identifier by viewing a dashboard in the Power BI Service. The identifier is in the URL.
  • Group ID: Enter the unique identifier for the group. You can find the identifier by viewing a dashboard or report in the Power BI Service. The identifier is in the URL.
  • Tile ID: Enter the unique identifier for the dashboard tile. You can find the identifier by entering the focus mode for a tile when viewing a dashboard in the Power BI Service. The identifier is in the URL.

Other Settings for Power BI Content

You can also configure how the content is embedded including whether to show the filter pane or page navigation along with the language (defines the language Power BI uses for localization and locale format (defines the text formatting that powerBI uses for dates, currency, etc.). Finally, you can set the default width and height for the container in pixels or as a percentage.

Important Cache Notes and Fixes

When installing or upgrading this plugin you may run into display errors when using a CDN, cache plugin or security plugin. The following can be done to fix most caching/security plugin issues.

  • Manually purge/clear your plugin and browser cache
  • Whitelist the /wp-json path in your security plugin, cache or CDN settings to allow updated data to always be returned.
  • Lower your cache timer to 10 hours or less to allow WP nonces to refresh properly

Embedding Content in WordPress

Once the Power BI content is created in WordPress, you can embed it anywhere with a shortcode. The shortcode accepts the unique identifier for the Power BI content (visible from “All Power BI Items”) and an optional width and height to customize the size of the content where it is being embedded, if you want to override the default width and/or height for the content.

[powerbi id=X width=X height=X] 

You also can use a shortcode to display content based on the Power BI Embedded resource state. This shortcode allows you to show content when the resource is active and other content when the resource is paused.

Display the content when resource is active.

[powerbi_resource] Resource is active. [/powerbi_resource] 

Display the content when resource is paused.

[powerbi_resource state="Paused"] Resource is paused. [/powerbi_resource] 

Learn more about states. https://docs.microsoft.com/en-us/rest/api/power-bi-embedded/capacities/getdetails#state

Filters

The plugin is able to filter Reports using the [https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters](Report Level Filters) API functions in PowerBI embedded. To use filters you need to pass the filter object in the querystring as a serialized JSON string.

Example

var relatedFilterObj = [{ $schema : "http://powerbi.com/product/schema#basic", target : { table : "Countries", column : "Country", }, operator : "=", values : [country] } ]; var relatedURL = pageURL + "?filters=" + encodeURIComponent(JSON.stringify(relatedFilterObj));<h3>Applying Slicers</h3>The plugin can also apply Slicers before the report loads based on passing stringified JSON in the URL. Read more about [Slicers](https://github.com/Microsoft/PowerBI-JavaScript/wiki/Slicers) 

Example

var slicers = [ { selector : { $schema: "http://powerbi.com/product/schema#visualSelector", visualName: "fee64d853d2c3e579085" }, state : { filters : [ { $schema: "http://powerbi.com/product/schema#basic", target : { table : "Tools", column : "Tool" }, operator: "In", values: ["Information Operations"], } ] } } ]; var relatedURL = pageURL + "?slicers=" + encodeURIComponent(JSON.stringify(slicers)); 

Pricing

Starting from $0 per month.

Check Out the Currency Converter Widget

By Common Ninja

Currency ConverterTry For Free!

App Info

Rating

Reviewers

4 reviews

Tags

powerbi
wordpress plugin

Developed By

atlaspolicy

Quick & Easy

Find the Best Wordpress plugins for you

Common Ninja has a large selection of powerful Wordpress plugins that are easy to use, fully customizable, mobile-friendly and rich with features — so be sure to check them out!

Testimonial

Testimonial plugins for Wordpress

Galleries

Galleries plugins for Wordpress

SEO

SEO plugins for Wordpress

Contact Form

Contact Form plugins for Wordpress

Forms

Forms plugins for Wordpress

Social Feeds

Social Feeds plugins for Wordpress

Social Sharing

Social Sharing plugins for Wordpress

Events Calendar

Events Calendar plugins for Wordpress

Sliders

Sliders plugins for Wordpress

Analytics

Analytics plugins for Wordpress

Reviews

Reviews plugins for Wordpress

Comments

Comments plugins for Wordpress

Portfolio

Portfolio plugins for Wordpress

Maps

Maps plugins for Wordpress

Security

Security plugins for Wordpress

Translation

Translation plugins for Wordpress

Ads

Ads plugins for Wordpress

Video Player

Video Player plugins for Wordpress

Music Player

Music Player plugins for Wordpress

Backup

Backup plugins for Wordpress

Privacy

Privacy plugins for Wordpress

Optimize

Optimize plugins for Wordpress

Chat

Chat plugins for Wordpress

Countdown

Countdown plugins for Wordpress

Email Marketing

Email Marketing plugins for Wordpress

Tabs

Tabs plugins for Wordpress

Membership

Membership plugins for Wordpress

popup

popup plugins for Wordpress

SiteMap

SiteMap plugins for Wordpress

Payment

Payment plugins for Wordpress

Coming Soon

Coming Soon plugins for Wordpress

Ecommerce

Ecommerce plugins for Wordpress

Customer Support

Customer Support plugins for Wordpress

Inventory

Inventory plugins for Wordpress

Video Player

Video Player plugins for Wordpress

Testimonials

Testimonials plugins for Wordpress

Tabs

Tabs plugins for Wordpress

Social Sharing

Social Sharing plugins for Wordpress

Social Feeds

Social Feeds plugins for Wordpress

Slider

Slider plugins for Wordpress

Reviews

Reviews plugins for Wordpress

Portfolio

Portfolio plugins for Wordpress

Membership

Membership plugins for Wordpress

Forms

Forms plugins for Wordpress

Events Calendar

Events Calendar plugins for Wordpress

Contact

Contact plugins for Wordpress

Comments

Comments plugins for Wordpress

Analytics

Analytics plugins for Wordpress

Common Ninja Apps

Some of the best Common Ninja plugins for Wordpress

Browse our extensive collection of compatible plugins, and easily embed them on any website, blog, online store, e-commerce platform, or site builder.

Currency Converter for Wordpress logo

Currency Converter

Add a currency converter to your site so users can view equivalent values in their local currency for easier global access.

Airbnb Reviews for Wordpress logo

Airbnb Reviews

Show Airbnb reviews to build trust, improve credibility, and help visitors make confident booking decisions that support higher property sales.

Notification Bar for Wordpress logo

Notification Bar

Use a notification bar to alert users, highlight offers, and drive clicks that boost engagement, signups, and conversions.

Google Maps for Wordpress logo

Google Maps

Show business locations clearly with a Google Maps widget that displays multiple points, detailed info, and customizable styles to help visitors find you easily.

Payment Method Logos for Wordpress logo

Payment Method Logos

Show payment method logos that highlight accepted payment options, build trust at checkout, and help visitors feel confident completing their purchase.

Feedback Popup for Wordpress logo

Feedback Popup

Collect user insights with a feedback popup that reveals issues early, improves user experience, and captures valuable leads through a clear feedback form.

Poll for Wordpress logo

Poll

Create interactive polls with a poll widget that gathers real time feedback, boosts engagement, and helps you understand visitor opinions quickly and clearly.

Quotes Carousel for Wordpress logo

Quotes Carousel

Show inspiring quotes with a quotes carousel that rotates messages, enhances design, and keeps visitors engaged.

Capterra Reviews for Wordpress logo

Capterra Reviews

Show Capterra reviews to build trust, strengthen credibility, and help visitors make confident software buying decisions that support higher sales.

G2 Reviews for Wordpress logo

G2 Reviews

Show G2 reviews to build trust, strengthen credibility, and help visitors make confident SaaS buying decisions that support higher sales.

Personality Quiz for Wordpress logo

Personality Quiz

Create interactive personality quizzes with custom results and flexible design to boost engagement and help visitors explore tailored outcomes easily.

Appointment Booking for Wordpress logo

Appointment Booking

Manage appointments with an appointment booking widget that lets visitors schedule easily, syncs calendars, sends reminders, and creates a smoother booking experience.

Discover Apps By Platform

Discover the best apps for your website

WordPress
Wix
Shopify
Weebly
Webflow
Joomla
PrestaShop
Shift4Shop
WebsiteX5
MODX
Opencart
NopCommerce

Common Ninja Search Engine

The Common Ninja Search Engine platform helps website builders find the best site widgets, apps, plugins, tools, add-ons, and extensions! Compatible with all major website building platforms - big or small - and updated regularly, our Search Engine tool provides you with the business tools your site needs!

Multiple platforms