How to Resolve Duplicate Logic Across Canvas Apps

AB-410 Last updated

Short answer

BD Use a user-defined function for reusable Power Fx logic and a component library for shared UI components across Fabrikam's canvas apps.

Question

This is a case study. Case studies are not timed separately from other exam sections. You can use as much exam time as you would like to complete each case study. However, there might be additional case studies or other exam sections. Manage your time to ensure that you can complete all the exam sections in the time provided. Pay attention to the Exam Progress at the top of the screen so you have sufficient time to complete any exam sections that follow this case study. To answer the case study questions, you will need to reference information that is provided in the case. Case studies and associated questions might contain exhibits or other resources that provide more information about the scenario described in the case. Information provided in an individual question does not apply to the other questions in the case study. A Review Screen will appear at the end of this case study. From the Review Screen, you can review and change your answers before you move to the next exam section. After you leave this case study, you will NOT be able to return to it. To start the case study To display the first question in this case study, select the “Next” button. To the left of the question, a menu provides links to information such as business requirements, the existing environment, and problem statements. Please read through all this information before answering any questions. When you are ready to answer a question, select the “Question” button to return to the question. Background Fabrikam Inc. is an energy provider that operates wind and solar farms across multiple countries and regions. The company uses Microsoft Power Platform to manage asset maintenance, technician workflows, and predictive analytics. Field technicians use canvas apps on mobile devices to capture inspection and repair data. Operations managers use model-driven apps to monitor asset performance and maintenance history. The company plans to enhance its platform by introducing AI-driven insights, improving reuse across applications, and establishing a formal application lifecycle management (ALM) strategy. Current environment Applications Field technicians use an outdated mobile app to log maintenance activities and capture asset readings in SharePoint Online. Operations managers use a model-driven app to review maintenance records and asset performance trends. Development practices Developers build and modify applications directly in the production environment. There is NO structured ALM process. Solutions are NOT consistently used to package or deploy application components. Reusable components are inconsistently implemented across apps, leading to duplication. AI integration Fabrikam Inc. plans to actively explore generative AI usage as part of the next phase of work. Business requirement Application development The outdated mobile app must be replaced with a new app that supports responsive design principles, provides full control over the UI, and allows technicians to take and upload photos directly from their mobile devices. The new app for the field technicians requires the name of the technician to be persisted on the home screen only. In addition, work orders must be displayed within a gallery. All new apps must connect to a scalable, cloud-based relational data store. Apps must support efficient data entry for technicians in the field. Reusable UI elements must be implemented to reduce duplication. AI capabilities The company requires a generative AI solution to manage customer complaint responses and create custom inspection reports that align to an existing template. Customer complaint responses must be generated in applications and based on emails being sent to a mailbox. Custom AI development must be minimized. Generative AI reusability Generative AI solutions must accept dynamic inputs to adapt to different scenarios. Generative AI solutions must be reusable across different Power Platform services. Extensibility Custom UI form components must be reusable across applications. Use of server-side custom code must be minimized where possible. Technical requirements Application lifecycle management (ALM) Separate environments must be used for development, testing, and production. Solutions must be used to package application components, segmented based on functional areas. Managed solutions must be deployed to the production environment. Validation must occur before deployment to production. Data processing Aggregated values across related rows must be displayed for reporting. Calculations must update automatically as new data is entered. Calculation data must be limited to a maximum length of 10. Issues Duplicate logic exists across multiple canvas apps. Developers frequently overwrite changes in production. Generative AI solutions produce inconsistent outputs due to missing or inconsistent inputs. Maintenance metrics are not consistently calculated across related rows. You need to resolve the issues with the canvas apps. Which two configurations should you use? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point.

  1. Named formula
  2. User-defined function Correct Answer
  3. Collection
  4. Component library Correct Answer
  5. Context variable

Key Takeaways

The question tests canvas app reuse patterns: the trap is picking app-local helpers like named formulas or context variables instead of the two features Microsoft positions for reusable logic and shared components.

Fabrikam's canvas apps suffer from duplicated logic and duplicated UI across multiple apps, so the fix must target reusable logic plus reusable components. A user-defined function centralizes repeatable Power Fx logic, and a component library lets every app consume the same reusable UI elements, making B and D the correct pair.

Common mistake: Learners most often choose A (Named formula) with D, because named formulas do remove repeated inline expressions — but a named formula only defines a single app-scoped value or auto-calculating expression, so it does not encapsulate parameterized, reusable logic the way a user-defined function does.

Expert Analysis

Why the Answer Is Correct

Option D, a component library, is the only choice that moves reusable UI elements out of individual apps and into a shared, versioned package that multiple canvas apps consume, which directly answers the stated requirement that reusable UI elements reduce duplication. Option B, a user-defined function, lets a maker write parameterized Power Fx once in the App object's Formulas and invoke it anywhere logic is needed, replacing the copy-pasted formulas that create the "duplicate logic across multiple canvas apps" issue. Together the two cover both halves of the problem: shared behavior through functions and shared presentation through library components. A component library can also carry component-level properties and behavior, so the reusable implementation is distributed to every app rather than rebuilt per app. This pairing satisfies the reuse, duplication, and maintainability goals of the Fabrikam case without adding server-side code.

Why the Other Options Are Wrong

Option A, a named formula, defines a single named value or automatically recalculating expression scoped to one app; it is useful for constants and stable calculations but it neither accepts parameters nor shares anything between apps, so it cannot by itself resolve duplication across multiple canvas apps. Option C, a collection, is an in-memory data table used to stage rows for galleries and delegation-friendly lookups; storing temporary data has no bearing on duplicated logic or duplicated UI. Option E, a context variable, passes a value between screens within a single app and disappears when navigating away, which helps with navigation state but does not package or reuse anything. None of A, C, or E produce a component that other applications can consume, which is the core of Fabrikam's reuse requirement.

Community Comment Notes

The single community comment from ABCTOC selects B and D, arguing that "Duplicate logic exists across multiple canvas apps." and that "User-defined functions let you define reusable Power Fx logic rather than repeating the same formulas throughout an app." That reasoning matches this analysis: component libraries are described there as Microsoft's mechanism for shared components, and the same verdict is reached independently here from the case requirements rather than from the comment alone.

Official Reference

Exam Strategy

When a case study says "which two" and the issue mentions duplication across apps, look for one option that shares UI and one that shares logic — cross-app reuse always points to the component library. Eliminate storage and variable options (collections, context variables) immediately, since they hold data rather than reuse code.

Frequently Asked Questions

Why isn't a named formula one of the two answers here?

A named formula only defines one app-scoped value or auto-calculating expression, so it cannot be parameterized or shared between apps the way a user-defined function plus a component library can.

Can a component library share Power Fx functions across apps?

Functions are defined per app, but a component library distributes the reusable UI and its behavior, which is how the shared implementation reaches every canvas app.

More AB-410 FAQ →

Discussion 1 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded.

From public community threads 1

  1. ABCTOC 👍 1
    “Duplicate logic exists across multiple canvas apps.” B. User-defined function ✅ User-defined functions let you define reusable Power Fx logic rather than repeating the same formulas throughout an app. Microsoft documents them as part of the App object's Formulas capability. This addresses the duplicate logic side of the problem. D. Component library ✅ Component libraries are specifically Microsoft's recommended way to reuse components across apps. They're ideal for Fabrikam's requirement that reusable UI elements reduce duplication across its canvas apps.

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

← Back to AB-410 Study Guide