Category Archives: Office 365

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
An Introduction to ChatGPT
ChatGPT is coming to a browser near you, and I've been so …
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

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

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

What is Microsoft Power Fx? An easy 10 minute Guide

Microsoft Power FX

Power FX has been around for longer than you think. Since Canvas Apps were first introduced in 2016, it has been possible to create them using the in built expression language. Everyone creating them learned the language simply by investigating the functionality, referring to the Microsoft Documentation and the various YouTube channels, Courses and Blogs that sprung up on the back of it.

At that time Power Automate was called Flow, Power Virtual Agents didn’t exists and Power BI was still in it’s infancy.

What’s different now and why is it important?

The expression language now has been given a name, and the name is Power FX. This is important among other things because content will be a little easier to find, but also because of what it means for the plaform. The future of Power FX is that wherever there exists a part of the Power Platform that doesn’t already have a native language then Power FX will become the go-to language of choice.

What this fundamentally means is that learning this language will become essential to learning the Power Platform.

Power FX is a Part of the Power Platform
Power FX is a Part of the Power Platform
The video version of Events

If you’re into videos, as I am then you may wish to take a look at this as I’ll take you through the same guide, only you don’t have to do quite so much reading!

Learn more about Power FX here!
Closely Related to Excel

The structure of the way in which you work with functions in Power FX is very similar to the way in which you would work with excel. Let’s take a basic If statement in both languages.

Excel:-
=IF(B3="Apples",1,2)
Power Apps:-
if(myDropdown.Selected.Value = "Apples",1,2)

As you can see from a structure perspective there is very little difference between the two of them. In the first instance in Excel we look at cell B3 and if it contains the word “Apples” then we will return a 1, otherwise it’s a 2.

In PowerApps, we’re doing something similar, only we are looking at the selected item in a dropdown. In this case if it reads “Apples” then a 1 is returned, otherwise a 2 will be returned.

As well as the above the ideas around working with text is very similar

Excel:-
="Hello " & "World" returns Hello World

Power FX
"Hello " & "World" returns Hello World

If you look for the functions around text they are almost identical.


No compiling required

There are lots of reasons why Excel is successful, and one of them is because there is no “compile” operation. You enter the formula and then you get an immediate response. Power FX is the same, and this is great as if you make a mistake you get to find out about it straight away.

In the case of Power FX you’ll also have the ability to navigate directly to the error that you’ve made.


Declarative Logic

The concept of declarative Logic and no compiling are closely linked – when you want to find out why an object is of a certain color, or has a particular piece of text showing all you need to do is to go to the object itself, find the relevant property and this will tell you.


Imperative Logic

It is the Imperative Logic in Power Apps and Power FX that really makes it special – essentially this means that we can click on a button and tell it to do something. Examples of Imperative functions are:-

  • Navigate – to move between screens
  • Reset – to reset a control
  • Refresh – to refresh a data source
  • Collect – to push data into an in memory table
  • SubmitForm – to submit a form
  • Patch – to send data to a data source

Dot notation

The dot notation allows us to navigate through the properties of an object. This could be as simple as

Button1.Fill

Which returns to us a color property, which we might want to use elsewhere. But we can extract many many propertties from our objects, and these depend on the object themselves.

Here are some more examples

  • Gallery1.Selected – returns an entire record
  • Gallery1.Selected.Title – returns the value in the Title field
  • TextBox1.Text – returns the text entered into a text box, and this is important as if we wish to make use of it in a patch statement to create a new record then this is the expression that we would need.

Coming to the Power Platform

This is the really BIG news. Power FX won’t be residing only in Power Apps for much longer and the intention of Microsoft is for it to fill areas of the Power Platform where the language is less well developed. At this stage we’re aware that it will be coming to :-

  • Dynamics/Dataverse calculated columns
  • Power Virtual Agents
  • Power Automate
  • Portals
Other languages remain

There are other languages in the Power Platform ecosystem and these are likely to remain as they are. These are

  • DAX – Data Analysis Expressions used in Power BI
  • M, or Power Query – Used for Extract Transform and Load activities
How to Learn More

Aside from going through Microsoft Documentation, the Microsoft Announcement and the various YouTube channels you can dive into this free course. If you already know Power Apps that just fine – you can head to the Module on Objects, or Functions. Roughly 150 of the 200 demos build from blank and have a Power FX element to them.


So what’s next?

We’re now in the watch this space moment and we’ll get more details on how this will roll out. I would expect that the programme in total will be measured in years, however we may see some changes inthe coming months. Overall the message is this – If you want to be successful with the Power Platform then Power FX needs to be in your kitbag.

Good luck!

Power Apps Patch is easy – Day 6 Person fields

Today’s learning on Patch is important as it relates to Person fields which are more similar than you might think. They are highly relevant to Patching to Sharepoint lists as they help us to maintain the ties to related lists.

Structure for Patching to a Person Field

The basic structure for patching to a person field is as follows – where cmbOwner is a combo box where a user is selected:-

Patch(
    List, 
    Defaults(List),
    {
      Title: "New Title Value",  
      Person: {
            Claims: cmbOwner.Selected.Claims,
            Department: cmbOwner.Selected.Department,
            DisplayName: cmbOwner.Selected.DisplayName,
            Email: cmbOwner.Selected.Email,
            JobTitle: cmbOwner.Selected.JobTitle,
            Picture: cmbOwner.Selected.Picture
        }
   }
)
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/6015776063330

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
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/

« Older Entries