Latest PowerApps update adds the ability to Import/Export apps, a new PowerBI tile control, and the Coalesce function

The newest update for PowerApps (version 670) adds new functionality for app authors to easily move their apps across environments or tenants with packages, surface rich analytics within their apps via the new PowerBI tile control, and reduce duplication of certain expressions with the new Coalesce function. Here are some of the key new capabilities.

The packages are coming!

We’re very happy to announce that this is the last week that you will have to manually move your apps by locally saving .msapp files from your dev/UAT environment and re-saving the apps in your production environment from PowerApps Studio.

As of 08/01/2017, the preview of packaging is now available on web.powerapps.com. With packaging, you will be able to export an app (and any flows or Common Data Service resources that the app depends on) as a package and import it into another environment.

Power BI tile control

The wait is over. PowerApps and Power BI can play together, regardless of who’s hosting! We already showed you how you can embed your app inside a Power BI dashboard. Now with the new Power BI tile control, you can show your Power BI tiles inside your app.

Why is this big news?

Power BI is a powerful analysis and visualization tool. PowerApps is great at enabling people to take action on the web and mobile. Together, now you can build apps that give users great insight and let them act on it right away.

Coalesce function and the Sum of nothing

Do you like to have your cake and eat it too? Would you like to be able to test a value for Blank and still use the value too?

Until now, to replace a Blank value but leave other values unmodified you would use If( IsBlank( My + Very * Very – Long / Expression ), My + Very * Very – Long / Expression, 0 ). This requires the expression to be duplicated, which on this surface isn’t hard (cut and paste) but is tedious and error prone as the two copies can get out of sync. This is a common pattern deserving a better solution.

Enter the handy Coalesce function. With this function, the above can be written as Coalesce( My + Very * Very – Long / Expression, 0 ). Arguments to Coalesce are evaluated in order until the first is found that does not return a Blank, and that becomes the return value of the function. No duplication of expressions required.

We are using this new function to make a backward compatible change to the Sum function. To date, Sum has been a bit of an oddball – unlike our other aggregate functions it returns 0 if the table is empty while the others all return Blank. To bring it in-line with the others we are changing Sum to return Blank. But in case anyone was dependent on the old behavior, when we load existing apps we are automatically converting Sum( Table, Expr ) to Coalesce( Sum( Table, Expr ), 0 ) which provides the same result as before.

Hmm, this Sum change seems like a bit of a corner case, perhaps the PowerApps team is preparing for something? More to come, keep an eye on this blog.

Please check out our What’s New page for more details on other exciting features! Have feedback for us? We would love to hear them - please post in our forums! We are always actively listening, learning, and responding to your comments and questions. If there’s a feature you’d like to see in an upcoming release, please submit your idea to us!