Power BI Infographic Update – June 2018

There have recently been quite a few changes and updates to Power BI, so in this blog post I have updated my Infographic. As well as put in references to where you can find more details on the updates that I have made to the infographic.

Below are the relevant links

Filter and Sort in the Data View in Power BI Desktop

Dashboard Themes in the Power BI Service

Persistent Filters for reports in the Power BI Service

Custom Data Connectors using the On-Premise Data Gateway in Personal Mode to refresh data

Incremental Data Refresh currently for Power BI Premium Customers

BI-RoundUp – Power BI (Power BI Desktop June update – Subscribe others to Email Subscriptions – Developer Community for May, Service & Mobile Update)

Here is my weekly BI-RoundUp, and once again the awesome people from the Microsoft Power BI Team have released some additional gifts.

Power BI Desktop June Update

Here is another month of big updates to the Power BI Desktop.

Reporting

The first item is now based on your contrast settings, this will be applied to the Power BI Desktop file and in the Power BI Service. The only thing to make note of is that currently background images are not supported in high contrast mode.

There is now also more control for the Donut visual in terms of how wide or skinny the donut will be.

Along with this, there is now more control for the Pie and Donut charts with regards to the label positions in terms of where they will be positioned.

As with the line and bar visuals where you can format the measure labels, this now is also available for the Combo charts, which means that you can now format them individually for better control in terms of how they are viewed.

And finally, they have added more rows when configuring the Mobile Phone reports. It has gone from being 20 rows long to 40 rows long.

Custom Visuals

There is now a new Organizational Chart which can be used to view your data.

There is a new China Heat Map visual which will allow to view your data in China with a heatmap

Modeling

As shown in the initial image, there now is the ability to sort, and filter your data in the data view. This is a great improvement and something that I have already been using quite a bit.

It is also good to see that it has very similar functionality in terms of what you get in the Power Query Editor, where you can not only select the items, but search for items as well as advanced filters based on the data type.

If you have a different locale, there is now improved support for locale in both the Power BI Desktop and the Power BI Service.

Data Connectivity

There has been a lot of work put into the SAP BusinessWarehouse connector, where there have been improvements to the following:

  • Improved performance
  • Ability to retrieve several million rows of data, and fine tuning through the batch size parameter
  • Ability to switch execution modes
  • Support for compressed mode, which is especially beneficial for high-latency connections or large datasets
  • Improved detection of Date variables
  • [Experimental] Expose Date (ABAP type DATS) and Time (ABAP type TIMS) dimensions as dates and times respectively, instead of text values.
  • Better exception handling, so errors that occur in SAP BAPI calls are now surfaced.
  • Column folding in BasXml and BasXmlGzip modes. For example, if the generated MDX query retrieves 40 columns but the current selection only needs 10, this request will be passed onto the server to retrieve a smaller dataset.

The Spark connector now supports Windows Authentication

There has also been a lot of updates to the OData V4 connector, where it has improved support for complex data types. There is also now Open type navigation which supports extra navigation properties. Improved support for Custom URLs. Significant performance improvements. And greater resilience when loading data, where it will first try query folding, and if that fails it will then try with less query folding until it succeeds.

On the ODBC connector there has been improvements where if your underlying data source supports the TOP operator, it will then fold that down to the data source. As well as if the underlying DSN connects to a catalog, this will be shown in the Power Query Editor, so that you can select the required catalog.

And finally, there is an update if your account has been provisioned in more than one National Cloud, when signing up you can select which cloud you want to use.

All the blog post details, as well as the video by Amanda can be found here: Power BI Desktop June Feature Summary

Power BI – Subscribe others to Email Subscription

You now can subscribe other users in your organization to email subscriptions, so that they do not have to do it themselves.

I know this is something that I personally have been waiting for and so happy that it is finally here!

The only thing to note is that if your Reports or Dashboards are in a standard App Workspace, you can only subscribe other users who have a Power BI Pro license.

Whilst if your reports or dashboards are in a Premium Workspace, you can the subscribe any users, security groups or distributions lists regardless of whether the user is a Pro user or not. This is because in a Premium App Workspace you can share your reports with a free or pro Power BI User.

All the details on the blog post are here: Subscribe others to email subscriptions in Power BI

Power BI – Developer Community Update

You can now set the background colour when you embed your Power BI Application into an application, where there is extra space.

Now when you load your Power BI report in an application you have the option to load it on a specific Bookmark, so that the users can see the report in the bookmarked state.

There is now an easier and faster experience to set up and embedding environment for Power BI Embedded. This process now means that you can create the Application and upload a PBIX directly as part of the embedding creation.

And finally, there is a new Sample Application from Ted Pattison, which is on GitHub and shows the basics to embed a report. This is something that I am certainly going to look into (when I get a gap).

You can find the blog post details here: Power BI Developer Community May Update

Power BI – Mobile & Service Update

PIC

As you can see below there have been a lot of updates to the Power BI Mobile App and Service, which have already been covered in previous blog posts by Microsoft. Here is the list below, with hyperlinks if you want to get more details.

The only one that was new to me was the updated workflow invite for B2B reports, which is great to see that the experience is easier to complete.

Using the Power BI API with PowerShell scripts – Refreshing your dataset

I know when I started trying to use the Power BI APIs, I was unsure of what I was doing, and how I could get it working.

Not only that, but I could see that as with building any cloud platform the APIs have to be there before they can put the skin on and make it easy to use.

There is always new features or functionality that is available via the Power BI APIs.

In this series of Blog posts, I am going to show how you can use additional features in Power BI by using the API and PowerShell.

Let me start by saying that I am no coding or scripting expert.

My goal in this blog post, is to show that using the PowerShell scripts can be fairly easy, once someone (me, choose ME) has shown you how to put in the required details.

Example

As always, I like to use an example, which I find makes it easier to follow.

In this example, I am going to be using the Power BI Refresh API to refresh a dataset using PowerShell.

My dataset will be “Fourmoo Google Analytics”

Getting the details required for the PowerShell Script

I got the details on how to refresh a Power BI Dataset from the following location below. Here it explains what the Power BI API expects to receive in order to refresh the dataset.

https://msdn.microsoft.com/en-us/library/mt784652.aspx

I then downloaded the PowerShell Script from here: HTTP

Would you believe that there are only 3 pieces of information required in order to update the PowerShell Script and get it running?

Below I will explain how to get this data and put it onto the PowerShell Script

Registering for a ClientID

The first step I had to do was to register for a ClientID

  • To do this I went to the following URL:
  • https://dev.powerbi.com/apps
  • If I was not logged in I would be prompted to log in with my Power BI Account.
  • I put in the following below in order to get the ClientID that I need in my PowerShell script.
  • I then clicked on Register App
  • Once that completes I then got my ClientID
    • It will be displayed in the ClientID section below, which I then copied and pasted and stored in a secure location.

GroupID

NOTE: Group is what it was called in Power BI before it was changed to App Workspaces. So when anything refers to Group, it is actually now referring to an App Workspace.

This is the Group where your dataset currently is in.

To find the GroupID you can complete the following steps below.

  • Log into the Power BI Service, and then I went to the App Workspace where I have the dataset that I want to refresh.
  • In my example I went into the “Site Analytics” Workspace
  • Then in the URL you will see that it will say groups, and the section immediately after that is the GroupID
    • As you can see above my GroupID starts with 0084
    • Make a note of the GroupID

DatasetID

Next is where I needed to find the Dataset ID, which I show in the steps below.

  • I made sure I was already in my Site Analytics App Workspace.
  • Then I clicked on Settings and then Settings and then Settings again
  • I then clicked on Datasets, and then clicked on the dataset that I want to refresh.
    • As in my example it was called “Fourmoo Google Analytics”
  • Now in the URL I now had my DatasetID which is which is after datasets, and highlighted as shown below.
  • I then made a note of the DatasetID

Updating the PowerShell Script

Now I am ready to update the PowerShell script with the details I got from above.

NOTE: The PowerShell script does have a lot of documentation in it, so if you get lost there is a lot of comments to assist you.

  • I opened the PowerShell ISE
  • I then opened my PowerShell script.
  • Now where it says $groupID I put in my GroupID that I had noted earlier.
  • Then where it said $datasetID, I put in my DatasetID that I had noted earlier.
  • The final piece is to put in the $clientID, which I had noted earlier
  • Then I saved the PowerShell Script file

Testing the PowerShell script and my dataset refresh

The final step is to now run the PowerShell script, ensure that it runs, and my dataset actually gets refreshed.

  • As you can see my last refresh is shown below
  • I then run the PowerShell Script.
  • I got a prompt asking for the App Permissions
    • I clicked Accept
  • Then I got the following result showing it was successfully executed
  • I could now see that it was In progress
  • And finally, it was successfully refreshed.

Conclusion

Whilst this has been a bit of a longer blog post, I do hope that you can see that if you follow the steps how you can leverage the Power BI APIs for your datasets.

I do plan on doing additional blog posts on the different Power BI APIs. If there are any that you are interested in, please leave a comment below.

And as I say in every blog post, please leave any comments or questions.

Link to the PowerShell Script here: ManageRefresh.ps1

BI-RoundUp – Power BI (Help Improve Power BI – Gateway Update for May)

Fortunately, there has not been a lot of activity in the Power BI space, which gives me a chance to catch up on some reading (Beginning DAX with Power BI  by Phil Seamark) and to have a bit of a rest.

Here are the updates for this week.

Help Improve Power BI

The Power BI Team has a survey out, in which they ask some questions to better understand how people use Power BI. There are also some sections where you can put in your own comments and help improve Power BI.

You can find the blog post here: Help Improve Power BI

Gateway Update for May

The monthly update for the On-Premise Data Gateway is here. And in this month’s update there are updates to Single Sign On (SSO) for Impala and SAP Hana.

As well as the Mashup Engine has been updated to match the May version of Power BI Desktop

All the details are here: On-premises data gateway May update is now available

Power Query Pattern – Adding Spaces in Text within your data with Camel Case

In this week’s blog post, I created this Power Query Pattern, which I created to add in spaces for CamelCase text within a column.

To get this to work for you, all that you do is need to make one change to the code.

Below is what the data looked like

Then I created the following Power Query Pattern below.

#"TRANSFORM - Camel Case" =
Table.TransformColumns(
#"Removed Columns3",
{{"Operation",
each Text.Combine(Splitter.SplitTextByPositions(Text.PositionOfAny(_, {"A".."Z"},2)) (_), " "), type text}})

 

  • To use this pattern below are the following changes that you will need to make it work in your Power Query Editor
  • Line 1
    • This is my step name
  • Line 2
    • This is where I am using the Table.TransformColumns
    • NOTE: Even though this does appear to only be used for transforming columns, it works for data within a column.
  • Line 3
    • This is referring to the previous step name, which is returning the table contents
  • Line 4
    • This is my column name where I want to add in the spaces. As with my image above the column was named “Operation”
    • NOTE: This is the only part of the pattern that needs to be changed.
  • Line 5

What I did to get this to work is I was in my Power Query Editor Window

I then clicked on Advanced Editor in the Home ribbon

I then added this step into my code as shown below.

I then clicked on Done

I went back to my column and I could now see the data with the spaces after each capital word

Conclusion

As you can see I have demonstrated how Powerful Power Query (see the multiple use of Power!) is to get the data in the shape that you require.

If you have any suggestions or comments please let me know.

BI-RoundUp – Power BI (Dashboard Theming – Incremental Refresh)

Another week has flown by and there are once again more Power BI Updates, which I really enjoy. But at the same time there is so much content and blog posts that at times it is a bit of a struggle to keep up with what everyone is doing. And with all of that I am still really enjoying being in this space.

Power BI – Dashboard Theming

As you can see in the image above, you now can theme your dashboard. I think the key difference here is that even though you could theme your report there was no parity between the dashboard and the reports.

Well now this is no longer the challenge. Not only can you select default themes or colouring, but you can also customize different areas of the dashboard. As well as put in a background image, which could even be a GIF!

All the blog post details are here: Announcing Dashboard Theming in the Power BI Service

Power BI – Incremental Refresh

As you can see above there is a blog post with a video from Guy in a Cube in which he talks to Christian Wade and how incremental refresh works.

I highly recommend if you are looking to use incremental refresh to watch the video. They go into some detail about how to configure and use incremental refresh.

Not only that but in the blog post they announce some upcoming features,

  • The first of which I am very excited about incremental refresh in the shared capacity.
  • There were also be the functionality to update the meta data for your data which will not invoke a full refresh of the data.
  • Increased data sizes based on your capacity size.
  • Override the effective date, which means that you could set it to another date, especially if your data is loaded at a later time and not every day.
  • XMLA end points will be enabled, which means that you can connect to your Power BI Incremental refresh dataset with SSMS (SQL Server Management Studio) which will enable you to do things you can currently do with Azure Analysis Services or SSAS (SQL Server Analysis Services) Tabular 2017. For example, run scripts to refresh certain partitions.

You can find all the details here: Incremental refresh in Power BI Premium

Power Query – Renaming Multiple Columns

I was working on a dataset where I wanted to change multiple column names using one step and not having to change them manually. Since there were over 30 columns this would be really time consuming.

Below I detail how to complete this in the Power Query Editor, which will replace all the column names for me in one step.

This once again shows how powerful the Power Query Editor can be for ETL and automation tasks!

  • This is what the Original Column names looked like
  • To get this working, I had to go into the Advanced Editor and manually add a step.
  • Here is the Syntax that I added with my Step Name

    #”Rename Column Names” = Table.TransformColumnNames(#”Changed Type”, (columnName as text) as text => Text.Replace(columnName, “Sales – “, “”))

  • As you can see above my previous step name was called #”Changed Type”
  • Then the only other change I had to make was for the Text.Replace and what I was searching for and what I wanted to replace it with.
    • With this example I was looking for “Sales – “, “”
      • As you can see I searched for Sales – and replaced with “” (which is blank).
  • And this is what it looked like after manually adding in the above step.

As I have shown above a quick and easy way to rename multiple columns at once.

You can find the sample file here: Renaming Multiple Columns.pbix

As with every blog post if there are any comments or suggestions please leave them in the section below.

BI-RoundUp – Power BI (Power BI Update May 2018 – Custom Visuals in Excel – Service & Mobile Update – ArcGIS Online & Plus Subscriptions )

Here is my weekly BI-RoundUp and it is great to see that the monthly update for Power BI is here, as well as some other details of the new items.

Power BI – Update for May 2018

As always here are the updates for Power BI

Reporting

As shown above the first item is that you now can have conditional formatting based on another measure.

As well as having the colors for fonts also be on another measure. This means that you could have a color scale on an item for the measure and another set of rules for the Font color.

Along with that when looking for the alternate measure to use, you can search for the measure which is very handy.

There now is an update to Synch slicers where you can now create a group which will you to control how those groups are synced. You can also put slicers from different fields into one group

There have been improvements to the Log axis to make it consistent.

There have also been data label options updates for Funnel charts where you can now get additional options in order to view more label data

You can now also change the stroke width for line charts and combo charts, so that as shown below if you are using markers you can have them appear to be sitting in mid air, but in reality the stroke width is set to zero

Analytics

There has been a great update to the Drill Through feature, where now you have the option to take all the filters on your source page and pass them through to your drill through page. And you easily have the option to decide how you would like it to work.

Not only that you can also use measures as part of the drill through. If you do use measures it will automatically pass through all the filters from your source page.

Power BI Premium

If you have Power BI Premium, you now can use incremental refresh to only refresh your latest data. This is a great improvement in that if you have a large dataset you no longer need to refresh the entire dataset every day. You can easily configure it with a Date/Time Start and End Range. After which in the dialog for the table you can then configure how long you want to store all your data. And then what part of your data you would like to be incrementally refreshed.

Custom Visuals

There is the collage custom visual

And a Chinese Color Map

Data Connectivity

The biggest update is to the Web Connector from Examples, which now allows you to get data from a website that is potentially not stored in a table.

This allows you to type in some text for an item that you are looking for that is repeated, and Power BI will then find that item and extract the data you are looking for. This is insane!

The following connectors have either been created or updated

  • Common Data Service for Apps connector (beta)
  • Azure KustoDB connector
  • Google BigQuery and Azure HDInsight Spark connectors now generally available
  • Adobe Analytics connector update – Support for multiple domain logins (preview)
  • Visual Studio Team Services connector update – Analytics views support
  • OLE DB connector update – Support for alternate Windows credentials
  • SAP BW DirectQuery connector updates – Improved technical name support

Data Preparation

There has been an update to the Column from examples where you can now combine values from multiple columns to derive your new column

Here are all the details for the entire blog post: Power BI Desktop May Feature Summary

Excel – Custom Visuals

This is a big change and movement for Excel users. I know that having the option to not only import custom visuals, but to also develop them for a company’s exact requirements is super cool and enables them to view their data with the requirements.

Along with this it also means that there is the capability to create a Custom Visual once which can then be leveraged in Power BI or Excel.

You can read all about it here: Excel announces new data visualization capabilities with Power BI custom visuals

Power BI – Service & Mobile Update

There have been some updates to the Power BI Service with regards to Audit logs are now on by default. Which is great as this can assist with viewing who is using the reports, as well as how they are being used.

The On-Premise Data Gateway now has support in the personal version for Custom data Connectors, which is going to add tremendous value to Power BI.

In the mobile app you can now drill up and drill down. And there is a demo showing how the Power BI Mixed reality app might be applied in an organization.

The blog post details are here: Power BI Service and Mobile April Feature Summary

Power BI – ArcGIS Online & Plus Subscriptions

There now are the two new capabilities using ArcGIS maps.

The first is support for secure reference layers hosted in ArcGIS Online. And the second is the new organizational purchase of Plus subscriptions for ArcGIS Maps for Power BI.

What the above is it allows you to access additional ArcGIS functionality once you have signed in with your ArcGIS account.

If your organization uses an Organizational purchase of ArcGIS this can also be now used within Power BI.

There are a lot more details in the blog post which you can find here: Esri ArcGIS Online and Plus subscription organizational purchase are now available for ArcGIS Maps for Power BI

DAX – Concatenating Values only when values are selected

What I am doing with the DAX below is to only show the concatenation of values if a value is filtered. If nothing is filtered (Selected) then display text to show that nothing has been selected, otherwise display in a concatenation what has been selected.

NOTE: If you individually have to select each item, it is still being filtered so it will show all the values concatenated.

Selected User =
VAR ConCat =
    CALCULATE (
        CONCATENATEX (
            VALUES ( 'Power BI Audit Log'[User] ),
            'Power BI Audit Log'[User],
            ","
        )
    )
VAR IsItFiltered =
    IF ( ISFILTERED ( 'Power BI Audit Log'[User] ), ConCat, "No Users Selected" )
RETURN
    IsItFiltered

 

  • What is happening above with the Variable called “ConCat” is where I am concatenating the items from the ‘PowerBI Audit Log’ table and using the [User] column.
  • Then in the next Variable called “IsItFiltered” I am using the IF and ISFILTERED DAX function to evaluate if the [User] column is being filtered.
    • If it is being filtered then return the previous Variable called “ConCat” otherwise return “No Users Selected”
  • And the final piece is where I am returning the output from the IsItFiltered Variable
  • This is what it looks like when No users are selected
  • And then when two users are selected

As always if there are any questions please leave them in the comments below.

BI-RoundUp – Power BI (On-Premise Gateway Update – Developer Community Update)

Here is this week’s BI-RoundUp. I am hopeful that by this time next week the latest version of Power BI Desktop will be released!

Power BI – On-Premise Gateway Update

By far the biggest news is the capability to use Custom Data Connectors in the Personal Versions of the On-Premise Data Gateway. The Power BI Team did indicate in the blog post that support in the Enterprise version will be coming in a few months. This is fantastic to see it being made available.

There now is single sign on support using Kerberos for SAP Business Warehouse Server

And finally, there is the updated version of the Mashup Engine to the April version of Power BI Desktop

Here is a link to the blog post: On-premises data gateway April update is now available

Power BI – Developer Community Update

As you can see above for the Developer community update there now is the capability to leverage Custom Report Tooltips and the Q&A explorer.

There is now also new Azure Resource Metrics which allows for better metrics to understand how your Power BI Embedded application is working with the following metrics.

  • It will show Memory usage being used
  • It will show when there is Memory Thrashing, which is defined as when a report is trying to be run, and it needs to evict another dataset in order for your dataset to be loaded into memory. And this only applies to imported datasets.
  • It will show QPU High Utilization which shows the Query Processing units every minute on your resources when it is about 80%

There is now the capability to set up alerts on your Azure resource.

Finally, there is a new learning channel to create custom visuals with a hands-on lab.

All the details of the blog post are here: Power BI Developer community April update