Author Archives: Rory Neary

Step by step guide to creating Power Platform Solution Aware Power BI reports using Dataverse

Power BI Solution Aware components

Microsoft have recently introduced the ability to create Solution Aware Power BI Reports inside Dataverse. In this post I’m going to show you all the steps needed for this to happen, including the gotchas.

Below is a table of contents and if you’re feeling confident head to the “Let’s build” section.

End to End video tutorial

This video take you through all the steps needed to create your solution.


Why is this important for Power BI in the Power Platform?

Until now we’ve never had the ability to do this before, and Power BI reports have had an uncomfortable relationship with Power Platform solutions. Essentially, we’ve not been able to create full Power Platform solutions with fully spoorted reporting options.

The Application Management Life-Cycle Value Proposition

A great many Dataverse projects have reporting as a key element in enabling users to better understand the nature and quality of the data held within the system in its totality. Power BI is an excellent tool for this analysis, and until these recent developments it has been necessary to create reporting separate to the Power Platform solution.

This is problematic as there is effectively a disconnect between the reporting and the data being reported on and effectively an increased IT management burden.

By making Solution Aware Power BI reports we make our application management life-cycle much simpler.

What are Power Platform solutions?

Solutions are collections of those tables, apps, flows and a multitude of other Dataverse products that make up a product. Below is a very simple solution and the elements that need to be changed or added are highlighted.

We can see that we have a dataset and a report and we will set these up later on.

Solution Aware Power BI Reports

What does it all look like?

We’re going to use the Account table, and once you are done you’ll have created

  1. A dedicated workspace for your reporting, tied to Power Apps
  2. A report that points at the data in the environment and refreshes accordingly
  3. A solution that contains the dataset and the report (see below)

You’ll have a solution that finally is fully complete, inclusive of reporting similar to the one shown below.

Development pre-requisites

In order to be able to create a solution aware Power BI component the following are required :-

  1. Power BI Pro License
  2. Power Apps Per User License
  3. A Power BI report that has been written and configured to connect to Dataverse using parameters
  4. A Dataverse Environment in the SAME REGION as Power BI for your tenant

Is it easy?

I’d suggest that all the elements are straightforward, but taken together it will feel complex. Core elements are

  • Writing a Power BI report with parameters that define the location of the source data. Many are unfamiliar with using Power BI parameters at all.

Below is an image of us using the parameter in Power BI Power Query

  • Updating the environments so that Power BI can extract the parameters

  • Be very careful of the gotchas below

Are there any gotchas?

There are some, but once you know them you’re fine. They are as follows :-

  • A Power Apps environment in the SAME REGION as Power BI for your tenant.

  • Associating the report parameter with the solution report is fiddly, but in the end makes sense

Let’s build!

Setup checks

Confirm that your Power Platform environment is in the same region as Power BI.

Environment configuration

We’ll need to make sure that the Power Platform environment is “aware” of Power BI.

Go to https://admin.powerplatform.microsoft.com/environments select your environment. Select Dynamics 365 Apps below. Head to

Search for Power BI Extensions, and install – takes about 10 minutes

Create a simple solution

You can create a simple solution for yourself inside the environment. My preference is to do this and connect it to the Account entity and build a simple model driven app to go with it. At this point it will look as show below, but without the dataset and report

Create and publish a report

Shucks – this is fiddly, so best for us to look at creating a simple report. Key features are that it is tied to Dataverse and the environment domain is created using a parameter.

VIDEO REQUIRED HERE

Note : We can publish to ANY POWER BI WORKSPACE at this stage

Introducing the report into the solution

This is the cool bit, but relatively simple. Add the report you’ve just created as shown below.

Associating the dataset with the report parameters

But you’re not done yet. The report doesn’t know about the parameters yet. For this to work we’ll need to edit the parameters.

You’ll need to create a parameter and associate it with the current domain. Note – it is possible to associate it with an environment variable, which would be relevant it you are using non-dataverse data sources.

Publishing all your changes

In line with normal practice I would publish my customizations by heading to All as show below.

Viewing the report in the new Power BI workspace

This is super simple. Go to the report and Open in Power BI

I’ve created a very simple report here, however this should be seen as the start point for future development work.

Editing the report

Initially I was confused as to how this would work, however you simply need to take your original PBIX file, edit it and publish it up to the newly created workspace (not the temporary one we used earlier).

How to refresh the report

Initially, when the report is published to the cloud it won’t be set up to referesh. Just go to the workspace, find the dataset

One you’re there head to data source credentials and sign in.

Final thoughts

Initially, I found the process pretty confusing, but as I’ve gone through thisng I ‘ve found that the decisions that they have taken have been both clever and logical. It’s worth noting that this is in preview at the moment, but my view would be that they are reasonably close to having the finished user experience for creating solution aware Power BI reports using Dataverse

Microsoft Resources

Below is a consumable resource describing some, but not all the elements needed to allow a user to create Solution Aware Power BI Reports.

You can also find the Microsoft documentation on this topic here.

Power BI URL Filters made easy

Did you know that you can add Power BI URL filters into a web address to take you to a precise page, filtered in the way that you require? It is a little tricky, but definitely worth considering if you have a data story to tell.

It really becomes something compelling when we use what we have learned and combine it with some Power Apps magic, and then the possibilities really open up for us.

Table of contents

  • The tale of Leicester City Football Club
  • Downloadabale content to help you write your own Power BI URL Filters
  • Power BI Base URL – Standard
  • Adding a pageName to our base embedded url
  • Filtering your Power BI Report
  • Embedding Power BI Inside Power Apps
  • Filter Operators for creating complex URLs

The tale of Leicester City Football Club

Down below we have the story of how Leicester City avoided relegation and went on to win the Premier League in the following season. In this case I’ve created a Power App to tell my story.

Power BI Filters in Action

Content to help you write your own Power BI URL Filters

If you would like to play along with this post you’ll need to download the following file, and then upload it to the Power BI service. It’s a simple Power BI report which looks at various metrics associated with Netflix Originals productions.

The data was taken from kaggle and can be found here.

Netflix Originals to be Analysed using Power BI URL Filters

The Basics of Power BI URLs

Let’s start at the the most basic level and consider the “base urls” – these are the urls that come before we add all the additional filters.

Power BI Base URL – Standard

A typical URL looks as follows :

Lets unpack this a little

groups = the workspaceid for the location of the report. This will be 36 characters long

reports = the id of the report in question. Again – 36 characters long.

ReportSection = the id of the page that you are trying to access. Every Power BI report has 1 page called ReportSection – the first page, but every other page will look a bit more like the following ReportSectionc33aa21606003eda9841 these points become important later on as we use these principles when creating embedded URLs, we just switch things around a little bit.

https://app.powerbi.com/groups/e4b1a177-e65c-4193-8742-cda70a21ce88/reports/787a839b-dec4-4e26-a063-be49fcf18879/ReportSectionc33aa21606003eda9841

Standard URL example. We could send this to a colleague.

Power BI Base URL – Embedded

Base URLs for Embedded reports are effectively the same, with a few additional tweaks. The reason we use these is because they allow us to surface the report elsewhere.

The easiest way of getting to an embed link is to go to File->Embed Report->Website or Porta.

How to get a Power BI Embed Link

Once you’ve done this you’ll get a very long link. Delete EVERYTHING after AutoAuth=true
It will look something like this

https://app.powerbi.com/reportEmbed?reportId=787a839b-dec4-4e26-a063-be49fcf18879&autoAuth=true

Embedded example

Adding a pageName to our base embedded url

The pageName is effectively the name of the tab on which you would like the user to land. If you do not specify this you will land on the page that the author last saved the report on.

https://app.powerbi.com/reportEmbed?reportId=787a839b-dec4-4e26-a063-be49fcf18879&autoAuth=true&filterPanelEnabled=False&pageName=ReportSectionc33aa21606003eda9841

In this case the page we are heading to is ReportSectionc33aa21606003eda9841 (our landing page)

Using our Embedded URL in SharePoint

We can use our embed url this in many ways. One good one is using SharePoint.

To so you simply need to go to your site where you are a site owner and click to edit the site

Power BI Editing a Sharepoint Site for Power BI URL Filters
Editing the site

Hover over so that you can add an element

Power BI Embedding in Sharepoint or Power BI URL Filters
Adding an element

Select to add an embed

Adding a Sharepoint Embed Element for Power BI URL Filters
Adding a Sharepoint Embed Element

Then you can add your Power BI Embed URL from above

Adding your Power BI Embedded URL
Adding your Power BI Embedded URL

Filtering you Power BI URL

The following won’t work within Sharepoint as it is not permitted within the service. It will however work in Power Apps.

The act of adding Power BI URL Filters is relatively straightforward. Anyting after the ? in the URL and we can add &$filter=YourTableName/YourField to begin to apply filters this is CASE SENSITIVE and if you don’t observe this your filter won’t work.

An example of this is as follows

&$filter=Netflix/Genre in (‘Documentary’,’Drama’)

Quite often if you are in the Power BI service you can edit your app and you’ll be able to see all your tables and fields.

The full URL in this case is as follows

https://app.powerbi.com/reportEmbed?reportId=787a839b-dec4-4e26-a063-be49fcf18879&autoAuth=true&filterPanelEnabled=False&pageName=ReportSectionc33aa21606003eda9841&$filter=Netflix/Genre in (‘Documentary’,’Drama’)

Embedding Power BI Inside Power Apps

This is is a really great experience and in this case it’s a far better story told in video for. This 7 minutes could change your life 🙂

How to embed Power BI inside Power Apps

Filter Operators for creating complex URLs

Understanding the operators is a key part of understandiing how to create complex URLs

operatordefinitionstringnumberDateExample
andandyesyesyesproduct/price le 200 and price gt 3.5
eqequalsyesyesyesAddress/City eq ‘Redmond’
nenot equalyesyesyesAddress/City ne ‘London’
gegreater than or equalnoyesyesproduct/price ge 10
gtgreater thannoyesyesproduct/price gt 20

Table/Date gt 2019-05-20
leless than or equalnoyesyesproduct/price le 100

Table/Date lt 2019-05-20
ltless thannoyesyesproduct/price lt 20
in**includingyesyesyesStudent/Age in (27, 29)

Address/City in (‘Redmond’,’London’)

** When using in, the values to the right of in can be a comma-separated list enclosed in parentheses, or a single expression that returns a collection.

https://docs.microsoft.com/en-us/power-bi/collaborate-share/service-url-filters

Chaining Filters Together

All we need to do to chain them together is to add “and” to each filter that we are trying to apply

https://app.powerbi.com/reportEmbed?reportId=7b7be7f1-7b69-4fdd-948d-d524ec80d0b5&autoAuth=true&pageName=ReportSection&filter=BreedSelector/Breed in (‘Cocker Spaniel’) and PuppyFinder/Town in (‘London’)

The and expression has been added to add more filters

Special characters in table and column names

Special characters and spaces in table and column names require some additional formatting. When your query contains spaces, dashes, or other non-ASCII characters, prefix those special characters with an escape code starting with an underscore and an X (_x), then the four-digit Unicode, then another underscore. If the Unicode is fewer than four characters, you need to pad it with zeroes. Here are some examples.

IdentifierUnicodeCoding for Power BI
Table NameSpace is 0x20Table_x0020_Name
Column@Number@ is 0x40Column_x0040_Number
[Column][ is 0x005B ] is 0x005Dx005B_Column_x005D
Column+Plus+ is 0x2BColumn_x002B_Plus
taken directly from Microsoft Docs
Step by step guide to creating Power Platform Solution Aware Power BI reports using Dataverse
Microsoft have recently introduced the ability to create Solution Aware Power BI …
Launching Power Apps in Full Screen 4 Simple Steps
How to LAUNCH POWER APPS IN FULL SCREEN
6 Simple Steps to building successful business Power Apps
How to build business power apps
The UP Podcast Joins the Power Platform Hall of Fame
Find out More about the Microsoft Up Podcast

6 Simple Steps to building successful business Power Apps

photo of people doing handshakes

This post indicates a series of steps that you can take to give you chance of creating better apps for your business users. Essentially, if you follow them through you’re more likely to get them right first time.

Building Business Power Apps isn’t always easy

There are lots of reasons why building business apps can be tricky, any much of this centers around not doing the right thing at the right time.

It’s for this reason that I’ve put together a series of videos covering the various topics.

This is part of a series of videos that cover App Building Steps.

During this series you’ll learn about

✅ Agile Development — https://youtu.be/OtH38Z9peqU Out Now🎉

✅ Writing user stories — https://youtu.be/0MjrWp_Xrdw Wednesday 7th July

✅ Process Wireframes — https://youtu.be/UJzSXacYL6s Thursday 8th July

✅ Data Modelling — https://youtu.be/gJLCas5BHow Friday 9th July

✅ Theming Considerations — https://youtu.be/GdKckw3Zxds Saturday 10th July

✅ UX Wireframes — https://youtu.be/RCmsB8PYMMk Sunday 11th July

✅ Final wrap up https://youtu.be/82c0Hu1fynI Monday 12th July

It forms part of the free course that you can find here at https://powerplatformlearn.newzenler.com/courses/power-apps

Let’s start with video number 1, where I introduce the topic as a whole

✅ Agile Development — Out Now🎉

✅ Writing user stories — https://youtu.be/0MjrWp_Xrdw Wednesday 7th July

✅ Process Wireframes — https://youtu.be/UJzSXacYL6s Thursday 8th July

✅ Data Modelling — https://youtu.be/gJLCas5BHow Friday 9th July

✅ Theming Considerations — https://youtu.be/GdKckw3Zxds Saturday 10th July

✅ UX Wireframes — https://youtu.be/RCmsB8PYMMk Sunday 11th July

✅ Final wrap up https://youtu.be/82c0Hu1fynI Monday 12th July


Good luck with building business Power Apps!

Power Apps from Zero to Hero course

I’ve created a very comprehensive course that covers everything that I know about Power Apps

Sign up for the course if you want

✅ 300 lessons on Power Apps

✅ Tracked progress

✅ 250+ demos

✅ Access to live webinars

✅ Chat with the instructor

You can find out more about the course here and you can sign up here

Links

blog http://www.powerplatformlearn.com

The UP Podcast Joins the Power Platform Hall of Fame

The Up Podcast Logo

Introducing the Up Podcast

I’ve been quietly putting together a “best of the best” list of Power Platform content from around the globe. Today I’m focussing on the UP Podcast and why I like it.

Great Content

The UP podcast focusses on Microsoft Technologies, was launched in 2020 and is proving extremely popular (at least in my house”).

The Power Platform Hall of Fame

Find out more here https://powerplatformlearn.newzenler.com/courses/power-platform-hall-of-fame/contents/60d57cfd6a945

The UP Podcast

1999 students building awesome apps

1999 Students www.powerplatformlearn.academy

Today is a day for Pride. I feel proud today as the course I have laboured on for almost 12 months has nearly 2000 students.

I’m proud that I even started a Power Apps course on a platform that means a great deal to me, I mean, like what right do I even have to teach people? I’m proud of the fact that I spent 6 weeks considering the structure before recording a single video and then started creating a course that stretches out to 250+ lessons, and then gave it away for free.

My amazing and committed students

Most of all though I am proud of the all the students that have decided that they want to take the time to learn their craft properly.

I’m thankful too!

As well as that I am thankful to every person that has signed up for the course and to those that have provided me with counsel to make it the best that it can be.

I’m also thankful to my wife and family for putting up with me making my recordings and turning off the boiler so that the sound wasn’t disturbed (and then wondering why there was no hot water)

a romantic setting in the bathroom
Motivation

I started out with a simple idea, that I might be able to create something of use to someone, some individual person who wanted to do more for themselves and their organisation.
I still believe that if it is worth a single person travelling through the course, then it is worth 10,000 following the same path.

Students Young and Old(er)

This is very much the beginning for so many people, from those that start aged 6 using http://www.PowerApps4Kids.com through to those that are 60 and beyond. This is Paul Burns talking to Dona Sarkar at Ignite 2021 about his app he created to help him to write again after a stroke – the sky really is the limit.

Pride http://www.powerplatformlearn.com

Here’s a link to the interview. https://youtu.be/Bha8qs4wB_8?t=35802

I cannot wait to see what you, what we will all build over the months and years to come.

If you’d like to come and join us click on the link below

Good luck everyone,

Keep Power Apping

Rebuilding the 3 Screen Power App with ease from Blank in 45 minutes

Rebuilding the 3 screen Power App

You can rebuild a 3 Screen Power App in about 3 minutes with 1 click. But how would you build it from scratch? I this video we take a simple spreadsheet, upload it to sharepoint and build out the app from scratch. It’s easy, but not as easy as you think 🙂


Like this sort of thing? Head over to http://www.powerplatformlearn.academy

Power Fx Patch is easy – Day 8 alternatives to patch and series close

Alternatives to Power Fx Patch

Today’s learning on Patch is to demonstrate that sometimes we don’t have to use Patch at all, and that Forms can be created in a way that gives the control of positioning the objects, but “performance” of submitting of forms

This is the last day in the series on Patch, so I’ve provided links to all the sessions down below.

An Alternative to Patch

The technique is relatively straightforward to execute.

  • Create all your controls, text inputs etc and place them wherever you wish onto the canvas
  • Create a form tied to your data source
  • Connect the outputs of your controls on your canvas to your form inputs so that the default is the value in your forms
  • Create a button on your canvas
  • In the OnSelect of the button use the following formula
NewForm(Form1);SubmitForm(Form1)

You can now hide the form.

There are some points to note from this technique:-

  • You would need to put a little more effort into your “on canvas” controls to ensure that if you had a gallery their defaults would be correctly set. This is no different to what would be the case with the experience when patching
  • Troubleshooting submission issues is easier than with Patch
  • You have more options around controlling the behaviour of the input s
How to get to the course content

Check out this post to confirm how to sign up for the course.

https://powerplatformlearn.com/2021/02/14/7-days-of-power-apps-patch/

If you’ve signed up for the course you can head directly to the video here.

https://www.powerplatformlearn.academy/courses/microsoft-power-apps-from-zero-to-hero/contents/60157a2130eb2

Check out the other posts in this series

Patching to Multiple Records


Patching to Person Fields
Lookup and choice fields

Date and time fields
Power Automate and Yes/No fields
Editing Items and working with Text and Numeric fields
Introduction, JSON and Patching your first Item

Power Fx Patch is easy – Day 7 updating multiple Items

Patch Forall Mutliple Items Power Fx

Today’s learning on Patch is important as it relates to using a Patch statement to create multiple items. This is a MAJOR difference between Forms and Patch as Forms cannot perform this operation.

Structure for Patching to a Multiple items using Power Fx

The basic structure for patching multiple items is as follows – where CityXL is a data source within our app, and Cities is a table within Dataverse (Common Data Service). In this case the field names are completely aligned between the spreadsheet table field and the database fields, which is why they repeat themselves :-

ForAll(CityXL,
Patch(Cities,Defaults(Cities),{Name:City,Population:Population,Country:Country,Latitude:Latitude,Longitude:Longitude}))

If you’d like the download then see below:-

How to use a person field in Power Apps
How to get to the course content

If you’ve signed up for the course you can head directly to the video here.

https://www.powerplatformlearn.academy/courses/microsoft-power-apps-from-zero-to-hero/contents/6015778bd0f15

Check out this post to confirm how to sign up for the course.

https://powerplatformlearn.com/2021/02/14/7-days-of-power-apps-patch/

Check out the other posts in this series

Patching to Person Fields

https://powerplatformlearn.com/2021/02/28/power-apps-patch-is-easy-day-6-person-fields/

Lookup and choice fields


https://powerplatformlearn.com/2021/02/24/7-days-of-power-apps-patch-day-5-lookup-and-choice-fields/


Date and time fields


https://powerplatformlearn.com/2021/02/19/7-days-of-power-apps-patch-day-4/

Power Automate and Yes/No fields


https://powerplatformlearn.com/2021/02/17/7-days-of-power-apps-patch-day-3/

Editing Items and working with Text and Numeric fields


https://powerplatformlearn.com/2021/02/16/7-days-of-power-apps-patch-day-2/

Introduction, JSON and Patching your first Item


https://powerplatformlearn.com/2021/02/16/7-days-of-power-apps-patch-day-1/

live build : make a mars rover Power app using dataverse for Teams : 17th March 6pm

Mars Rover Perseverence

The Mars Rover “Perseverence” landed on Mars on 18th February 2021 and in the live session coming up we’re going to use Power Platform tech to create a slideshow of images to music.

Build from Blank

We going to build an app from blank which will allow us to create a cool slideshow to music, all about the Mars Rover.  
If you have teams you can do all the things we cover whilst we are together
During the session we will
– Create a Team
– Create a data table
– Create a Power App
– Create a Cloud Flow
– Populate a table using audiene submissions in Microsoft Forms

Registration

When : 17 March 2021 Wednesday, 5:55 PM GMT

Register for the site here
https://powerplatformlearn.newzenler.com/register

Then book a spot here

https://powerplatformlearn.newzenler.com/live-class/mars-rover-app/register

Hope to see you there,

Rory Neary MVP MCT ACA

Twitter: @azurerory
LinkedIn – leave a message if you would like to connect: https://www.linkedin.com/in/roryneary/  

https://www.powerplatformlearn.academy

« Older Entries