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

Power BI Default Slicer Selection

I have recently had some discussions with regards on how to enable the default selection of a slicer which will always keep the slicer selection on the current month.

As is currently stands there is no out of the box way to change the slicer on a selection where it shows the actual date for each day. This is because currently you can only have the selection on a value that does not change at every data refresh.

My proposed solution below is to use a fixed value, which does not change each time the data is refreshed.

I always suggest that it is best practise to complete the fixed value in the Power Query Editor. The reason is twofold.

  • Firstly, it is a lot easier to use the Power Query M functions to get the output you require.
  • Second, it allows for better compression into the data model.

As always, I will use the working example below, where I want my slicer to always select the current month.

  • I already have got a date table created, which is another recommendation to have in every data model, and you can refer to my blog post Power BI – How to Easily Create Dynamic Date Table/Dimension with Fiscal Attributes using Power Query which explains how to create the date table.
  • Next, I create the column with Year-Month with the code below, and the reason for this is because there are 12 months that happen over every year, without having the Year and Month combination it will result in multiple “Current Months”
    Number.ToText( [Calendar Year]) & "-" & Number.ToText( [Calendar Month Number])

     

    • And this is what the column looked like.
  • My next column that I created was to get the current Year-Month combination, which I created with the following code below.
    • NOTE: The code below does appear to be quite long, but based on my blog post, I have parameters for the #”Time Offset in Hours”, this is so that I when the data is being refreshed in the Power BI Service, it will then update correctly and show the correct Year-Month combination.
      Number.ToText(Date.Year(DateTimeZone.FixedLocalNow()+ #duration(0,Number.From(#"Time Offset in Hours"),0,0))) & "-" & Number.ToText(Date.Month(Date.From(DateTimeZone.FixedLocalNow()+ #duration(0,Number.From(#"Time Offset in Hours"),0,0))))

       

    • And this is what the column looked like.
  • The final step in my process is to then create a conditional column to compare the two columns above and where they match it will then be the current month, and when it is not, it is another month.
    • Which results in a column which will then give me a fixed value which says “Current Month”
    • And this then allows me to use this in a slicer, so that every time the data is refreshed the fixed value of “Current Month” does not change, but it will move as time moves.
    • As an option I then removed the previous 2 columns that I used because they are no longer needed.

As always, I am sure that there is more than one way to do that, but for me completing it in each step allows me to view and see that it is working as expected. And then to ensure that I am getting the results I expect.

Comments or suggestions are welcome in the section below.

BI-RoundUp – Power BI (New Monitoring Capabilities for Power BI Premium – Developer Update for August – Webinar on New Power BI Tools)

Welcome to another week of the BI-RoundUp.

Power BI – New Monitoring Capabilities for Power BI Premium

As you can see above there now is an App which you can get for Free from the App Source which will get all your capacity metrics which you can then use to better understand how you and your users are using your Power BI Premium Capacity.

There was also an indication that additional metrics will be added such as Long Running Queries and Query Duration, which is great to see if there are particular queries which could be consuming CPU and memory.

If you are using the A SKU’s for Power BI Premium you can also use the above App to analyse your capacity.

All the details can be found here: New monitoring capabilities for Power BI Premium Capacities

Power BI – Developer Update for August

Power BI Embedded in Azure

As you can see above, there are once again a whole host of great improvements to the Power BI Development story.

There is now Multi-Geo support for ISV’s who require their customers data to be located in their specific regions.

Power BI Embedded is now integrated with Azure Diagnostics, which helps with better diagnosis of resource issues and what is the root cause of these issues.

As per the request from a lot of users, there now is the QPU metric available when using Power BI Embedded.

Embed Capabilities

Now you can create a customized error notification for your end users when your App is embedded, so that the users do not get confused when there is an error.

There is now a more detailed and indicative error message when you are developing your app, which should make the entire development experience that much better.

There is now also a new updated Power BI Embedded playground which is more integrated and shows you how to leverage the JavaScript API

And finally, you can now use the Power BI Rest APIs to integrate with the new App Workspace experience, which is great as it moves away from the tight integration with Office 365 groups

All the blog post details can be found here: Power BI Developer community August update

Power BI – Webinar on new Power BI Tools


Seth and Mike will be hosting a webinar with Chuck Sterling from the Microsoft Power BI Team where they will go through their wonderful tools that they have developed on www.powerbi.tips

I use a fair few of their tools, so this will be a great webinar to watch.

Details can be found here: 9/11 Webinar: New Power BI tools and new templates including a walkthrough of Cool Blue and the layout Purple Haze

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

Persistent Filters (Reset to Default) now works with Custom Visuals in the Power BI Service

I was pleasantly surprised today whilst working on an older Power BI Report which had a few Chiclet slicers, and when I changed the selection of the Chiclet slicer I got the option highlighted “Reset to default”

I was actually so excited that I created this blog post on the way home from work, I simply could not wait until tomorrow!

Now when I hover of the “Rest to default” it now has a different tooltip, which now says:

Previously it said the following below:

I then created a quick report and configured it with my favourite Custom Visuals which are from the Filter Category.

  • Standard Slicer
  • Text Filter
  • Chiclet Slicer
  • Hierarchy Slicer
  • Smart Filter –  NOTE: The smart filter works but appears to not display the value when coming back to the report.

The results were fantastic in that each and every Custom Visual now works with the Persistent Filters.

As always, I really enjoy the comments and suggestions that I get to my blog posts. So please leave them below.

Quick Tip Adding Search to the Default Slicer in my Power BI Report

I always am amazed that there is still so much to learn with Power BI.

This week’s blog post is short and sweet, I am going to demonstrate how to add searching to the Default Slicer in my Power BI Report.

The main reason that I required this, is because currently (14 Aug 2018) the persistent filters only works with the Out of the Box Slicers. I had a requirement to be able to search on my slicer items.

I added my slicer to my report and changed it to be a drop down

It then looked like the following below.

All I had to do to enable the search to work was to click on the ellipses (three buttons, burger dots etc) and click on Search

Now when I click on my Slicer items I get a search option.

I then search for my first name which returns the following below, which allows me to select my name and slice my report by my name.

How awesome is that! It was like finding a nugget of gold for me, something that was there all along, but never thought to use it in this way.

As always if you have any comments or suggestions please leave them in the section below.

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.

BI-RoundUp – Power BI (July Desktop Update – Admin APIs & PowerShell for Power BI – Multi Geo Support for Power BI Premium – Power BI & SharePoint – On-Premise Gateway Update for July – Developer Update for July)

Since the Business Applications Summit there has been a whole host of updates to Power BI, so please find all the details below.

NOTE: This is once again a longer read with just so many updates that have come through. And it is well worth the read.

Power BI – July Desktop Update

As with every month I will highlight the features from the monthly update

Modeling

As shown in the picture above Composite models are now available in Power BI Desktop

What are Composite models? This is where you can combine DirectQuery (All other sources except for SSAS) with data that you have imported into your model (for example an Excel spreadsheet)

This allows you to combine data from DirectQuery with Imported data and it will all work well together. This is really an incredible feature and will allow for a whole host of new data scenario’s.

Along with this there is also now the capability to be able to do a Many:Many relationship, which will apply to all relationships in your composite model.

Reporting

There has been a big improvement to the Visual headers as shown above, now where the visual headers are within the visual. This is compared to the previous iteration where there was a big block above the visual. Not only this, but you can also control which visual aspects you want to be made available.

As shown above there is now the capability to create a Wall Paper which will format the grey area outside your report as shown above.

There has also been a theming update all the visual properties can be formatted through theming.

Shown above, there are now tooltips for Table and Matrix visuals. Not only that but now you can also toggle the switch to have Tooltips per visual in your report. By default they are set to be on.

The Slicer has got some updates for people who require accessibility, can now access the slicer and interact with it via the keyboard and screen reader

The formatting pane has had a revamp and as you can see above, it has had some subtle changes in terms of colouring to make parts easier to get to. As well as better spacing and new toggles to make the formatting experience that much better and easier to use.

There is now stepped line support in line and combo charts. As well as there are additional formatting options that can be used.

People have asked for the ability to be able to toggle data labels for individual series, and this has now been released for combo charts.

Previously when trying to sort items in a visual it was a bit of a challenge to get it done. But with the new updates as shown above, not only are the Sort Desc and Sort Asc separated, but now you can also pick which field you want to sort by.

There is now the ability to find insights through distributions of your data. Not only that but you can select different slicers as shown above with Mod, Low and High. To better understand the distribution of your data.

Custom Visuals

There now are Certified Custom Visuals from the Market place which have to meet code requirements and additional code check by the Power BI Team. You can see from the image above that they have got the blue tick.

There is now additional Organisational Custom Visual settings where the Admin can disable a Custom Visual and the next time the report is viewed, the visual will display as shown above to the end user. Another great Admin capability.

There are a whole host of new Custom Visuals shown below.

Visio Custom Visual

Mapbox Generally Available

Datatext Box

China Scatter Map

Data Connectivity

Direct Query support for IBM DB2 in preview.

There have been improvements to the Web Connector with support for importing multiple custom tables. And the ability to auto complete when specifying values. And the exposure of the Html.Table function in the Query Editor

And finally, the SAP HANA has now got default variables when input controls.

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

Power BI – Admin APIs and PowerShell scripts

Whilst this might not look like the greatest screenshot above, what you now can do is access all Power BI Assets in a tenant. This is really awesome news and something that I have been waiting for quite some time.

As in the blog post it explains how you need to get it configured and then run the PowerShell scripts to get the data you require.

All the blog post details can be found here: Announcing APIs and PowerShell Cmdlets for Power BI Administrators

Power BI – Multi Geo for Power BI Premium

There is a preview release for Power BI Premium when creating it where you can specify where the data will reside. As shown above when selecting the capacity and assigning it to a workspace you can then assign it to a workspace in a specific region.

More details can be found here: Public Preview of Multi-Geo for Power BI Premium

Power BI – SharePoint and the road ahead

The Power BI Team has been looking to improve the integration between Power BI, Power BI Report Server and SharePoint.

Starting with SharePoint 2019 and SharePoint Online the following will be coming:

  • Adding support for all major report types across all platforms. This includes SSRS Reports, Power BI Reports and Excel Workbooks.
  • Recently announced easier ways to leverage CSV and Excel files from SharePoint directly into Power BI.

For Power BI Report Server the following will be coming:

  • Power Pivot Scheduled Refresh for Excel Workbooks.
  • Adding modern authentication support with ADFS (Active Directory Federation Services) / AAD (Azure Active Directory)

You can find the details here: Power BI and SharePoint – the road ahead

Power BI – On-Premise Data Gateway Update for July

The update for the On-Premise Data Gateway for July includes the following:

  • Public preview for the Custom Data Connectors in the Enterprise Gateway.
  • Request distribution of data queries across all gateways in a cluster.
  • Support for Single Sign On (SSO) for Spark in the Power BI Service.
  • Diagnostic check to see if the On-Premise Data Gateway can access all the ports required to work successfully.
  • It now includes the July version of the Mashup Engine.

All the details and more can be found here: On-premises data gateway July update is now available

Power BI – Developer Update for July

Below are the Developer updates for July:

  • Ability to programmatically control the visual headers for specific visuals, which is now also available in Power BI Desktop.
  • New Developer Center under the learning in the Power BI website which is a one stop location for users looking to develop solutions using Power BI
  • Power BI Embedded is now available in the China Cloud.
  • There have been some updates to the Custom Visuals to allow High Contrast mode Support for accessibility options.
  • Source code available for the following Microsoft Custom Visuals.
    • Heat Stream
    • Card Browser
    • Text Filter
    • Timeline StoryTeller

The details for this blog post can be found here: Power BI Developer community July update