All Projects → AtlasPublicPolicy → power-bi-embedded

AtlasPublicPolicy / power-bi-embedded

Licence: GPL-3.0 license
Use Power BI Embedded to embed dashboards, reports, report visuals, Q&A, and tiles in your WordPress website.

Programming Languages

javascript
184084 projects - #8 most used programming language
PHP
23972 projects - #3 most used programming language
CSS
56736 projects
Latte
28 projects
SCSS
7915 projects

Projects that are alternatives of or similar to power-bi-embedded

WooCommerceConnector
A Power BI Custom Connector for WooCommerce
Stars: ✭ 27 (-27.03%)
Mutual labels:  microsoft, powerbi
mvp-monitor
📊 Microsoft MVPs Monitor
Stars: ✭ 30 (-18.92%)
Mutual labels:  microsoft, powerbi
PowerPlatformAF
Power Platform Adoption Framework
Stars: ✭ 97 (+162.16%)
Mutual labels:  microsoft, powerbi
powerbi-embed-v2
Power BI Embedded with Custom Controls PoC
Stars: ✭ 34 (-8.11%)
Mutual labels:  microsoft, powerbi
Federal-Business-Applications
US Government Business Applications Demo Repository
Stars: ✭ 103 (+178.38%)
Mutual labels:  microsoft, powerbi
Validate-DCB
Validator for RDMA Configuration and Best Practices
Stars: ✭ 34 (-8.11%)
Mutual labels:  microsoft
dailycodingproblem
Solutions to Daily Coding Problem questions
Stars: ✭ 26 (-29.73%)
Mutual labels:  microsoft
SuperGrate
💾 Get moving with Super Grate; a free & open source Windows Profile Migration & Backup Utility. Super Grate is a GUI (Graphical User Interface) that assists Microsoft's USMT (User State Migration Utility) in performing remote migrations over a network connection.
Stars: ✭ 91 (+145.95%)
Mutual labels:  microsoft
references-for-dotnet-developers
Sites, blogs, cursos, redes sociais e projetos de referências para desenvolvedores .NET
Stars: ✭ 329 (+789.19%)
Mutual labels:  microsoft
ms-identity-mobile-apple-swift-objc
An iOS sample in Swift that authenticates Microsoft Account and Azure AD users and calls the Graph API using OAuth 2.0
Stars: ✭ 61 (+64.86%)
Mutual labels:  microsoft
Cheat-Sheet---Active-Directory
This cheat sheet contains common enumeration and attack methods for Windows Active Directory with the use of powershell.
Stars: ✭ 154 (+316.22%)
Mutual labels:  microsoft
MS-PS-Installer
Automated PowerShell installer for *Nix with multi Distro support.
Stars: ✭ 20 (-45.95%)
Mutual labels:  microsoft
MSFS2020-Real-Time-Weather
A work in progress to update a custom Microsoft Flight Simulator 2020 weather preset with the current conditions of a given airport.
Stars: ✭ 22 (-40.54%)
Mutual labels:  microsoft
ModelAutoBuild
A framework for dynamically creating a tabular model based on an Excel template.
Stars: ✭ 43 (+16.22%)
Mutual labels:  powerbi
az-hop
The Azure HPC On-Demand Platform provides an HPC Cluster Ready solution
Stars: ✭ 33 (-10.81%)
Mutual labels:  microsoft
SQLServerTools
This repo is the home of various SQL-Server-Tools
Stars: ✭ 28 (-24.32%)
Mutual labels:  microsoft
node-seal
Homomorphic Encryption for TypeScript or JavaScript - Microsoft SEAL
Stars: ✭ 139 (+275.68%)
Mutual labels:  microsoft
datapackage-m
Power Query M functions for working with Tabular Data Packages (Frictionless Data) in Power BI and Excel
Stars: ✭ 26 (-29.73%)
Mutual labels:  powerbi
linux-teams
An unofficial Microsoft Teams application for Linux
Stars: ✭ 19 (-48.65%)
Mutual labels:  microsoft
FlowViz
A Power BI template that provides easy to understand, actionable flow metrics and predictive analytics for your agile teams using Azure DevOps, Azure DevOps Server and/or TFS.
Stars: ✭ 150 (+305.41%)
Mutual labels:  powerbi

power-bi-embedded

Atlas

Title: Power BI Embedded for WordPress

Contributors: Nick Nigro [[email protected]], aswingiri [[email protected]], bankerrajendra [[email protected]], bhoot[[email protected]], stegel

Homepage: http://www.atlaspolicy.com

Tags: powerbi-embedded, wordpress-plugin, powerbi, wordpress

Tested up to: 6.0.0

Stable tag: 1.1.5

License: GNU General Public License v3.0

License URI: https://www.gnu.org/licenses/lgpl.html

Description

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.

You can download this plugin on WordPress at https://wordpress.org/plugins/embed-power-bi/.

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.

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

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.
  • Page Name: Enter the unique identifier for the Page. You can find the identifier by viewing a dashboard in the Power BI Service. The identifier is in the URL. This is is an optional parameter. If left blank, the report's default page will be shown.
  • Background: Optionally entender a background color for your embed. For instance, entering models.BackgroundType.Transparent in this field will make your embed have a transparent background.

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 entering 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.
  • Background: Optionally entender a background color for your embed. For instance, entering models.BackgroundType.Transparent in this field will make your embed have a transparent background.

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.
  • Background: Optionally entender a background color for your embed. For instance, entering models.BackgroundType.Transparent in this field will make your embed have a transparent background.

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.
  • Background: Optionally entender a background color for your embed. For instance, entering models.BackgroundType.Transparent in this field will make your embed have a transparent background.

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.
  • Background: Optionally entender a background color for your embed. For instance, entering models.BackgroundType.Transparent in this field will make your embed have a transparent background.

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.

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

Applying Filters

The plugin is able to filter Reports using the 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));

Applying Slicers

The plugin can also apply Slicers before the report loads based on passing stringified JSON in the URL. Read more about 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));

Plugin Dependencies

powerbi-client v2.19.1 https://github.com/Microsoft/PowerBI-JavaScript, CMB2 v2.6.0 https://github.com/CMB2/CMB2, CMB2 Conditionals v1.0.4 (https://github.com/jcchavezs/cmb2-conditionals), URL Search Params Polyfill v5.0.0 https://github.com/jerrybendy/url-search-params-polyfill

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].