Skip to main content

Notifications

Power BI - How to embed a PBIX using Form in D365FO and add in a workspace.

Ajit Profile Picture Ajit 8,755

Power BI - How to embed a PBIX using Form in D365FO and add in a workspace.

We have an option in D365 to embed PowerBI visuals and run through workspaces. Here I am providing steps to do the same.

1. Create a PowerBI report using power BI desktop and save the file, .pbix file will be saved.  You can refer below youTube tutorial

2. Open Visual Studio in your dev box and Right click on your project - Add - New Item 



3. Create a new 'Resource' and give the name of that resource.


4. As soon as you hit the ok, VS will popup the file explorer to select the 'PBIX' file, select the pbix you have developed\created.


5. Hit 'ok', resource will get created in your project.




6. Create a Display Menu Item 'GLInsightsPBIXDisplay' and and create a form with tab and tab pages (can be per report) and  a group  control and then add below code.. Update the tab, tabpage , menu item and pbix names. 

[Form]
public class GLInsightsWorkspace extends FormRun
{
    PowerBIReportSetupHelper helperGL;
    boolean isPowerBIReportGL;
   


    /// <summary>
    ///
    /// </summary>
    private void initPowerBI()
    {
        if (isConfigurationkeyEnabled(configurationKeyNum(PowerBIEmbedded_App)))
        {
            helperGL         = PowerBIReportSetupHelper::construct();
           
            helperGL.parmGroupControl(GLInsightsPBIX);
          
            if (hasMenuItemAccess(menuItemDisplayStr(GLInsightsPBIXDisplay), MenuItemType::Display))
            {
                helperGL.parmIsCrossCompany(true);
                GLInsightsPBIX.caption("GL Insights");
                helperGL.parmResourceName(resourceStr(demoAddPowerBIResource));

            }
          
        }
    }

    /// <summary>
    ///
    /// </summary>
    public void init()
    {
        super();
        this.initPowerBI();
        GLInsights.pageActivated();
    }

    [Control("TabPage")]
    class GLInsights
    {
        /// <summary>
        ///
        /// </summary>
        public void pageActivated()
        {
            super();
            if (!isPowerBIReportGL)
            {
                isPowerBIReportGL = true;
                helperGL.run();
            }
        }

    }

}

8. Add this form in your menu item as an object.

9. Now create a new 'Tile' Right click on your project -> Add -> new Items -> User Interface - Tile.

10 . Once created, select your display menu item in tile properties. And give the label.



11. Add this tile to your menu.


12 - Once you click on this workspace, your pbix will get called. 

Tags: #PowerBI #D365FO #Pbix #Dynamics 

Comments

*This post is locked for comments