Skip to content

Power Apps

Power Fx Function Reference for Canvas Apps: Find the Right Function Fast

Stop scrolling a 200-function alphabetical list. This hub groups every Power Fx function by the job makers hire it for, calls out the dozen you will use every week, and points to the official syntax whenever you need the full detail.

Suresh Girinathuni
Published
Reading time
11 min read
Power Fx function reference hero showing function categories, fx symbol, and example formulas

What you’ll learn

  • How to use this reference
  • Functions that read and shape data
  • Functions that change data
  • Logic, variables, and flow control
  • Text, math, and dates

Power Fx ships with more than 200 functions, and the official list is alphabetical — great for lookup, terrible for learning. This hub flips the index around: it groups functions by the job makers hire them for, so when you think "I need to shape this table" or "I need to save this form," you land on the right function in seconds. For detail on any single function, open its page in this reference.

How to use this reference

Each section below covers one maker job: what the functions do, the names you will reach for first, and a small example you can adapt. Function names link to their pages in this reference, with what each one does and an example you can adapt. If you are new to the language itself, start with What Is Microsoft Power Fx? and come back here when you need a specific tool.

Functions that read and shape data

Most canvas app formulas start here: take a table or data source, keep the rows you want, and reshape the columns for display.

Filter(Orders, Status = "Open")

Functions that change data

These are behavior functions: they do something rather than compute something, so they run on events like a button OnSelect, not in a label Text property.

  • Collect and ClearCollect — add rows to a local collection, optionally clearing it first.
  • Patch — create or edit records in a data source without a form; pair it with Defaults for new rows.
  • Remove and RemoveIf — delete one record or every record meeting a condition.
  • Update and UpdateIf — replace records already in a data source.
  • SubmitForm, NewForm, EditForm — drive form controls through their create, edit, and save lifecycle.
Patch(Tasks, Defaults(Tasks), { Title: "Follow up", Due: Today() })

Logic, variables, and flow control

Branching, looping, and state — the glue between reading data and changing it.

  • If and Switch — branch on conditions or match one value against many.
  • ForAll — run an action or calculation for every row of a table.
  • With — name an intermediate result once and reuse it inside one formula.
  • Set and UpdateContext — store global and screen-scoped variables.
  • Navigate and Back — move users between screens, optionally passing context.
ForAll(Cart, Collect(Receipt, ThisRecord))

Text, math, and dates

Everyday formatting and calculation. If you know the Excel equivalents, most of these work the way you expect.

Errors and blanks: the functions that save you

Blank values and failed operations flow silently through formulas, which is why apps "almost work." These functions make the invisible visible.

  • IsBlank, IsEmpty, and Coalesce — detect missing values and substitute safe defaults.
  • IfError — catch an error inline and provide a fallback value or action.
  • Notify — tell the user what happened in plain language.
  • User — personalize and troubleshoot with the current user's identity.
"Hello, " & Coalesce(txtName.Text, "guest")

The dozen you will use every week

Learn these twelve first. Everything else in the reference is a specialist you can meet on the day you need it.

FunctionThe jobTry this
FilterKeep matching rowsFilter(Orders, Status = "Open")
LookUpFetch one recordLookUp(Products, ID = 42)
PatchCreate or edit a recordPatch(Tasks, Defaults(Tasks), {Title: "New"})
CollectStage rows locallyCollect(Cart, ThisItem)
ForAllRepeat for every rowForAll(Cart, Collect(Receipt, ThisRecord))
IfBranch on a conditionIf(Total > 100, "Big", "Small")
SortOrder a gallerySort(Orders, Created, Descending)
ConcatenateJoin text piecesConcatenate(First, " ", Last)
TextFormat values as textText(Total, "$#,###")
SumAdd up a columnSum(Cart, Price * Qty)
TodayStamp the current datePatch(Tasks, Defaults(Tasks), {Due: Today()})
NavigateMove between screensNavigate(DetailScreen)

Complete A–Z index

Every function in the canvas-apps reference, grouped by letter. Each name links to its page in this reference with what it does and where it fits. Start with the task groups above when you are learning; use this index when you already know the name.

A

FunctionWhat it does
AbsAbsolute value of a number.
AccelerationLive acceleration sensor reading.
AcosArccosine in radians.
AcotArccotangent in radians.
AddColumnsAdds calculated columns to a table.
AndTrue only when every check passes.
AIClassifySorts text into categories.
AIExtractPulls entities like names and numbers from text.
AIReplyDrafts a reply to a message.
AISentimentScores the mood of a piece of text.
AISummarizeCondenses text to its essentials.
AITranslateConverts text between languages.
AppInfo and control for the running app.
AsinArcsine in radians.
AssertPass-or-fail check used in tests.
AsNames the current record in scope functions.
AsTypeTreats a record as a specific table type.
AtanArctangent in radians.
Atan2Angle from x,y coordinates.
AverageMean of values or a column.

B

FunctionWhat it does
BackReturns to the previous screen.
BlankA deliberate empty value.
BooleanConverts text or numbers to true or false.

C

FunctionWhat it does
CalendarCalendar info for the current locale.
CharTurns a character code into text.
ChoicesAllowed values of a choice column.
ClearEmpties a collection.
ClearCollectEmpties a collection, then fills it.
ClearDataWipes saved local data.
ClockClock info for the current locale.
CoalesceFirst non-blank value wins.
CollectAdds rows to a collection.
ColorBuilt-in color by name.
ColorFadeFades a color toward transparent.
ColorValueCSS name or hex code turned into a color.
ColumnReads fields from dynamic data.
ColumnNamesLists the fields of dynamic data.
CompassLive compass heading.
ConcatJoins every row's text into one string.
ConcatenateJoins pieces of text.
ConcurrentRuns formulas at the same time.
ConfirmShows a yes-or-no dialog.
ConnectionLive network connection info.
CopySends text to the clipboard.
CountCounts numeric entries.
CosCosine of an angle in radians.
CotCotangent of an angle in radians.
CountACounts non-empty entries.
CountIfCounts rows that meet a condition.
CountRowsCounts rows, plain and simple.

D

FunctionWhat it does
DataSourceInfoAsks a data source about itself.
DateBuilds a date from year, month, and day.
DateAddShifts a date by days, months, or years.
DateDiffMeasures the gap between two dates.
DateTimeBuilds a date plus time value.
DateTimeValueReads date-and-time text into a value.
DateValueReads date-only text into a value.
DayDay number from a date.
Dec2HexNumber rewritten as hexadecimal text.
DefaultsBlank-row template of a data source.
DegreesRadians converted to degrees.
DisableSwitches a signal off.
DistinctUnique values only, duplicates removed.
DownloadSaves a web file to the device.
DropColumnsRemoves columns from a table.

E

FunctionWhat it does
EDateSame day, shifted by months.
EditFormOpens a form to edit an item.
EnableSwitches a signal on.
EncodeHTMLMakes text safe for HTML.
EncodeUrlMakes text safe for URLs.
EndsWithChecks how text finishes.
EOMonthLast day of a shifted month.
ErrorRaises a custom error.
ErrorsExplains failed data source writes.
exactinCase-sensitive containment check.
ExitCloses the app, optionally signing out.
ExpThe constant e raised to a power.

F

FunctionWhat it does
FilterKeeps rows that meet a condition.
FindLocates text inside text.
FirstOpening row of a table.
FirstNOpening N rows of a table.
FloatText converted to a decimal number.
ForAllRepeats logic for every row.

G

FunctionWhat it does
GroupByBundles rows into groups.
GUIDCreates or reads a global identifier.

H

FunctionWhat it does
HashTagsPulls hashtags out of text.
Hex2DecHexadecimal text back to a number.
HostInfo about where the app runs.
HourHour number from a time.

I

FunctionWhat it does
IfPicks a result by condition.
IfErrorFallback when something fails.
inCase-insensitive containment check.
IndexRow by its position number.
IntRounds down to a whole number.
IsBlankDetects an empty value.
IsBlankOrErrorEmpty or failed — either way true.
IsEmptyDetects an empty table.
IsErrorDetects a failed result.
IsMatchTests text against a pattern.
IsNumericDetects a numeric value.
ISOWeekNumISO calendar week of a date.
IsTodayChecks whether a date is today.
IsTypeChecks a record's table type.

J

FunctionWhat it does
JSONValue rewritten as JSON text.

L

FunctionWhat it does
LanguageCurrent user's language tag.
LastClosing row of a table.
LastNClosing N rows of a table.
LaunchOpens a web page or another app.
LeftOpening characters of text.
LenCounts characters in text.
LnNatural logarithm.
LoadDataBrings saved local data back.
LocationLive GPS position.
LogLogarithm in any base.
LookUpFirst row that meets a condition.
LowerText forced to lowercase.

M

FunctionWhat it does
MatchFirst substring fitting a pattern.
MatchAllEvery substring fitting a pattern.
MaxLargest value in play.
MidMiddle slice of text.
MinSmallest value in play.
MinuteMinute number from a time.
ModRemainder after division.
MonthMonth number from a date.

N

FunctionWhat it does
NavigateShows a different screen.
NewFormOpens a form to create an item.
NotFlips true to false and back.
NotifyBanner message for the user.
NowCurrent date and time.

O

FunctionWhat it does
OrTrue when anything passes.

P

FunctionWhat it does
ParamReads launch parameters.
ParentReaches the container's properties.
ParseJSONJSON text turned into usable data.
PatchCreates or edits data source records.
PDFCurrent screen exported for documents.
PiThe constant pi.
PlainTextStrips markup down to plain text.
PowerA number raised to a power.
PrintOpens the print dialog for a screen.
ProperCapitalizes each word.

R

FunctionWhat it does
RadiansDegrees converted to radians.
RandRandom decimal between 0 and 1.
RandBetweenRandom number inside your range.
ReadNFCReads a tap-to-connect NFC tag.
RecordInfoAsks a data source about a record.
RecordOfReveals a table's record type.
RefreshRe-reads a data source.
RelateLinks records across tables.
RemoveDeletes chosen records.
RemoveIfDeletes records meeting a condition.
RenameColumnsGives columns new names.
ReplaceSwaps text by position.
RequestHideHides a SharePoint form.
ResetReturns a control to its default.
ResetFormReturns a form to edit mode.
RevertDiscards record errors and reloads.
RGBAColor mixed from red, green, blue, and alpha.
RightClosing characters of text.
RoundRounds to the nearest value.
RoundDownAlways rounds downward.
RoundUpAlways rounds upward.

S

FunctionWhat it does
SaveDataStores a collection on the device.
SearchFree-text hunt across columns.
SecondSecond number from a time.
SelectTriggers a control's OnSelect.
SelfThe current control itself.
SequenceNumbered rows on demand.
SetStores a global variable.
SetFocusMoves the cursor to a control.
SetPropertyDrives an input control by formula.
ShowColumnsKeeps only chosen columns.
ShowHostInfoShows info inside the host app.
ShuffleRandomizes row order.
SinSine of an angle in radians.
SortOrders rows by a formula.
SortByColumnsOrders rows by columns.
SplitText divided into rows.
SqrtSquare root.
StartsWithChecks how text begins.
StdevPStandard deviation of values.
SubstituteSwaps text by matching.
SubmitFormSaves a form's item.
SumAdds values up.
SwitchPicks a result by matching value.

T

FunctionWhat it does
TableBuilds a small temporary table.
TanTangent of an angle in radians.
TextFormats any value as text.
ThisItemThe gallery or form row in context.
ThisRecordThe record inside a scope function.
TimeBuilds a time from hour, minute, and second.
TimeValueReads time-only text into a value.
TimeZoneOffsetMinutes between local time and UTC.
TodayToday's date.
TraceLeaves a note in test results.
TrimTrims stray spaces everywhere.
TrimEndsTrims stray spaces at the edges.
TruncChops off the decimals.
TypeDefines your own data type.

U

FunctionWhat it does
UngroupFlattens grouped rows back out.
UniCharUnicode code turned into text.
UnrelateUnlinks records across tables.
UpdateReplaces a data source record.
UpdateIfReplaces records meeting a condition.
UpdateContextStores screen-scoped variables.
UpperText forced to uppercase.
UserIdentity of the current user.

V

FunctionWhat it does
ValidateChecks a value against data source rules.
ValueText converted to a number.
VarPVariance of values.
ViewFormOpens a form in read-only mode.

W

FunctionWhat it does
WeekdayDay of the week from a date.
WeekNumCalendar week of a date.
WithNames a result for reuse in one formula.

Y

FunctionWhat it does
YearYear number from a date.

Keep this reference bookmarked

This hub answers "which function?" — and every function page answers "what does it do?" with what it does, the job makers hire it for, and an example you can adapt. Use them together: find the tool in the task groups above, open its page for the detail. And if the language itself is new to you, What Is Microsoft Power Fx? explains the spreadsheet thinking behind all of it.

Related resources

Share this:

Topics covered

Power Fx · Low-code · Expressions · Variables

Frequently asked questions

Where is the official list of every Power Fx function?

Right here. This nextM365 hub organizes the complete canvas-apps function reference by the task makers hire each function for, so you can find the right one first and then open its page for what it does, where it fits, and an example.

How many Power Fx functions do makers actually use?

A dozen functions cover most canvas apps: Filter, LookUp, Patch, Collect, ForAll, If, Sort, Concatenate, Text, Sum, Today, and Navigate. Learn those deeply, then look up the rest on demand from the reference.

Are Power Fx functions the same as Excel functions?

Deliberately close, but not identical. Power Fx borrows Excel-style names and behavior for familiar jobs like Sum, If, and Concatenate, then adds app-specific behavior functions such as Patch, Navigate, and Collect that have no Excel equivalent.

What is the difference between behavior and data functions?

Data functions compute values and recalculate automatically, like Filter or Sum. Behavior functions do something — Patch a record, Navigate to a screen, Collect into a collection — and only run in response to events such as a button OnSelect.

Why does my Power Fx formula show an error or the wrong result?

Start with the usual suspects: a blank value where you expected text (guard with IsBlank or Coalesce), an error silently flowing through a chain (catch it with IfError), or a behavior function used where only data functions are allowed. Then confirm the exact syntax in the official reference.

Does this page list every Power Fx function?

Yes. The A–Z index above covers the complete canvas-apps function reference — every function, signal, and operator entry — with each name linking to its page in this reference for what it does, where it fits, and an example.

Sources

Have a Microsoft 365 topic idea?

Share article suggestions, community session ideas, corrections, or real-world scenarios for future nextM365 learning notes.

Connect with me

Keep learning Microsoft 365

Explore more practical tutorials for SharePoint, Power Platform, Copilot Studio, migration, automation, governance, and security.

Continue learning