Launching Power Apps in Full Screen 4 Simple Steps

Wouldn’t it be nice to be able to launch Power Apps so that it appear in Full Screen? Just your app, with nothing else around it. It’s super simple and here’s how you do it.
Read moreWouldn’t it be nice to be able to launch Power Apps so that it appear in Full Screen? Just your app, with nothing else around it. It’s super simple and here’s how you do it.
Read moreDid 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.
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.
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.
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.
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.
Standard URL example. We could send this to a colleague.
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.
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
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.
In this case the page we are heading to is ReportSectionc33aa21606003eda9841 (our landing page)
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
Hover over so that you can add an element
Select to add an embed
Then you can add your Power BI Embed URL from above
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’)
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 🙂
Understanding the operators is a key part of understandiing how to create complex URLs
operator | definition | string | number | Date | Example |
---|---|---|---|---|---|
and | and | yes | yes | yes | product/price le 200 and price gt 3.5 |
eq | equals | yes | yes | yes | Address/City eq ‘Redmond’ |
ne | not equal | yes | yes | yes | Address/City ne ‘London’ |
ge | greater than or equal | no | yes | yes | product/price ge 10 |
gt | greater than | no | yes | yes | product/price gt 20 Table/Date gt 2019-05-20 |
le | less than or equal | no | yes | yes | product/price le 100 Table/Date lt 2019-05-20 |
lt | less than | no | yes | yes | product/price lt 20 |
in** | including | yes | yes | yes | Student/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
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 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.
Identifier | Unicode | Coding for Power BI |
---|---|---|
Table Name | Space is 0x20 | Table_x0020_Name |
Column@Number | @ is 0x40 | Column_x0040_Number |
[Column] | [ is 0x005B ] is 0x005D | x005B_Column_x005D |
Column+Plus | + is 0x2B | Column_x002B_Plus |
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.
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!
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
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.
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.
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)
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.
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.
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
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
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.
The technique is relatively straightforward to execute.
NewForm(Form1);SubmitForm(Form1)
You can now hide the form.
There are some points to note from this technique:-
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.
Patching to Multiple Records
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.
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:-
If you’ve signed up for the course you can head directly to the video here.
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/
https://powerplatformlearn.com/2021/02/28/power-apps-patch-is-easy-day-6-person-fields/
https://powerplatformlearn.com/2021/02/24/7-days-of-power-apps-patch-day-5-lookup-and-choice-fields/
https://powerplatformlearn.com/2021/02/19/7-days-of-power-apps-patch-day-4/
https://powerplatformlearn.com/2021/02/17/7-days-of-power-apps-patch-day-3/
https://powerplatformlearn.com/2021/02/16/7-days-of-power-apps-patch-day-2/
https://powerplatformlearn.com/2021/02/16/7-days-of-power-apps-patch-day-1/
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.
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
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/
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.
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.
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!
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.
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.
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.
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:-
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
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 :-
There are other languages in the Power Platform ecosystem and these are likely to remain as they are. These are
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.
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!
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.
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
}
}
)
If you’ve signed up for the course you can head directly to the video here.
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/
https://powerplatformlearn.com/2021/02/24/7-days-of-power-apps-patch-day-5-lookup-and-choice-fields/
https://powerplatformlearn.com/2021/02/19/7-days-of-power-apps-patch-day-4/
https://powerplatformlearn.com/2021/02/17/7-days-of-power-apps-patch-day-3/
https://powerplatformlearn.com/2021/02/16/7-days-of-power-apps-patch-day-2/
https://powerplatformlearn.com/2021/02/16/7-days-of-power-apps-patch-day-1/