Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Power Apps - Power Apps Experimental Features
Answered

New Analysis Engine

(5) ShareShare
ReportReport
Posted on by

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

Categories:
  • IAmIntractable Profile Picture
    270 on at
    New Analysis Engine
     
    Someone on another thread suggested that the following issue is due to the new analysis engine. Is it?
     
    What I found was that renaming controls on a form will fail and in my case, 2100 errors are generated. Its seems code references get renamed but not the control. Oddly enough, saving despite the errors, closing and reopening the app reveals that the rename actually worked. It's just hard to save an app with 2100 errors. I know this works because I tested on a copy of the app.

    It did not occur to me that this is being caused by the New Analysis engine so I will have to turn it off to see. Regardless, MSFT you are pushing the engine so you have to investigate and fix this if the engine is the cause before you prevent people from turning off the New Engine.
  • BaptisteW Profile Picture
    123 on at
    New Analysis Engine
    Thanks... happened once again
  • IAmIntractable Profile Picture
    270 on at
    New Analysis Engine
     
    Little known fact...the app maker changes code without notifying the developer. Ever notice the save button being immediately active? Yep, the Maker changed the app.
     
    This is why your formulas are gone. You cannot recover them without opening an engineering ticket as the Maker will continue to change your code.
     
    Best thing is to not save and contact Microsoft. They seem to have stopped monitoring this thread.
  • BaptisteW Profile Picture
    123 on at
    New Analysis Engine
    Hi, I don't know if this is due to the NAE, however I get a weird and random behaviour:
     
    I have a dataverse table TVV_Default_Associations, with LookUp columns "Alimentation", "Modele"... which are stored in other tables like "Field_Alimentation", "Field_Modele" and so on.
     
    The goal is to set the fields comboboxes default values based on the selected TVV value from a combobox. Some fields can be modified (DisplayMode.Edit) while some others cannot (DisplayMode.View).
     
     
    - cboFieldTVV
     
    Items: 
    Sort(
        TVV_Default_Associations;
        TVV;
        SortOrder.Ascending
    )
     
    OnChange:
    If(
        Self.Selected.TVV <> ThisItem.TVV.TVV;
        Patch(
            colVehiclesToAdd;
            ThisItem;
            {
                Modele: Self.Selected.Modele;
                FamilleIP: Self.Selected.Famille_IP;
                TVV: Self.Selected
            }
        );;
        Reset(cboFieldTransmission);;
        Reset(cboFieldT8C);;
        Reset(cboFieldMoteur);;
        Reset(cboFieldModele);;
        Reset(cboFieldAlimentation);;
        Reset(cboFieldSilhouette);;
    )
     
     
    - cboFieldAlimentation (can be modified)
     
    Items:
    Sort(Field_Transmissions;Name;SortOrder.Ascending)
     
    DefaultSelectedItems:
    [ThisItem.TVV.Transmission] (seems to be the issue, nested LookUp => have a look at the end of this post)
     
    DisplayMode:
    View
     
     
    - cboFieldModele
     
    Items:
    Sort(Field_Modeles;Name;SortOrder.Ascending)
     
    OnChange:
    If(
        Self.Selected.Name <> ThisItem.Modele.Name;
        Patch(
            colVehiclesToAdd;
            ThisItem;
            {
                Modele:  If(!IsBlank(Self.Selected); Self.Selected; Defaults(Field_Modeles))
            }
        )
    )
     
    DefaultSelectedItems:
    [ThisItem.Modele]
     
    DisplayMode:
    Edit
     
     
    The Alimentation isn't updated when the TVV changes, while fields in Edit mode are updated.
     
    I tried adding this label:
    $"TVV : {ThisItem.TVV.TVV},
    Alim : {ThisItem.TVV.Alimentation.Name},
    Transmission : {ThisItem.TVV.Transmission.Name},
    Moteur : {ThisItem.TVV.Moteur.Name},
    Silhouette : {ThisItem.TVV.Silhouette.Name},
    "
     
    Values are blank, however it worked once (no idea why it stopped working)
    Notice that it works if I replace the DefaultSelectedItems property with this:
    [LookUp(TVV_Default_Associations; TVV = ThisItem.TVV.TVV).Transmission]
  • bpg Profile Picture
    14 on at
    New Analysis Engine
    I'm also affected by the issue with Gallery.AllItemsCount on numerous places in my app. Same symptoms as described before: Highlighting the collection in Studio shows the expected and correct result, highlighting in Studio Gallery.AllItemsCount used in a label shows the expected and correct result, but the runtime calculates "0".
     
     
    @Microsoft: Is someone working on a fix? Do you know the root cause? Or would it help to provide the app as an example?
     
    Btw, using CountRows(Gallery.AllItems) doesn't make a difference. If the underlying collection of items of the gallery changes, the value of Gallery.AllItemsCount or CountRows(Gallery.AllItems) doesn't.
  • BaptisteW Profile Picture
    123 on at
    New Analysis Engine
    Just faced this: https://www.reddit.com/r/PowerApps/comments/1igpesf/entire_app_formulas_area_keeps_getting_cleared/

    I started my app this morning after leaving it overnight, and I just noticed the Formulas property got cleared.
    I tried to restore my app to a previous version, the field remains empty. Will try an even older version when PowerApps lets me ("Restore failed. <My app> is locked by <me>")
  • IAmIntractable Profile Picture
    270 on at
    New Analysis Engine
    Under the new analysis engine, the HTML control renders differently in the player from what is seen in the maker. The fonts are wider causing unwanted wrapping.
  • BK-28031812-0 Profile Picture
    2 on at
    New Analysis Engine
    I too have experienced issues with AllItemsCount and CountRows( Gallery.AllItems ). Some other issues I have found...
     
    I had a gallery with items set to a collection, no filtering and the gallery was blank. Highlighting the collection would show the preview of all the items correctly and in other spots the collection was read and used without issues. But the one gallery still showed 0 items.
     
    Also visibility was thrown off. I had 3 buttons that appeared if approvalItem.ID in Gallery.AllItems.ID and of the 3 buttons they some would show or not show independently of each other. Same code, but one would show and the other two would not or any other combination.
     
    These are single examples of several I found for each. I turned off the new analysis engine for now and no issues since.
  • IAmIntractable Profile Picture
    270 on at
    New Analysis Engine
    I can also report that .AllItemsCount also does not seem to report the count properly depending on the context. It seems more accurate to .CountRows the rows in the underlying collection if one is used. If the items property is based on a datasource, then the .AllItemsCount does not seem stable enough to utilize. 
  • ShantanuP Profile Picture
    on at
    New Analysis Engine
    @PM-26031830-0, Sorry to hear about the issue that you are running into this. Have you tried adding a label with that expression?

    Label1.Text = 
       CountRows(galClients.AllItems)

    What value do you see in this case? Is it possible for you to share monitor trace for this issue to CanvasAppAnalysis@service.microsoft.com?

    What other places do you see the app breaks? 
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Paul Stork – Community Spotlight

We are honored to recognize Paul Stork as our July 2025 Community…

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 791 Most Valuable Professional

#2
MS.Ragavendar Profile Picture

MS.Ragavendar 410

#3
mmbr1606 Profile Picture

mmbr1606 275 Super User 2025 Season 1

Featured topics