Named Formulas in Powerapps

Introduction to named formulas

Imagine a world where you could define a single formula and then reference it throughout your app, just like you do with variables. That's the beauty of Named Formulas. They act as reusable snippets of code that you can easily call upon, reducing redundancy and streamlining your app development process.

Benefits of using named formulas

  • Reduced Code Duplication: Say goodbye to copy-pasting the same formula everywhere. Named Formulas eliminate repetition, making your code cleaner and easier to maintain.
  • Centralized Management: Update your logic in one place, and it automatically reflects across all instances where the Named Formula is used. No more hunting down individual formulas for every change!
  • Improved Readability: Your app's code becomes more organized and understandable, making it easier for you and others to collaborate on development and maintenance.
  • Enhanced Performance: Named Formulas can improve your app's performance by reducing the need for complex calculations in multiple locations.

How to use named formulas

  • Define Your Formulas: Go to App > Formulas in the Power Apps Studio. Here, you can create your Named Formulas by assigning a name and defining the formula itself.
  • Syntax: Name of Formula = Formula Value;

Components

  • Name of Formula: A unique identifier for your formula, starting with a letter and containing letters, numbers, and underscores. Avoid spaces and special characters.
  • Formula Value: The actual formula or expression you want to define. This can be any valid Power Fx formula.
  • Semicolon: A semicolon (;) is required at the end when you are dealing with multiple named formulas.

Examples of named formulas in action


1. Complex calculations

Named Formula:
TotalCost = Quantity * UnitPrice + (Quantity * UnitPrice * TaxRate);
// Use TotalCost in a label or text box:
Label1.Text = "Total Cost: " & TotalCost

2. Data validation

NamedFormula: 
IsValidEmail = IsMatch(TextInput1.Text, EmailRegex);
// Use IsValidEmail to enable or disable a button:
Button1.DisplayMode = If(IsValidEmail, DisplayMode.Edit, DisplayMode.Disabled)

3. Data transformation

NamedFormula:
FullName = Concat(FirstName, " ", LastName)
// Use FullName in a display field or email template:
GreetingLabel.Text = "Hello, " & FullName

4. Conditional formatting

Named Formula:
Overdue = DateDiff(Today(), DueDate) > 0
// Use Overdue to set the background color of a label:
Label2.Fill = If(Overdue, Red, LightGray)

5. Lookup values

NamedFormula:
  UserInfo = LookUp(Users, 'Primary Email' = User().Email)
  UserTitle = UserInfo.Title
  UserPhone = Switch(
    UserInfo.'Preferred Phone',
      'Preferred Phone (Users)'.'Mobile Phone', UserInfo.'Mobile Phone',
      UserInfo.'Main Phone'
  )
)
// Use UserTitle and UserPhone in labels or other controls:
Label3.Text = "Welcome, " & UserTitle & "!"

Key points to remember

  • Named formulas can include other named formulas.
  • They don't accept parameters like functions.
  • They are defined globally within the app and accessible from any formula.
  • They are particularly useful for reusability, readability,and maintaining complex calculations.
  • You can't manually assign a value to a named formula throughout the app. Instead, it will automatically update whenever its internal formula value changes.