Power BI Use Case: Energy Industry

This report focuses on demand forecasting within the energy sector. The views provide region level energy usage status and forecast of future usage for optimizing the operations.

Case Study:

Storing energy is not cost-effective, so utilities and power generators need to forecast future power consumption so that they can efficiently balance the supply with the demand. During peak hours, short supply can result in power outages. Conversely, too much supply can result in waste of resources. Advanced demand forecasting techniques detail hourly demand and peak hours for a particular day, allowing an energy provider to optimize the power generation process. This report focuses on demand forecasting within the energy sector. The report provides region level energy usage status and forecast of future usage for optimizing the operations.

The ‘Energy Solution Forecast’ page shows the demand forecast results from Azure Machine Learning model and different error metrics for user to identify the quality of the model. Temperature and its forecasts are used as a feature in the machine learning model.


The ‘Energy Solution Status Summary’ page shows the overall status of energy demand of each region. User can select a single region by clicking the filter on the left to investigate each region’s status.


Publish Report to Web from Power BI

With Power BI Publish to web, you can easily embed interactive Power BI visualizations online, such as in blog posts, websites, through emails or social media, on any device.

You can also easily edit, update, refresh or un-share your published visuals.

How to use Publish to Web

Publish to web is available on reports in your personal or group workspaces that you can edit. You cannot use Publish to web with reports that were shared with you, or reports that rely on row level security to secure the data.

You can watch how this feature works in the following short video. Then, follow the steps below to try it yourself.

The following steps describe how to use Publish to web.

  1. On a report in your workspace that you can edit, select File > Publish to web.

  2. Review the content on the dialogue, and select Create embed code as shown in the following dialogue.

  3. Review the warning, shown in the following dialog, and confirm that the data is okay to embed in a public website. If so, select Publish.

  4. A dialog appears that provides a link that can be sent in email, embedded in code (such as an iFrame), or that you can paste directly into your web page or blog.

  5. If you’ve previously created an embed code for the report, the embed code quickly appears. You can only create one embed code for each report.

Tips and Tricks for View modes

When you embed content within a blog post, you typically need to fit it within a specific size of the screen. You can also adjust the height and the width in the iFrame tag as needed, but you may also need to ensure your report fits within the given area of the iFrame, so you also need to set an appropriate View Mode when editing the report.

The following table provides guidance about the View Mode, and how it will appear when embedded.

View Mode How it looks when embedded
Fit to page will respect the page height and width of your report. If you set your page to ‘Dynamic’ ratios like 16:9 or 4:3 your content will scale to fit within the iFrame you provided. When embedded in an iFrame, using Fit to pagecan result in letterboxing, where a gray background is shown in areas of the iFrame after the content as scaled to fit within the iFrame. To minimize letterboxing, set your iFrame height/width appropriately.
Actual size will ensure the report preserves its size as set on the report page. This can result in scrollbars being present in your iFrame. Set the iFrame height and width to avoid the scrollbars.
Fit to width ensures the content fits within the horizontal area for your iFrame. A border will still be shown, but the content will scale to use all the horizontal space available.

Tips and tricks for iFrame height and width

The embed code you receive after you Publish to web will look like the following:

You can edit the width and height manually to ensure it is precisely how you want it to fit onto the page into which you’re embedding it.

To achieve a more perfect fit, you can try adding 56 pixels to the height dimension of the iFrame. This accomodates the current size of the bottom bar. If your report page uses the Dynamic size, the table below provides some sizes you can use to achieve a fit without letterboxing.

Ratio Size Dimension (Width x Height)
16:9 Small 640 x 416 px
16:9 Medium 800 x 506 px
16:9 Large 960 x 596 px
4:3 Small 640 x 536 px
4:3 Medium 800 x 656 px
4:3 Large 960 x 776 px

Managing embed codes

Once you create a Publish to web embed code, you can manage the codes you create from the Settings menu of the Power BI service. Managing embed codes includes the ability to remove the destination visual or report for a code (rendering the embed code unusable), or getting the embed code again.

  1. To manage your Publish to web embed codes, open the Settings gear and select Manage embed codes.

  2. The list of embed codes you’ve created appears, as shown in the following image.

  3. For each Publish to web embed code in the list, you can either retrieve the embed code, or delete the embed code and thus make any links to that report or visual no longer work.

  4. If you select Delete, you’re asked if you’re sure you want to delete the embed code.

Updates to reports, and data refresh

After you create your Publish to web embed code and share it, the report is updated with any changes you make. However, it’s important to know that it can take a while for update to be visible to your users. Updates to a report or visual take approximately one hour to be reflected in Publish to web embed codes.

When you initially use Publish to web to get an embed code, the embed code link is immediately active and can be viewed by anyone who opens the link. After the initial Publish to web action, subsequent updates to reports or visuals to which a Publish to web link points can take approximately one hour to be visible to your users.

To learn more, see the How it works section later in this article. If you need your updates to be immediately available, you can delete the embed code and create a new one.

Data refresh

Data refreshes are automatically reflected in your embedded report or visual. It can take approximately 1 hour for refreshed data to be visible from embed codes. You can disable automatic refresh by selecting do not refresh on the schedule for the dataset used by the report.

Custom visuals

Custom visuals are supported in Publish to web. When you use Publish to web, users with whom you share your published visual do not need to enable custom visuals to view the report.


Publish to web is supported for the vast majority of data sources and reports in the Power BI service, however, the following are not currently supported or available with Publish to web:

  1. Reports using row level security.
  2. Reports using any Live Connection data source, including Analysis Services Tabular hosted on-premises, Analysis Services Multidimensional, and Azure Analysis Services.
  3. Reports shared to you directly or through an organizational content pack.
  4. Reports in a group in which you are not an edit member.
  5. “R” Visuals are not currently supported in Publish to web reports.
  6. Exporting Data from visuals in a report which has been published to the web
  7. ArcGIS Maps for Power BI visuals
  8. Reports containing report-level DAX measures
  9. Secure confidential or proprietary information

Tenant setting

Power BI administrators can enable or disable the publish to web feature. They may also restrict access to specific groups. Your ability to create an embed code changes based on this setting.

Feature Enabled for entire organization Disabled for entire organization Specific security groups
Publish to webunder report’s File menu. Enabled for all Not visable for all Only visable for authorized users or groups.
Manage embed codes under Settings Enabled for all Enabled for all Enabled for all

Delete option only for authorized users or groups.
Get codes enabled for all.

Embed codeswithin admin portal Status will reflect one of the following:
* Active
* Not supported
* Blocked
Status will display Disabled Status will reflect one of the following:
* Active
* Not supported
* Blocked

If a user is not authorized based on the tenant setting, status will display as infringed.

Existing published reports All enabled All disabled Reports continue to render for all.

Understanding the embed code status column

When viewing the Manage embed codes page for your Publish to web embed codes, a status column is provided. Embed codes are active by default, but you may encounter any of the states listed below.

Status Description
Active The report is available for Internet users to view and interact with.
Blocked The content of the report violates the Power BI Terms of Service. It has been blocked by Microsoft. Contact support if you believe the content was blocked in error.
Not supported The report’s data set is using row level security, or another unsupported configuration. See the Limitations section for a complete list.
Infringed The embed code is outside of the defined tenant policy. This typically occurs when an embed code was created and then the publish to web tenant setting was changed to exclude the user that owns the embed code. If the tenant setting is disabled, or the user is no longer allowed to create embed codes, existing embed codes will show the status of Infringed.

How to report a concern with Publish to web content

To report a concern related to Publish to web content embedded in a website or blog, use the Flag icon in the bottom bar, shown in the following image. You’ll be asked to send an email to Microsoft explaining the concern. Microsoft will evaluate the content based on the Power BI Terms of Service, and take appropriate action.

To report a concern, select the flag icon in the bottom bar of the Publish to web report you see.

Licensing and Pricing

You need to be a Microsoft Power BI user to use Publish to web. The consumers of your report (the readers, viewers) do not need to be Power BI users.

How it works (technical details)

When you create an embed code using Publish to web, the report is made visible to users on the Internet. It’s publicly available so you can expect viewers to easily share the report through social media in the future. As users view the report, either by opening the direct public URL or viewing it embedded in a web page or blog, Power BI caches the report definition and the results of the queries required to view the report. This approach ensures the report can be viewed by thousands of concurrent users without any impact on performance.

The cache is long-lived, so if you update the report definition (for example, if you change its View mode) or refresh the report data, it can take approximately one hour before changes are reflected in the version of the report viewed by your users. It is therefore recommended that you stage your work ahead of time, and create the Publish to web embed code only when you’re satisfied with the settings.



When you use Publish to web, the report or visual you publish can be viewed by anyone on the Internet. There is no authentication used when viewing these reports. Only use Publish to web with reports and data that the anyone on the Internet (unauthenticated members of the public) should be able to see.


A Guide for Career Paths in Business Intelligence (BI)

The Foundational Skills of All BI Positions – Data Manipulation 

The more traditional BI route involves mastering relational concepts coupled with SQL (Structured Query Language) as well as masterting non-structured concepts involving Hadoop coupled with Python. This knowledge is used throughout any BI position – whether at junior or senior level.

A great place to start learning the basics of SQL code for free is at Code Academy. And here’s a great resource to start learning more about Hadoop.

If you’re reading this as a college student who’s trying to decide your major, Management Information SystemsBusiness Information SystemsIntelligence StudiesStatistics, and anything in Computer Science are excellent majors for a career in Business Intelligence & Analytics.

I personally double majored at Infomation System, plus Operation and Supply Chain management. I have taken related courses such as Stats, Accounting, Economic and Operation Research, they are exremely helpful.

Two Different Paths 

There are two main paths to consider for a career in BI, and they are generally thought of as the “back-end” and “front-end.” Furthermore, there are plenty of BI professionals that take a shot at both of these paths over their career as a way to gain more knowledge, broaden their skillset, and generate more opportunities.

For back-end BI development, the foundational skills revolve around 3 primary capabilities.

  1. The ability to source data: This involves being able to collect data in whatever system, stream, location, and format it exists.
  2. The ability to manipulate data: The raw data you’re working with will need to be validated, cleansed, and integrated. And in some instances, business logic will need to be applied to the data. This is the first step in creating value from the data.
  3. The ability to create data structures and storage architecture: In order to make the data useful to an audience of users, it must be organized and structured in a way that makes it intuitive to the user audiences and responsive to requests and queries.

People typically call back-end work the “technical” side of BI. Back-end work is hardly noticed by the end-user. Working on the technical side of BI involves less design of what you’re delivering for your company/client and more hands-on development, programming, and coding of the solution. That’s not to say that if you’re a back-end developer you won’t ever be doing architecture and design work. But for the majority of your time, you will be doing more technical tasks like development, and less design.

The back-end skill set from a general perspective is known as “Extraction, Transformation, and Loading” (ETL). ETL concepts can be easily studied and understood, but hands-on work with data and developing the code to move the data around is what really gains you valuable experience.

The foundational skill for “front-end” BI workers is the presentation of information, well known as reporting analyst. Some common skills companies look for in front-end BI developers are a strong understanding of data visualization best practices, ETL experience, strong analytical and quantitative skills, and strong communication skills.

The goal of front-end work is to place information into a context that allows the consumer of the information (the user) to use it to make smart decisions. Many of these roles use SQL (or a software tool that creates SQL for you) to both query and manipulate that data into a context that takes the form of reports or dashboards for your customer (internal customer or external customer).

People typically call front-end development the “functional side” of BI. It is in this position where your ability to interact and listen to your customers’ needs is extremely valuable. The technical ability to develop the interfaces in order to provide the reporting and analytics they have requested is vital to have as well.

Doing so generates invaluable business insights and knowledge that would not be realized without business intelligence. These professionals also routinely provide support to users and ensure the proper configuration and management of the BI solutions they are responsible for.

Popular Job Titles in Business Intelligence

– Business Intelligence Developer/Analyst/Consultant/Specialist

– Data Warehouse Developer/Consultant/Specialist

– Database Applications Developer

– Big Data/Hadoop/ETL/ Developer

– Reporting/Data Analyst

Read more: