DAX Measure – Getting Difference between 2 values in a table

I had a requirement where the customer wanted the difference between 2 values in a table.

The challenge here was that because the values are already part of the table, I had to find a way to get the unique value for each item. This would then allow me to calculate each value separately and then calculate the difference.

This is what the final output looked like, and below is the DAX measure that I created to get the difference.

As my good friend Matt always says break it down into smaller parts to solve the puzzle. In this instance I know that I needed to have two measures, where one would be filtered for the first year and the second one would be filtered to the last year.

Difference between Years = 
VAR AllYears =
    CALCULATE (
        CONCATENATEX (
            VALUES ( 'Table1'[Year] ),
            'Table1'[Year] ,
            ","
        )
    )
VAR FirstYear =
    RIGHT ( AllYears, 4 )
VAR LastYear =
    LEFT ( AllYears, 4 )
VAR FirstYearAmount =
    CALCULATE (
        [Sales],
        'Table1'[Year] =  FirstYear 
    )
VAR LastYearAmount =
    CALCULATE (
        [Sales],
        'Table1'[Year] = LastYear 
    )
RETURN    FirstYearAmount – LastYearAmount

Here is the explanation of my measure

  • Lines 2 – 9
    • I am getting a concatenated list of all the years that are selected separated by the comma
    • EG: For 2017 and 2018 it is returning the following.
  • Lines 10 – 11
    • This is where I am getting the first year from my concatenated list of years
  • Lines 12 – 13
    • This is where I am getting the last year from my concatenated list of years
  • Lines 14 – 18
    • This is where I am creating my measure which will be for the first-year amount
  • Lines 19 – 23
    • This is where I am creating my measure which will be for the last-year amount
  • Lines 24
    • This allowed me now to subtract one measure from the other.
    • And return the final result

This will currently work, if multiple years are selected it will always select the first and last year from the entire selection.

As always, I hope that you enjoyed this blog, and if you got another way to get the same result I would be interested in hearing about it in the comments below.

Power BI InfoGraphic Update – Sep 2018

It has been a few months since I have updated my Power BI InfoGraphic and with the speed at which this all changes and updates I have always had a challenge to keep it up to date.

The following items have been added with links to more details:

Please find below the latest version as at September 2018. I always also keep the latest version of the InfoGraphic here: Power BI InfoGraphic Overview

You are welcome to share this infographic with anyone, as long as the author is given credit for the creation.

If there is anything missing or needs to be updated, please leave it in the comments section below.

BI-RoundUp – Power BI (Service & Mobile Update for July & August 2018 – User Research Panel – On-Premise Gateway Update for Sep – Webinar on Power BI Dashboard Comments)

Here is this weekly BI-RoundUp where I will detail what updates there have been in the past week.

Power BI – Service & Mobile Update for July & August 2018

In the past two months there has been a lot of updates to the Power BI Service and the Power BI Mobile App. All the details are below with links as per the blog post.

I am not going to go into any detail, due to it already been covered before, or it is the relevant links below.

DAX – Getting the Start Date of the following Week

I was recently doing some work for a customer where they wanted to compare their date to the start date of the following week. They also had a requirement to persist the data to the dataset.

I thought that this would be a good challenge to use DAX with a calculated column. I most certainly could do this using the Power Query Editor and M, but I always like to see if it is possible when it is a smaller and easier DAX calculation.

Below is the DAX to get the Start date for the following week

'Date'[Date] - WEEKDAY('Date'[Date],2)+8

As you can see below, as each week goes on, I have got the start date for the following week for each day of the current week.

If I wanted to change it and use the starting date of the current week and use it for all dates for the current week, I could change it with the following DAX calculation

'Date'[Date] - WEEKDAY('Date'[Date],2)+1

As always if there are any comments or suggestions please leave them in the comments section below.

BI-RoundUp – Power BI (Sep Update for Power BI Desktop – Dashboard Comments – Community Contribution to PowerShell Cmdlets – Power BI PowerShell Cmdlets available in Azure Cloud Shell)

Welcome to another week of my Power BI Round Up. And as expected there is another massive Power BI Desktop Update.

Power BI – September Update for Power BI Desktop

As always I am going to over the new features and highlight what I think is really relevant in terms of what has been released.

Reporting

With the added support for categorical fields on the X-Axis this now makes the scatter charts more flexible.


As shown above there now is the capability to be able to copy a single value, which will copy the value in its unformatted form, which could be used to put into a search of another application.

Whilst when using the Copy selection feature, it will copy everything that you have highlighted in your table or matrix. And when pasting this, it will keep the column headers as well as the formatting options which you can then paste into Excel or another program. This is really a great piece of functionality which makes it easier when certain data needs to be copied into another system.

There are now some built in report theme’s which are great for those people who just want to move from the default colours, but do not want to create their own custom themes.

Report Page Tooltips are now generally available meaning that you will not have to enable it as a preview feature.

Along with that as shown above there is now report page tooltips available for Cards.

There have also been additional improvements for accessibility in the formatting pane, making it easier to navigate, as well as when using the screen reader there is more support.

Analytics

This is a really big, BIG one having the ability to have aggregated tables in your data model. What this means is that you can have a highly aggregated table of your data which might answer 60 – 70% of the queries. When the queries are run they will use the data in the aggregated table, which in turn results in exceptionally super-fast query response times. And if it does not hit the aggregated table it will then go down to the source table, which could be imported or using Direct Query mode, which means then that the entire data model is actually very small but very fast.

There is a lot more to this, so I suggest reading up the documentation that is included in the blog post. But this is something that I have been waiting for and cannot wait to try it out and get it working.

Finally there is now support for RLS with Q&A, this means if you have had a dataset that has had Row Level Security (RLS) previously you could not use Q&A. This has now been fixed and Q&A is available which is awesome.

Data Connectivity

As shown above there is a new connector where you can connect to PDF files and it will attempt to extract table data from your PDF files.

There is now support for the SAP BW Connector measure properties

There is a new connector called dataflows which will soon be in limited preview which will allow users to connect to an existing data flow.

Data Preparation

As per my first image, and above, there is now Intellisense when going into the Advanced Editor in the Power Query Editor. This is so awesome. There have been so many times in the past when I have not known which M function to use. As well as having syntax errors, and a lot of that pain is now gone with having Intellisense.

The add columns from examples now supports text padding your data, as shown above you can pad the text with zeros for data where you want them all to have the same length.

It is interesting to see that right at the end of the blog post they highlighted that they are working on being able to copy visuals between PBIX files. How cool is that??

You can find all the blog post details here: Power BI Desktop September 2018 Feature Summary

Power BI – Dashboard Comments

This was announced at the Microsoft Business Applications Summit and it is great to see that you now can add comments to Power BI Dashboards, as well as individual tiles on the dashboard.

It is also great that you can tag people in the comments, which will then send an email or send a push notification to the Power BI Android and IOS Mobile App.

At the end of the blog post, they also indicated that this will be coming to the reports, so stay tuned.

You can find all the details here: Announcing Dashboard Comments in Power BI: Your new hub to discuss data and collaborate with others

Power BI – Community Contribution to the PowerShell Cmdlets

This is the first contribution from the Power BI Community which adds to the existing Power BI PowerShell management cmdlets. Where Kenichiro Nakamura has added functionality to work with datasets, tables and columns.

You can find a lot more detail in the blog post: Celebrating our first community contribution to the Power BI management cmdlets

Power BI – PowerShell Cmdlets available in Azure Cloud Shell

What this means is you can now use the Azure Cloud Shell to run the Power BI PowerShell Cmdlets. This also means that there is no need to try install and configure the required PowerShell modules, because this is all maintained in the Azure Cloud Shell.

I would suggest looking into the storage options because depending on how much storage you need, if you have an existing Azure Subscription this could be a very good option.

You can find more details on how the Azure Cloud Shell works, as well as the blog post details here: Power BI Management cmdlets in Azure Cloud Shell

What runs under the cover when I open Power BI Desktop

I am always interested in what happens under the covers when I open Power BI Desktop. So I did a little digging and I got the inspiration from Macro Russo when he did his Webinar as well as presented at the Queensland Power BI User Group on “My Power BI report is slow: what should I do?”

What happens when I click on Power BI Desktop.exe?

This is the list of associated processes that are opened when Power BI Desktop is started, which I will explain what they are below.

This is what it looks like for me when I am running Windows 10 and I have a look in the Task Manager under Processes

  • CefSharp.BrowserSubprocess
    • Because Power BI Desktop runs in the Power BI Service, which is essentially a website and all the visuals are rendered in a browser.
    • My understanding is that within Power BI Desktop it is simulating how it will run the Power BI Service.
    • As per Marco’s Webinar, if this consumes a lot of memory or CPU this is potentially why your Power BI Report is slow.
  • Console Windows Host
    • UPDATE (06 Sep 2018) – I got a reply from Amanda Cofsky from the Microsoft Power BI team, who said that the Console Windows Host is the “Analysis Services Engine Console Output”, which is generally used by the Microsoft Engineers for debugging purposes.
  • Microsoft Mashup Evaluation Container
    • This is the Power Query Engine.
    • This is responsible for processing all the steps in the Power Query Editor. Which gets data from my sources, transforms it and then loads it into my data model.
    • When I look at a Server where I have got the On-Premise Data Gateway installed I will see a lot of instances of the Microsoft Mashup Evaluation Container running. This is because this is where my data gets loaded and transformed into tables before sending to the Power BI Service.
    • This is the executable which is the starting point and container for all the processes that are run within Power BI Desktop.
    • This is where all the magic happens, it is an analytical data engine which leverages In-Memory technology to achieve incredible compression using the X-Velocity Engine and blazing fast query response times by loading all the data into memory.
    • This is where all the data gets loaded from Power Query into the data model.
    • This process can have the highest memory usage.
    • If I have an expensive DAX measure which must get most of its data from the storage engine I will see an increase in memory utilization and CPU during the evaluation and running of the DAX measure. Which once again as per Marco’s Webinar is a great indicator as to why my Power BI Report is slow.

I hope that this has given you some insights into what runs under the cover in Power BI Desktop and that there are quite a few moving parts that work together seamlessly to make the report creation and development experience so seamless and fast when developing Power BI Reports.

As always if there are any questions or you have more details and insights into the details above, please let me know and I will happily update the details in this blog post.

Thanks for reading!

BI-RoundUp – Power BI (Report Server Update – Aug 2018 – Ask a Question Generally Available – URL Filter Improvements – Python Episode 1 – Multi-Geo Support for Power BI Embedded)

Here is the weekly roundup, and as always the Power BI team has been very busy over their summer releasing some incredible features.

Power BI – Report Server Update Aug 2018

I am not going to go through all of the updates to the Power BI Report Server, due to almost all of the functionality already being released in Power BI Desktop and the Power BI Service.

What I will say is that there is a lot of new features that have been released. And as at the time of the release it almost has parity with the August release of Power BI Desktop. This is once again an incredible effort by the Power BI team to get this all out.

Below are all the updates with links to the specific sections, and if you do use Power BI Report Server, I would suggest reading through the blog post.

 

REPORTING

BI-RoundUp – Power BI (Desktop Release for August – New App Workspace Experience – Power BI World Tour) – Analysis Services (White Paper for AS Scalability)

Here is my weekly BI-RoundUp, and as I thought when I started putting this together yesterday that there would be a release of Power BI Desktop, which there is and not only that an updated App Workspace experience!

Enjoy the read!

Power BI – Desktop Release for August


Well that was pretty quick to get another release of Power BI Desktop. And I am sure that the release of Power BI Desktop will go back to the normal cadence of the first week of the month. With that being said let’s get into this month’s updates.

Reporting

You can now export your report pages to PDF currently only in Power BI Desktop. The Export to PDF will only export the visible pages. Currently wall papers or background images are currently not supported. This is some great functionality for those people who want to take the contents of a report and email it, or possibly print it out for a meeting or for customers.

Bookmark groups are now available, which allows you to group specific bookmarks together into a logical area. It is easy to create and allows you to group it based on your requirements such as organisational bookmarks or specific bookmarks relating to a certain subject. You can start from a bookmark group which will only play the bookmarks in that group. By starting with the default view, it will play through all the bookmarks.

Theming is now generally available, so you no longer have to enable it in the Preview Settings.

Using the List Slicer, there is now an option to Filter restatement which is similar to the restatement in the drop-down slicer.

Analytics

You can now use conditional formatting by values. What this means is that if your value has got the name of a colour or a HEX code the background color or font color can be formatted to use the values in that column. This means that you can use any color you need based on your data. Not only that but you do not have to manually add each color. The colors can be part of your dataset or DAX measure.

If you use Python scripts, this is now available in Power BI. You can import your script in the Power Query Editor and then use Python visuals in your reports. Whilst the visuals will render, and change based on other visuals in your report, currently the Python visual is NOT interactive.

Q&A is now generally available which means that you do not have to go and enable it in the Preview settings. There has also been an update to the matching experience in Power BI Desktop and Power BI Premium which will allow for better results when using Q&A

Modeling

You can now add data categories for measures in the form of Image or Web URLs. This will allow you to create a dynamic URL that can then be used to go through to another Power BI report with the filter applied within the URL.

The really exciting part of using a measure with a Web URL is that it will you will be able to render SVG images as shown above, based on your data and show it as sparklines or bar charts.

As shown above there are a whole host of new DAX Statistical functions.

There are a whole lot of new and interesting Custom Visuals which are part of the blog post.

The Spark connector is now Generally available.

A sneak peak of what is coming next month is having the expand and collapse buttons for tables and matrix. And updates to the scatter chart visual which will have the ability to use the categorical axis

All the details can be found here: Power BI Desktop August 2018 Feature Summary

Power BI – New App Workspace Experience

This blog post from the Power BI Team has got a lot of content, so I am going to highlight some of the new features in the new App Workspace Experience.

  • No longer will it rely of Office 365 Groups for the creation of an App Workspace.
  • You will be able to manage access from security groups, distribution lists and multiple existing Office 365 Groups.
  • New additional roles to manage access and permissions to the App Workspace.
    • Admin Role, Member Role, Contributor Role and Viewer Role
  • New Admin API which will give all the details of the new App Workspace details.
  • Associate a workspace to a OneDrive for Business

It is interesting to note that the new App Workspaces will not be brining across Content Packs. With that being said the Power BI Team is still working to bring across the full parity from Content Packs to Apps.

There also will be a migration plan to migrate all existing App Workspaces to the new App Workspaces which will be available at General Availability.

The detailed blog post can be found here: Enable your team with new workspace experiences (preview)

Power BI – Power BI World Tour

The Power BI World Tour will be coming to a city near you. Please see the link below with more details on which cities it will be happening in, as well as other event details.

I am very fortunate to be attending the Power BI World Tour in Sydney where I will be presenting 2 sessions Common Power BI Challenges and How to Overcome Them and My Power BI Report Has Hit The Size Limit, Now What?

I attended last year, and it was a great event, so if you can make it I would highly recommend it.

Here is the link to more details: 2018 Power BI World Tour – Powered by Your Local User Group

Analysis Services – White Paper for AS Scalability

To be honest I have already this white paper which is only 11 pages long, but it contains a lot of really useful and insightful information.

I always enjoy reading these white papers and I always learn something new. And this time it was to sort the dimensional tables by Surrogate Key (SK) to ensure that the engine will use Value Encoding.

I suggest reading through this because the same engine is used in Power BI Desktop, so you can apply the same techniques to your Power BI Model.

The White Paper Link is here: Whitepaper on modeling for AS tabular scalability

Convert from Seconds to Minutes with a DAX Measure

I was recently doing some consulting work for a customer and they had a column which contained seconds and whilst this is useful it is better to have it shown as Minutes and Seconds, which is easier to relate and compare.

Below I will show you how I came up with the DAX measure which converts it from seconds to minutes, and I will be using my Parkrun sample dataset. As shown below I have a table which shows the total seconds

Below is my DAX measure with an explanation on how I got to the measure

Secs to Mins = 
VAR TimeSecs =
    SUM ( 'ParkRun'[Total Seconds] )+1
VAR TimeMins =
    DIVIDE ( TimeSecs, 60 )
VAR JustSeconds =
    TimeMins - TRUNC ( TimeMins )
VAR JustMinutes =
    TimeMins - JustSeconds    
VAR JustSecondsInTime = JustSeconds * 60
VAR MySeconds2 =
    IF ( JustSecondsInTime < 10, FORMAT ( "0" & JustSecondsInTime, "00" ), JustSecondsInTime )
RETURN VALUE ( JustMinutes  & "." & LEFT ( MySeconds2, 2 ) )
  • Line 1
    • This is where I created the measure with a name
  • Lines 2 – 3
    • This is where I am summing up all the Total Seconds
  • Lines 4 – 5
    • I am creating a variable called TimeMins and then dividing the seconds by 60 to get the minutes.
  • Line 6 – 7
    • I am creating a variable called JustSeconds, and I am using the TRUN DAX function, so that this returns the remainder of the variable TimeMins, which is currently stored as a decimal.
    • NOTE: The above means that the remainder is stored as decimal point out of 100. So if the remainder is 0.50 that translates to 30 seconds. Which is shown below.
  • Line 8 – 9
    • I am creating a variable called JustMinutes, where all that I want is the Minutes, so I do this by subtracting the TimeMins from JustSeconds
  • Line 10
    • I am creating a variable called JustSecondsInTime, and what I am doing is converting the seconds from a decimal value back to time.
    • What this means is that if the decimal value was 0.50, the variable JustSecondsInTime will be converted to 0.30 which represents 30 seconds.
  • Line 11 – 12
    • I am creating a variable called MySeconds2, and what I am doing here is to ensure that if it is less than 10 seconds to add in a zero before the second number. This is so that it will be displayed as expected.
    • As shown below you can see where the seconds are less than 10 it is displaying correctly.
    • When looking at the image above it does appear that the seconds is not being displayed correctly. This will be resolved in the next step below.
  • Line 13 – 14
    • Now I am closing off the variable section to return the measure.
    • I begin with the DAX function called VALUE, this is because I want my DAX to be a measure in my model.
    • I then put in my variable called JustMinutes which is the minutes from the seconds that I defined in lines 8 & 9
    • Next, I put in a dot “.” This is to ensure that the VALUE will still work because it expects a value in the format of 99.22
      • If I had to change it from a dot to the colon the VALUE function would return an error.
    • I get the seconds to display correctly by using the DAX function LEFT ( MySeconds2, 2 )
      • What I am doing here is using the LEFT DAX Function to get the first 2 values starting from the left hand side. Which results in displaying the seconds

Now when I take my measure and put it into a table I get the Minutes and seconds displaying as expected.

I found that I really had to use the DAX variables to get this pattern to work as expected. With all the screenshots above, I changed the return function to the particular DAX variable that I was working on to ensure that it was returning the value that I was expecting.

If you have any questions or comments please leave them in the section below. I do hope that you found this useful.

Review of new Features coming to Power BI by Oct 2018 – From Business Applications Summit

I was fortunate to attend my first ever Business Applications Summit in Seattle.

I had the pleasure of sharing an Airbnb with Matt Allington, Phil Seamark and Miguel Escobar, it was great to spend time with these Power BI Legends. I also did meet a lot of people and got to chat with people in the Microsoft Power BI team, which was something I will always remember.

I also was fortunate to present 2 sessions (Unfortunately Reza and Leila could not make it) at the Business Applications Summit, both sessions went well, and the feedback was positive.

Ok, so enough about me, let me get onto ALL the new features that are planned to be coming to Power BI until October 2018.

One thing I can say is that I am SUPER excited with the new proposed features that are coming, it is most definitely going to make Power BI the go to BI tool going forward.

Along with this it is also growing up, and by that, I mean more enterprise features are coming, which means that it soon will be able to be implemented into a smaller organisation or a fortune 500 company.

Personally, I cannot wait to learn all the new features and start to implement them at customers. One caveat is I am certain that some features might take a bit longer to get into the service or could possibly change.

NOTE: This might be a bit of a longer post, so buckle up, here is the link to where I got a lot of the information: Overview of Business Intelligence October ’18 release

Other Features not mentioned in any of the notes

Below are some of the other features that I did not find in the release notes but there were some demo’s or pictures.

Print to PDF

As you can see above, coming to Power BI will be the ability to print to PDF which will look exactly like your Power BI report.

Display Folders – Multiple selection settings

As you can see above there is the ability to be able to set multiple measures or columns into a Display Folder.

Not only that but you will also be able to complete the settings over multiple columns.

And something not in this picture is the capability to see multiple data source views if you have hundreds of tables to make the data modelling experience easier.

Python Support

As you can see above there is Python Support coming to Power BI!

Personal Bookmarks

As shown above, there will be personal bookmarks coming to Power BI

Power BI Desktop

Below are all the Power BI Desktop upcoming features

Ad-Hoc Data Exploration

What this will be a user who does not have edit access to a report will be able to look at a chart on a different axis or change the chart type which could be more meaningful to the user.

It will be used with an option to choose a report and select “Explore from here”

Aggregations

This is a big change for Power BI where there the underlying data is a really large dataset that is stored in Spark or a SQL Server database. When connecting with DirectQuery you will be able to define aggregations which will cache just the aggregated data into memory into your model.

This will allow to have a dual mode so that if the query can be answered by the aggregated cache that will be used, and if not, it will then query the underlying DirectQuery source.

Composite Models (Available Now)

What Composite Models allow you to do, is to allow you to have data in one Power BI Desktop file where you are getting data from DirectQuery and imported data sources.

This is an amazing feature and I know something that a lot of people have been asking for.

With this you also now by default will have all relationships set to Many:Many.

As with the details it is always suggested to ensure that your DirectQuery source has been tuned and has the capacity to be able to answer the queries from your users to ensure that the users get the super-fast reporting experience.

Currently the Composite Models do not support LiveConnection sources which only relates to SQL Server Analysis Services (SSAS) Multi-dimensional or Tabular.

Copy data from table and matrix visuals

Coming to Power BI Desktop and the Power BI Service once implemented will be the ability to be to copy data from a matrix or table into another application.

Custom Fonts

You will soon be able to use any fonts that you want in your Power BI reports. All that will be required to work is that the same font will need to be installed on their computer in order for them to see it. If they do not have it installed it will fall back to the default font.

Expand / Collapse in Matrix Visual

As shown below you can see the upcoming option to expand or collapse rows in a matrix visual. There also was the indication that they want to bring more pivot table features from Excel to Power BI.

Expression-based formatting

What Expression based formatting is, is where by using DAX you will be able to format almost anything in your Power BI report. The potential is to use expression-based formatting for the following below and possibly more that I cannot think of

  • Titles of Visuals
  • Line widths of visuals
  • KPIs based colours

From what I did see, there will be an fx button next to almost everything in the visual properties and elsewhere.

Q&A Telemetry Pipeline

This will allow access to the Q&A telemetry to see what the users are using Q&A for, which will allow you to further customize your Q&A Linguistic settings. The data will first be scrubbed for PII data.

Dashboard and Report wallpapers

Coming to both the Power BI Dashboards and reports will be the ability to use wall papers to cover the grey area behind your reports.

Show measures as clickable URLS

As you can see above you will be able to create a link, with a measure so that this can dynamically link to a Power BI Report to any other application which you can access via a URL

Theming over report level and visual container styles

There will be a theming update coming to both report level and visual containers in Power BI. From what I understood it would be similar to the theming that you can currently do in Power Point.

New Power Query Capabilities

There are a whole host of Power Query Updates as detailed below.

Intellisense support for the M formula language

Intellisense will be coming to the advanced editor in Power Query. This is something that I know a lot of people have been asking for. Not only that by Power Query will be coming to Microsoft Flow also.

Smart Data Prep

There are smart data preparation coming to Power Query, with the following initial features below.

  • Data extraction from semi-structured sources like PDF files.
    • This is something a lot of people have been asking for and I have seen it in action and it is awesome, where it can take data out of tables in a PDF and extract it into Power Query.
  • HTML pages.
    • A smarter experience to understand what details you want from an HTML Page.
  • Fuzzy-matching algorithms to rationalize and normalize data based on similarity patterns.
    • This is where it will try and match data based on your columns, to try and guess what the value should be when say the data is miss spelled.
  • Data profiling capabilities.
    • As you can see from the above image, there will be data profiling which will enable you to have a look and see if the data is as expected.
    • An example is if you know that your Customer Number should only be 5 characters long, with the data profiling you will be able to see if it is meeting your criteria.

Power Query Community Website

As with Power BI, there will be a Power Query Website launching later this year.

Certified Custom Connectors

There will be certified custom connectors which will be available to be plugged into Power Query. As part of this process the custom connectors will be certified Currently there are no additional details on how this process will be completed, but no doubt it will explained as time goes on.

Power BI Service

Below are all the updates to the Power BI Service.

Power BI Home

Power BI Home is a new place for users to start their Power BI Journey with the following sections.

  • The Top section will contain the users most important dashboards and reports.
  • The second section will contain their favourite items, as well as most frequently accessed reports and dashboards.
  • Whilst the bottom section will include learning resources.
  • And on the top right-hand side will be a global search where you will be able to search for any item that you have access to in the Power BI Service.

Paginated / SQL Server Reporting Services Reports

As you can see above SSRS or Paginated reports will be coming to the Power BI Service. Not only that but it will also print them out pixel perfect.

Workspaces with Azure AD groups

As you can see above, App Workspaces will be using Azure AD Groups and not dependant on Office 365 groups. You will still be able to add permissions from Office 365 groups, but it will no longer be dependent on Office 365

Data Flows – (Formerly called CDS-A, then Data Pools, now Data Flows)

It started out being called CDS-A, then Data Pools, and now the final name according to the great people in the Microsoft Power BI Team is Data Flows. As previously described this is where you will be able to use Power Query Online to ingest data from anywhere and store them in Entities.

All the data will be stored in an Azure Data Lake Gen2, Pro license getting 10GB per user and Premium will get 100TB per P1 node), which will give you the additional capabilities to be able to let the data scientists in your organisation access the data directly from the Azure Data Lake. You will also be able to bring your own storage within your existing Azure investments.

I think that having the Data Flow will enable organisations to be able to have a single source of truth for their data assets, that can then be leveraged by the entire organisation.

What I do know from attending Miguel Llopis session is that the same runtime that is running in the Power BI Desktop will be running in the Power Query Online in the Data Flows. So that will mean you can use Power Query within Power BI Desktop to get the data in the shape that you want. Then you can go into the Advanced Editor and Copy and paste the data into Power Query Online.

Below is a rough overview of what it looks like

Data Flows Refresh

Not only will you be able to bring data in with data flows, you will also be able to refresh data with incremental refresh which will be a Power BI Premium Feature

Admin APIs

Admin APIs have come to the Power BI Service, which will allow an Admin of the tenant to be able to discover all the artefacts in his Power BI tenant.

This is great for large implementations, because up until now you had to have access to the App Workspace in order to be able to view the data. Now by being an Admin, you will see everything, which is the standard Admin capabilities.

Additional report URL parameter support

Additional report URL parameters will include filters for Date columns, new operators ” < , > , <= , >=” and multiple field values

Commenting in Dashboards and Reports

As shown above there will be the ability to comment on Dashboards and reports.

Not only that but you can include people using the @ which will then send them a notification.

Along with this you can also add comments to a specific visual, which will give great context to comments

Dataset metadata translations

If you have defined translations in the dataset or Analysis Services model, the user will see it in the locale.

Filters for Report Sharing

You will be able to share reports to users with the current filters and slicers in place for when they view the report.

Historical Capacity Metrics

If you have got Power BI Premium capacity, there will be a historical view which will allow you to see what affects performance or refreshes and queries. And see which datasets consume the most memory and make changes or plan accordingly.

Multi-Geo for Compliance

This will be where data must reside in a certain country, where a company operates around the globe. And will ensure that the data can be located in any of the Azure Data Centres, even though the initial Power BI tenant might be located elsewhere.

Not only that but in a future release this can also be used for performance by having the Power BI Premium located closer to the users.

Azure Analysis Services / Analysis Services Tabular

Below are some of the new features coming to SSAS in Azure or On-Premise in Tabular

XMLA endpoint for third-party client connectivity and lifecycle management

By opening the XMLA endpoint for Power BI, any current tool that can connect to SSAS via XMLA will also work with Power BI Desktop. Which means that some of the following tools would work immediately once the XMLA is opened.

  • SQL Server Management Studio
  • BISM
  • Excel

Not only that but you will also be able to use the TOM and TMSL in order to manage and modify configuration settings or items within your Power BI Model.

Application Lifecycle Management

As you can see above there will be the capability to be able to have full Application Lifecycle Management ALM in Power BI Desktop, Azure Analysis Services. This is a great step forward because it gives you the following capabilities

  • Source Control
  • Deployment of specific items
  • Deployments to Dev, Test and Prod
  • Potential to share parts of the data model.

Analysis Services vNext

As shown above this was Christian Wade from the Analysis Services team showing the following potential features coming to Power BI and Analysis Services.

  • Calculation Groups
  • Many-Many relationships
  • Resource Governance
    • Is Available in MDX
    • Query Memory Limitations
    • Rowset Serialization Limits
  • Data Connectivity
    • New Power Query Enterprise Data sources for Spark, Amazon RedShift, IBM DB2, Google BigQuery and Azure KustoDB

On-Premise Data Gateway Updates


There have been a lot of advancements in the On-Premise Data Gateway, with the latest release including Support for Custom Data Connectors in the Enterprise version of the On-Premise Data Gateway.

Below is a list of features coming to the On-Premise Data Gateway

  • Gateway multi-geo support for Power BI Premium
    • With the release of multi Geo Support for Power BI, this will also be enabled in the On-Premise Data Gateway
  • Guarantee high availability of gateways via clustering
    • Better support and visibility for Gateways in a Cluster
  • Improved support for Single Sign On and SAML
  • Improved data source settings experience
    • Here there will be the ability to skip the testing of the connection.
    • Rename data sources.
    • Create multiple data sources with different credentials
  • Tenant level administration of on-premises data gateway
    • This will allow the ability for tenant administrators to manage All On-Premise Data Gateways via the API or GUI
  • Basic traffic load balancing in the on-premises data gateway
    • This will start off with a basic setting to split the traffic requests between Gateways.