Power BI Archives - Indium https://www.indiumsoftware.com/blog/tag/power-bi/ Make Technology Work Sat, 27 Apr 2024 10:39:09 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.3 https://www.indiumsoftware.com/wp-content/uploads/2023/10/cropped-logo_fixed-32x32.png Power BI Archives - Indium https://www.indiumsoftware.com/blog/tag/power-bi/ 32 32 Power BI Meta Data extraction using Python https://www.indiumsoftware.com/blog/power-bi-meta-data-extraction-using-python/ Wed, 17 May 2023 09:47:06 +0000 https://www.indiumsoftware.com/?p=16850 In this blog we are going to learn about Power BI.pbit files, Power BI desktop file Meta data, Extraction of Power BI Meta data and saving it as an excel file using .pbit file and a simple Python code using libraries like Pandas, OS, Regex, JSON and dax_extract. What is Power BI and .pbix files?

The post Power BI Meta Data extraction using Python appeared first on Indium.

]]>
In this blog we are going to learn about Power BI.pbit files, Power BI desktop file Meta data, Extraction of Power BI Meta data and saving it as an excel file using .pbit file and a simple Python code using libraries like Pandas, OS, Regex, JSON and dax_extract.

What is Power BI and .pbix files?

Power BI is a market leading business intelligence tool by Microsoft for Cleaning, Modifying and Visualizing raw data to come up with actionable insights. Power BI comes with its own data transformation engine called power query and a formula expression language called DAX (Data Analysis Expressions).

DAX gives power BI the ability to calculate new columns, dynamic measures, and tables inside Power Bi desktop.

By default, Power BI report files are saved with .pbix extension which is a renamed version of a ZIP file which contains multiple components, such as the visuals, report canvas, model metadata, and data.

What is Power BI .pbit file

.pbit is a template file created by Power Bi desktop which is also a renamed version of a ZIP file that contains all the Meta data for the Power BI report but doesn’t contain the data itself. Once we extract .pbit file we get a DataModelSchema file along with other files which contain all the Meta data of a Power BI desktop files.

Later in this blog we will be using these .pbit and DataModelSchema files to extract Power BI desktop Meta data.

What is the Meta data in a Power BI Desktop file

Regarding what you see in the Report View in a Power BI desktop, meta data is everything. You can think of all the information as meta data, including the name, source, expression, data type, calculated tables, calculated columns, calculated measures, relationships and lineage between the model’s various tables, hierarchies, parameters, etc.

We will mainly concentrate on extracting Calculated Measures, Calculated Columns, and Relationships in this blog.

Extraction of Meta data using Python

Python was used to process and extract the JSON from the.pbit file and DataModelSchema. We first converted JSON to a Python dictionary before extracting the necessary Meta data.

Below are the steps we will need to achieve the requirement:

 

1. Exporting .pbix file as .pbit file

There are two ways to save our power BI desktop file as .pbit file.

  • Once we are in Power BI desktop, we have an option to save our file as power BI template(.pbit) file
  • We can go to File–>Export–>Power BI Template and save the .pbit file at the desired directory.

2. Unzipping .pbit file to get DataModelSchema file

We can directly unzip the .pbit file using the 7z-Zip file manager or any other file manager. Once we Unzip the file, we will get a folder with the same name as that of the .pbit file. Inside the folder we will get the DataModelSchema file, we will have to change its extension to .txt for reading in python.

3. Reading .pbit and Data model schema file in python

We have an option to directly read the .pbit file in python using the dax_extract library. Second option to read the text file in python and using the JSON module convert it into a Python dictionary. Code can be found in the GitHub repository link given at the end of this file.

4. Extracting Measures from the dictionary

The dictionary that we get consists details of all the tables as separate lists, Individuals tables have details related to the columns and measures belonging to that table, we can loop on each table one by one and get details of columns, Measures etc. Below is an example of the Python code can be found in the GitHub Repository link given at the end of this file.

  table Number table Name Measure Name Measure Expression
0 5 Query Data % Query Resolved CALCULATE(COUNT(‘Query Data'[Client ID]),’Quer…
1 5 Query Data Special Query Percentage CALCULATE(COUNT(‘Query Data'[Client ID]),’Quer…
2 6 Asset Data Client Retention Rate CALCULATE(COUNT(‘Asset Data'[Client ID]),’Asse…

 

5. Extracting calculated columns from the Dictionary

Like how we extracted the measures we can loop on each table and get details of all the calculated columns. Below is the sample output of the Python code can be found in the GitHub Repository link given at the end of this file.

 

  table no Table Name name expression
6 2 Calendar Day DAY(‘Calendar'[Date])
7 2 Calendar Month MONTH(‘Calendar'[Date])
8 2 Calendar Quarter CONCATENATE(“Q”,QUARTER(‘Calendar'[Date]) )
9 2 Calendar Year YEAR(‘Calendar'[Date])

 

Also Read:  Certainty in streaming real-time ETL

6. Extracting relationships from the dictionary

Data for relationships is available in the model key of the data dictionary and can be easily extracted. Below is the sample output of the Python code can be found in the GitHub Repository link given at the end of this file. 

 

  From Table From Column To Table To Column State
0 Operational Data Refresh Date LocalDateTable_50948e70-816c-4122-bb48-2a2e442… Date ready
1 Operational Data Client ID Client Data Client ID ready
2 Query Data Query Date Calendar Date ready
3 Asset Data Client ID Client Data Client ID ready
4 Asset Data Contract Maturity Date LocalDateTable_d625a62f-98f2-4794-80e3-4d14736… Date ready
5 Asset Data Enrol Date Calendar Date ready

 

7. Saving Extracted data as an Excel file

All the extracted data can be saved in empty lists and these lists can be used to derive a Pandas data frame. This Pandas data frame can be exported as Excel and easily used for reference and validation purposes in a complex model. Below snapshot gives an idea of how this can be done.

Do you want to know more about Power BI meta data using Python? Then reach out to our experts today.

Click here

Conclusion

In this blog we learnt about extracting metadata from .pbit and DataModelSchema file. We have created a Python script that allows users to enter the file location of .pbit and DataModelSchema file and then metadata extraction along with excel generation can be automated. The code can be found on the below GitHub also sample excel files can be downloaded from below GitHub link. Hope this is helpful and will see you soon with another interesting topic.

 

The post Power BI Meta Data extraction using Python appeared first on Indium.

]]>
Domo for Dummies: A Guide to Creating Powerful Data Visualizations with Domo https://www.indiumsoftware.com/blog/domo-for-dummies-a-guide-to-creating-powerful-data-visualizations-with-domo/ Wed, 15 Feb 2023 14:53:49 +0000 https://www.indiumsoftware.com/?p=14691 Domo is a cloud-based business intelligence platform that offers a comprehensive solution for data management, analysis, and visualisation. It enables organisations to collect data from various sources, transform and cleanse the data, and present it in the form of interactive dashboards, reports, and charts. Domo enables businesses to make data-driven decisions-making and communicate insights effectively.

The post Domo for Dummies: A Guide to Creating Powerful Data Visualizations with Domo appeared first on Indium.

]]>
Domo is a cloud-based business intelligence platform that offers a comprehensive solution for data management, analysis, and visualisation. It enables organisations to collect data from various sources, transform and cleanse the data, and present it in the form of interactive dashboards, reports, and charts. Domo enables businesses to make data-driven decisions-making and communicate insights effectively.

With the use of interactive dashboards, personalised graphics, and intuitive data visualisations, Domo lets you create your own stories. Furthermore, it provides data governance and role-based access controls to guarantee that users can only access the information that they are authorised to see. To further safeguard your data visualisations, you can quickly and easily set up single sign-on and multi-factor authentication.

This guide is intended to assist beginners in learning the fundamentals of Domo and creating powerful data visualizations that drive business results.

Getting Started with Domo

To get started with Domo, you must first create an account. To do so, visit the Domo Website and register for a free trial. After you’ve created your account, log in to access the Domo dashboard. Domo’s dashboard is the primary interface for interacting with data in the software. It displays a summary of all your data connections, reports, and dashboards. To make a new report or dashboard, go to the dashboard and click the “Create” button.

Given the volume of the client’s data, the current procedure made it necessary for the SAS Data Admin to manually intervene and made it necessary for key decision makers to wait three days before viewing useful processed data.

Read Our Success Story to find out how our team of professionals overcame challenges and helped the client with data visualisation of tailored analytics that were D3.js-programmed (Data-driven documents)

Click Here

Workflow for Domo Data Visualization

The workflow for data visualisation in Domo typically includes the following steps:

1. Data Connection

Domo offers numerous data connection options, including databases, spreadsheets, cloud-based applications, and APIs. To connect to a data source, go to the dashboard’s “Data” tab and then click on “Connections.”

Once you’ve selected your data source, follow the on-screen instructions to connect to it. You can also use Domo’s data connectors to bring in data from popular sources such as Salesforce, Google Analytics, and more.

2. Data Transformation

After connecting to your data source, you can begin transforming the data. To do so, go to the “Data” tab and then click “Transform.”

Domo offers a simple drag-and-drop interface for data transformation. Data transformation options include filtering, merging, and pivoting. You can also use the “Calculated Fields” feature to create custom calculations based on your data.

3. Data Visualization

Once your data has been transformed, you can start visualizing it. To do so, go to the dashboard’s “Visualize” tab and then click “Create.”

Domo provides a wide range of visualisation options, such as bar charts, line charts, pie charts, and more. You can also create custom visualisations based on your data by using the “Custom Visualizations” feature. Simply drag and drop the data elements you want to visualise into the visualisation builder to create a visualisation. To further customise your visualisation, you can add filters, calculated fields, and other data elements.

4. Creating Dashboards

Dashboards are an effective way to communicate insights and share data with others. To create a dashboard, go to the dashboard’s “Visualize” tab and click on “Dashboards.”

After you’ve created your dashboard, you can add visualizations, text, and images to create a comprehensive and interactive presentation of your data. You can also use the “Widgets” feature to add interactive elements to your dashboard such as charts, graphs, and maps.

5. Sharing and Collaborating

One of Domo’s most important features is its ability to share and collaborate on data. To share a report or dashboard, simply click the “Share” button.

You can share your report or dashboard with others by emailing them a link or embedding it in a web page. You can also limit who has access to the report or dashboard and what actions they can perform on it, such as viewing, editing, or commenting on it. This facilitates your teams to deliver data-driven collaboration and decision-making.

Business intelligence and data analytics depend heavily on data visualisation because this is how customers will see the outputs and outcomes they need. Check out this blog to learn more.

Domo vs. Tableau vs. Power BI

When comparing top BI tools, many factors must be considered. Keeping track of all business affairs is becoming increasingly difficult for any company, as large volumes of data pose a challenge to companies of all sizes. However, each of these three tools is capable of solving them in its own way.

Feature Domo Tableau Power BI
Integration Wide range of data sources, including databases, spreadsheets, cloud-based applications, and APIs Wide range of data sources, including databases, spreadsheets, cloud-based applications, and APIs Connects to a variety of data sources, including databases, spreadsheets, cloud-based applications, and APIs
Data Transformation Simple and intuitive interface for transforming data Advanced data transformation and cleaning capabilities Limited data transformation options
Visualization Wide range of visualization options, including bar charts, line charts, pie charts, and more Advanced visualization options, including maps, graphs, and infographics Limited visualization options, including bar charts, line charts, and pie charts
Customization Flexible customization options, including custom calculations and visualization Advanced customization options, including custom calculations and visualizations Limited customization options
Collaboration Sharing and collaboration features make it easy for teams to work together on data Collaboration features, including version control and team sharing Collaboration features, including team sharing and commenting
Mobile Access Mobile access to data and visualizations Mobile access to data and visualizations Mobile access to data and visualizations
Security Robust security measures to protect data and ensure privacy Robust security measures to protect data and ensure privacy Robust security measures to protect data and ensure privacy
Scalability Cloud-based platform, making it easy to scale data management and analysis capabilities Cloud-based platform, making it easy to scale data management and analysis capabilities Cloud-based platform, making it easy to scale data management and analysis capabilitie

Domo: How Can It Benefit Your Business?

1. Better Decision Making: By providing a centralized platform for data analysis, visualization, and collaboration, Domo enables businesses to make data-driven decisions, leading to improved outcomes and increased efficiency.

2. Improved Insights: With its powerful visualization options and ability to integrate with a wide range of data sources, Domo helps businesses gain new insights into their data, enabling them to identify trends, patterns, and opportunities.

3. Increased Productivity: By automating manual data collection and cleaning processes, Domo saves businesses time and resources, freeing up employees to focus on more strategic tasks.

4. Better Collaboration: With its sharing and collaboration features, Domo makes it easy for teams to work together on data, improving communication and collaboration among team members.

5. Improved Data Management: With its centralized platform for data management and analysis, Domo makes it easier for businesses to keep track of their data, reducing the risk of data loss or corruption.

6. Increased Flexibility: Domo’s cloud-based platform and ability to integrate with a wide range of data sources makes it easy for businesses to adapt to changing needs, increasing their ability to respond quickly to new opportunities.

7. Better Data Security: With its robust security measures, Domo helps businesses protect their data and ensure the privacy of their information.

Overall, Domo helps businesses turn data into insights and drive results, enabling them to make informed decisions, improve outcomes, and stay ahead of the competition.

If you are still unsure about the answer you need, let our knowledgeable experts assist you.

Click Here

Conclusion

When comparing Domo vs. Tableau vs. Microsoft Power BI, consider who will be using these tools.

Power BI is designed for the joint stakeholder, not the data analyst. As a result, the interface is more reliant on drag and drop and automatic features.

Tableau is equally powerful, but the interface isn’t entirely intuitive, making it more difficult to use and learn. Domo, on the other hand, is ideal for businesses looking for an all-in-one cloud-based data and analytics solution. It is used by many customers to supplement existing solutions. Given its flexibility and breadth, domo is a good choice for any organization looking to get more value from its data.

Domo is a powerful data management, analysis, and visualisation tool. Domo’s user-friendly interface, extensive data connections, and powerful visualisation tools make it simple for businesses to turn data into insights and drive results. Domo is a valuable tool for any organisation looking to harness the power of data, whether you are a beginner or an experienced data analyst.

We’ll get to the next interesting topic soon.

I hope this was useful.

Happy Reading…!!!!!

The post Domo for Dummies: A Guide to Creating Powerful Data Visualizations with Domo appeared first on Indium.

]]>
Experience the awesomeness of a Power BI dashboard from your web portal https://www.indiumsoftware.com/blog/power-bi-dashboard/ Wed, 03 Apr 2019 17:26:00 +0000 https://www.indiumsoftware.com/blog/?p=56 Embedding Power BI Dashboard in Angular JS Power BI dashboards can be shared with users within or outside an organization in the form of This blog deals with the steps required to embed a Power BI report in Angular JS. The ngx-powerbi library in Angular JS will be used for embedding the dashboards. Pre-Requisites: This

The post Experience the awesomeness of a Power BI dashboard from your web portal appeared first on Indium.

]]>
Embedding Power BI Dashboard in Angular JS

Power BI dashboards can be shared with users within or outside an organization in the form of

  • URLs
  • .pbix files or
  • Embedded reports in HTML/Javascript portal.

This blog deals with the steps required to embed a Power BI report in Angular JS. The ngx-powerbi library in Angular JS will be used for embedding the dashboards.

Pre-Requisites:

  • Power BI Pro Account
  • Angular JS
  • ngx – powerbi (Library for embedding Power Bi reports in Angular JS)
  • Java

This blog deals with the steps required to embed a Power BI report in Angular JS. The ngx-powerbi library in Angular JS will be used for embedding the dashboards.

Check out our Advanced Analytics Services

Read More

The entire process can be broken down into the following parts.

  1. Create a Power BI Pro account.
  2. Grant API and data permissions to your app on Azure Active Directory.
  3. Grant requisite permissions to your Apps on Azure Active Directory using Azure Portal.
  4. Create a sample Power BI application.
  5. Write a Java API to generate Access tokens for login.
  6. Create Angular JS UI to embed the dashboard.

The following steps can be followed to embed a Power BI report in Angular JS.

Step 1: Create a Power BI Pro account

A Power BI Pro should be created using your organization’s email address. Users can sign up here. A Pro account costs $9.99 per month.

Step 2: Grant API & data permissions to the App on Azure Active Directory

  • Register your Power BI Application on Azure Active Directory.
  • Sign In using Power BI credentials.
  • Give your application a suitable name.
  • Application Type should be Native as we are using this for embedding.
  • Give the App permission to access all APIs.
  • Register the Application.
  • This will create a new App and register it under Azure Active Directory. Note down the Application ID that gets generated. This is used later for access token generation.

Step 3: Grant permissions to the App on Azure Active Directory using Azure Portal

  • Sign In to Azure Portal.
  • Look up Azure Active Directory -> App Registrations
  • Click on the Application and then go to Settings -> Required Permissions
  • Select the two API properties listed and click on Grant Permissions button under Required Permissions section. This is required for embedding the Power BI report.

Step 4: Create a Sample Power BI application

Login to Power BI portal. Create a sample Power BI report under a newly created app workspace. The report can also be a .pbix file that is generated from Power BI Desktop Application and published using Power BI Service. Then do File -> Embed.

This will generate an Embed URL that will be used for embedding the report in Angular JS UI. The embed URL will look as follows:

https://app.powerbi.com/reportEmbed?reportId=8d63c6b1-f34d-4de4-9d0a-f5fd79ece1d5&groupId=fbcba1c5-78a5-491a-8eac-4832152b8a97&autoAuth=true&ctid=e983fad9-ddbe-48d7-bb95-eec937e4b59f

The report ID and Group ID are highlighted in bold in the above URL and they are important as they are required for access token generation during login using the Angular JS UI.

Step 5: Write a Java API to generate access token

Write a simple Java API that will generate access tokens using the Application ID that was created in Step 1 when the app was registered. In addition to the application id, Power BI username and password along with the embed URL is also required.

The screenshot above shows a generic implementation of the Java API. In the code snippet below, the application id, Power BI username, password & embed URL are stored in a database and then retrieved from there.

Leverge your Biggest Asset Data

Inquire Now

Step 6: Create a simple Angular JS UI to embed the dashboard

An Angular JS UI with single sign on functionality should be created. Every time a user logs in, an access token will get generated from the Java API. The code snippet for embedding the dashboard in Angular JS is as follows.

It uses the ngx-powerbi library from Angular JS for embedding. The embed URL and Access token generated from the Java API are inputs for this component. The login page created in Angular JS looks like the snapshot below:

When you login using the credentials, in the backend an access token gets generated based on the Java API the embedded dashboards can be seen as shown below.

The embedded dashboards can have data connected to persistent storage. In that case, Power BI provides the facility to automatically refresh data using Power BI Gateway Service. More information on how that can be done is provided in this link.

The post Experience the awesomeness of a Power BI dashboard from your web portal appeared first on Indium.

]]>