cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
GregLi
Power Apps
Power Apps

New Analysis Engine

Similar to the dependencies between cells in a spreadsheet that drives recalc, Canvas apps depend on understanding all the dependencies between properties of controls so that data can flow between them properly and efficiently.  We call this process "dependency analysis" and it is something that Studio is doing all the time in the background while you are editing an app.

 

For more than a year, we have been rewriting the analysis engine to both perform better and to optimize the results.  The result is that complex Canvas apps that can take minutes to load should load significantly faster.  It is a major change, at the very heart of Canvas apps, that we have been working on for over a year.

 

We are very excited to announce that this feature is now available as an experimental feature for your testing and feedback.  Please make a copy of complex apps, turn on this setting, see if you run into any problems in Studio and at runtime, and provide feedback here in the forum.   

 

Do not use this feature in production!  There could be subtle behavior differences that will take time to discover, just because the app loads and saves doesn't necessarily mean all is well, some testing is needed too.

 

Thank you!  And with your help we hope to turn this feature on for everyone soon.

 

GregLi_1-1701804999605.png

53 REPLIES 53

Unfortunately I cannot. I will try a clean blank App and see if it still complains at the defaults variable. I maybe able to send that. Company restrictions mean I would not be able to share the full App.

 

Thanks for the reply.

Further testing seems to indicate it's a timing issue in the New Engine. It' complains of an Office365Users.UserProfileV2 parameter error, but this seems to go away.

Commander_Data_0-1707905552574.png

It seems to try and access the global variable 'defaults' created in the OnVisible property of the Splash screen, in App.Formula, before it's set (or defined). So if I edit the App.Formula, remove one semi-colon, and add it back in, all the errors go away and the design studio previews without issues (seems a little slower).

A test by a colleague in play mode of the published version (in Dev), was showing his Department (read from the Office365Users, was seemingly changing and the 'active' dots a the top of the screen were constant. This seems to indicate it was still trying to read, and reread, the users details.

This action is different from the old engine. If there is anything else I can provide, except the ful App, please let me know.

bspang
Frequent Visitor

We noticed that with the new analysis engine, we lost the ability to reference labels as variables as easily as we used to. For example, if we wanted to show some control if a checkbox was marked true, we used to be able to write this in the Visible property: If(Checkbox1, true, false).

 

With the new analysis engine, we now have to write: If(Checkbox1.Value = true, true, false). 

We have noticed the same behavior when doing calculations. For example Label1 + Label2 now has to be Value(Label1.Text) + Value(Label2.Text). 

Hi, I have an issue with a published app, and the "New Analysis Engine" could be the cause.  I wanted to use UDF, and this feature requires the new engine.  In the Studio, everything is fine.  Once I publish the app, the height of some custom component controls is changed.  I originally posted the issue here.

 

Example:  My container "conLayout" is set with Height 40, Max-Height 40 and Flexible height is false.

In the Studio, I see the container correctly.  Once published, the height is not 40, and, looking at the html source, I see the style property of the div is set to 200px.

 

I tried many things to regain control on the height but nothing successful.  I did not found a pattern to reproduce the issue (still investigating).

 

Now I am a little stuck with this issue because I used UDF at many places as formula shortcuts, and disabling UDF and the new engine will cause a ton of errors.  😕

 

EDIT: It's confirmed, this size change is caused by the new engine.  Here is screenshots that show the effect I am talking about.  The only difference between them is the "New Engine" being enabled.

@d2034 , Is there a way for you to send a repro app (msapp) for us to further investigate the issue? This would be helpful. You can send msapp in a private message. Thanks!

Hi, thank you for looking at this.  Here is the .msapp file.  I wasn't able to send you a file in a private message.  

  • After loading this .msapp file, activate or deactivate the "New Analysis Engine" feature, and publish the app.
  • Run the app.
  • Click on the "Goto Header" button.

When the new engine is enabled, you will notice 2 things:

  1. The left side "badge" is cut, it's not shown entirely.  In the studio, the size of this badge is 22h x 90w.  In Play mode, it's shown as 32h x 32w.
  2. On the right side, the X button is set to 40h x 40w.  In Play mode, it's shown as 40h x 160w.

When the new engine is disabled, both controls are shown with the right size.

I hope you have all information you need, feel free to contact if you need help 🙂

Thank you for sharing the msapp file. We are investigating it.

After enabling the "New Analysis Engine", I had quite a few errors seemed to be related to setting/patching variables using slightly different schema.  After cleaning that up, it does seem much smoother now.  The only other issue I seem to have now is with component inputs.  Before enabling the "New Analysis Engine", I was able to pass inputs with dynamic schema/columns.  I could reference "Self.Items" and reference any Column that was passed to the "Items" input property.

 

Now, I can only reference columns that are specifically defined inside that Component Property.  I'm sure I can come up with workarounds for most cases (example below) but the formulas are much clunkier and less efficient now and I'd have to do this for dozens of instances.

 

BEFORE

Items:
Sort(
AddColumns(
Filter(
'Workspace Types',
Rank
),
"Id",
Text(ID),
"DisplayName",
'Name (Title)'
),Rank
)

Defaults:
Filter(
Self.Items,
Value(Rank) < 10
)​

AFTER

Sort(
AddColumns(
Filter(
'Workspace Types',
Rank
),
"Id",
Text(ID),
"DisplayName",
'Name (Title)'
),Rank
)

Defaults:
Filter(
Self.Items,
Id in Filter(
'Workspace Types',
Value(Rank) < 10
).ID
)

 

 

Maybe this is an intended change to reduce the amount of data being processed.  I wouldn't mind updating my components to be more efficient but the issue I have is that when you update component property "Defaults", it reset's all of the values for each component instances to the new "Default".

I have to copy every instance property value to an external document before I update the property in the component and paste it back after the update.

It would be so much more efficient if the existing values stayed the same and would just show an error if the existing values aren't compatible with the new property schema.

You know that for this issue and many others it usually ends up you guys requesting we send you a copy of the app. There are far too many instances of developers not being able to work out what is going wrong, not because they lack intelligence, but because there is far too much "black box" stuff going on (eg. the "analysis engine")

 

Does powerapps have a switch that tech support uses to send debug output with varying levels of verbosity to a window (similar to windows dbgview). That is, if the editor or a published app is started with that switch on, the editor, playing in the editor, and interaction in published apps sends information about what is happening under the covers to a window within the monitor?  

 

This is especially important because of the on demand UDF and formula recalculations and parallel processing taking place- when an action is invoked it is a mystery as to what chain of calculations are actually taking place.

 

If so, it would surely be worth sharing or implementing!!

(as as a bonus allow the developer to Log("message") to the same debug window). 

 

I for one would gladly put up with some loss of speed with debug mode on when trying to sort out an issue.

 

For example, I have an app that breaks the editor randomly without the "analysis engine" on, and was advised by tech support (after some weeks and sending in the app) to turn on that mysterious feature to resolve the issues- which it did BUT this is a feature that shouldnt be used in published apps.

 

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,531)