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

@PeterCBell_au , Have you tried the monitor tool?
https://learn.microsoft.com/en-us/power-apps/maker/monitor-overview

 

New analysis engine is an experimental release which we plan to preview soon. You can publish the app using new analysis engine and use it. We generally recommend not to use experimental features in production apps as those feature could break or not ship at all. In test environment, you can use it. We do plan to release new analysis engine in preview though soon.

Please see this post.

No data in collection column after publishing? : r/PowerApps (reddit.com)

I still have the barebones app with the bug in it.   Let me know if I can do anything to assist with helping you resolve this bug.

Hi @WiredForSound. Can you upload that barebones app here so we can take a look at it? It sounds similar to an issue that is addressed in an upcoming release, but it'd be good to take a look and make sure. 

See attached. 

Sergii24
Frequent Visitor

Looks like there are still some bugs to fix: once I turn a new feature on (no other changes to an existing app), Patch() function is not working anymore. I get the following error:

Sergii24_0-1710346297708.png


Had to dedicate few hours to catch this error caused by turning on "New Analysis Engine"...

 

@Sergii24 , This looks to be a runtime error with Patch function. Can you please share your session id and the Patch expression that you have which is generating this error? 

For what its worth;

1) Debug logging. The process of identifying bugs in apps leaves a great deal to be desired. Complex apps with their data connections shared with the support team are problematic for tech support. They have to try and understand the app and dont have access to the data. Hence, requests that the user who raised the issue replicate the issue with a barebones app. In the meantime the user hopes the dev team finds a bug and the next release sorts the issue. Please see my previous post

 

I think the ability to start a monitor (similar to sysinternals debugview) before opening the editor (edit with logging) with the editor writing out what it is doing (eg. Formula 'x' evaluated, record schema 'recname' set to ..., etc), as well as allowing the user to write out their own messages (eg. Log("recalc totals running")). At least the user and the dev team would have a better chance.

 

2) Record Schemas. Secondly, I think their is something fundamentally broken with the internal processes defining, updating during editing,  and assigning types for record structures .

 

On the one hand, it is great that you can just enter {a:1,b:"text",...} and powerapps takes care of assigning types. It must be a difficult task since the editor looks though the app and deduces what the schema is and also dynamically updates that during editing BUT this breaks unpredictably on occasion and we are left with all sorts of errors that are resolved by retyping a property name, or sometimes in components deleting a property and then recreating it exactly as was.

 

Since there isnt a way a define a records schema explicitly this also creates a roadblock for UDF to accept record/tables parameters.

 

What I suggest to explicitly define and reveal record structures is;

 For components data parameters of type record/table a function called Schema() be implemented. It could either be left blank --> determines schema from default value  (ie. {a:0,b:"text",..}  or Defaults(tablename) ), or be entered in the form {a:columntype.Integer, b:columntype.string, c:columntype.SharepointChoice, d:columntype.SharepointAttachments, e:columntype.SharepointLookup,etc)

 

 For other record schemas (eg. defined by a forall, patch, collect, set, etc) allow the optional use of;

    SchemaDefine(rec,{a:columntype.Integer, etc})

   And if the record 'rec' is used elsewhere in the app in a manner that conflicts with the schema (as either explicitly defined or deduced) , then an error is raised (eg. Error: Record 'rec' inconsistent with schema '{a:columntype.Integer, etc}'

 

 For UDF, define as.. 

    FunctionName(p1:DataType1, p2:DataType2, p3Rec:Schema({a:integer,b:string,...}) ):OutputDataType

 

 To reveal the record structure as internally defined by powerapps implement

    Text(rec,"Schema") --> create a string revealing the schema

 

3) Sharepoint Internal Column Names. I have mentioned this before- sharepoint tables and their internal column names are a PITG. Since sharepoint doesnt allow internal names to be redefined they can end up as url encoded if at some point in the column names lifetime a space, dash, etc was used. Can the use of the column displayname or the column internal name be enabled when referring to record columns?

I turned on the feature, ... my app won't open in editor mode. 

I tried to open it with multiple internet browser and different computer too. I had to restore an old version.

Hi @Zacharie_Cortes, thanks for the report. Can you provide a copy of the app, or if not, a session id of it not loading? That’d be very helpful in finding and fixing the issue. 

You have a lot of the same concerns/recommendations that I would have.  Record Schema is so difficult in PowerApps-- especially when creating custom/nested record Structures.  I prefer to use domain structure for my apps just to make organization easier and would love for nested/recursive records and functions to be easier to define.

Being able to define structure of a Record with all of the different field types without actually setting the record/variable would be a huge help.  Inconsistent record errors are probably the thing I spend the longest time trying to resolve because I can't easily set Blank values for all field types.

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,698)