Welcome to The Complete Power Apps Functions List.
On this page you will find a categorized list of 150+ Power Apps functions with links to the official documentation. Experimental functions like PDF are also included. Power Apps already has an official formulas reference so why did I do this? A few reasons:
- I wanted a functions cheat sheet where I could quickly see all the functions and how to write them
- Organizing all of the functions into categories makes it easier to discover new ones
- Gaps in the official Power Apps documentation can be filled-in with my own commentary
I hope you enjoy the Power Apps Functions List.
Table Of Contents:
• AI Functions
• Color Functions
• Datasource Functions
• Date & Time Functions
• Error Functions
• Forms & Controls Functions
• Information Functions
• Logical Functions
• Math Functions
• Navigation Functions
• Offline Functions
• Other Functions
• Signals Functions
• Statistical Functions
• Table Functions
• Testing Functions
• Text Functions
• Trigonometry Functions
• Variable Functions
• Web Functions
AI Functions
AIClassify | Classifies text into a provided category | textcategoriesallowmultiplecategories |
AIExtract | Extracts all entities from text such as a person’s name or phone numbers | textentity |
AIReply | Takes a message as input and drafts a reply | text |
AISentiment | Detects positive, negative or neutral sentiment in a message | text |
AISummarize | Summarizes text | sourcetext |
AITranslate | Translates text from one language to another language | texttargetlanguage |
Color Functions
Color | Sets a property to a built-in color value. | |
ColorFade | Fades a color value. | colorfade |
ColorValue | Translates a CSS color name or a hex code to a color value. | color_text |
RGBA | Returns a color value for a set of red, green, blue, and alpha components. | red_valuegreen_valueblue_valuealpha_value |
Datasource Functions
DataSourceInfo | Provides information about a data source | sourcedatasourceinfo_enumcolumn_name |
Defaults | Returns the default values for a data source | source |
RecordInfo | Provides information about a record of a data source | recordrecord_info_enum |
Refresh | Refreshes the records of a data source | connected_data_source |
Revert | Reloads and clears errors for the records of a data source | sourceitem |
Date & Time Functions
Calendar | Retrieves information about the calendar for the current locale. | |
Clock | Retrieves information about the clock for the current locale. | |
Date | Returns a date/time value, based on Year, Month,and Day values. | yearmonthday |
DateAdd | Adds days, months, quarters, or years to a date/time value. | start_datenumber_of_unitsunits |
DateDiff | Subtracts two date values, and shows the result in days, months,quarters, or years. | start_dateend_dateunits |
DateTimeValue | Converts a date and time string to a date/time value. | time_textlanguage_code |
DateValue | Converts a date-only string to a date/time value. | date_textlanguage_code |
Day | Retrieves the day portion of a date/time value. | date |
EDate | Adds a given number of months to a date. | datemonths |
EOMonth | Returns the last day of the month for a given date. | datemonths |
Hour | Returns the hour portion of a date/time value. | date_time |
ISOWeekNum | Returns the ISO week number of a date/time value. | date |
Minute | Retrieves the minute portion of a date/time value. | date_time |
Month | Retrieves the month portion of a date/time value. | date |
Now | Returns the current date/time value. | |
Second | Retrieves the second portion of a date/time value. | date_time |
Time | Returns a date/time value, based on Hour, Minute,and Second values. | hourminutesecond |
TimeValue | Converts a time-only string to a date/time value. | time_textlanguage_code |
TimeZoneOffset | Returns the difference between UTC and the user’s local time in minutes. | date |
Today | Returns the current date value. | |
UTCNow | Returns the current timezone independent date/time value | |
UTCToday | Returns the current timezone independent date value | |
Weekday | Retrieves the weekday portion of a date/time value. | date |
WeekNum | Returns the week number of a date/time value. | date |
Year | Retrieves the year portion of a date/time value. | date |
Error Functions
Errors | Provides error information for previous changes to a data source | source |
Error | A record containing the custom values for the produced error. | error_information |
IfError | Detects errors and provides an alternative value or takes action | value1replacement1value2replacement2…default_result |
Forms & Controls Functions
EditForm | Resets a form control for editing of an item. | form |
NewForm | Resets a form control for creation of an item. | form |
Reset | Resets an input control to its default value, discarding any user changes. | control |
ResetForm | Resets a form control for editing of an existing item. | form |
Select | Simulates a select action on a control, causing the OnSelect formula to be evaluated. | controlrow_or_columnchild_control |
SetFocus | Moves input focus to a specific control. | control |
SubmitForm | Saves the item in a form control to the data source. | form |
ViewForm | Resets a form control for viewing of an existing item. | form |
Information Functions
IsBlank | Checks for a blank value | expression |
IsBlankOrError | Checks for a blank value or error | expression |
IsEmpty | Checks for an empty table | source |
IsError | Checks for an error | value |
IsMatch | Checks a string against a pattern. Regular expressions can be used | textformatextent |
IsNumeric | Checks for a numeric value | value |
IsToday | Checks whether a date/time value is sometime today | date |
IsUTCToday | Checks whether a timezone independent date/time value is today | |
IsType | Checks whether a record reference refers to a specific table type | valuetypeTable |
Logical Functions
If | Returns one value if a condition is true and another value if not. | logical_test1true_value1logical_test2true_value2…elsevalue |
And | Boolean logic AND. Returns true if all arguments are true. You can also use the && operator. | logical1logical2logical3… |
EndsWith | Checks whether a text string ends with another text string. | textend |
Match | Extracts a substring based on a pattern. Regular expressions can be used. | textregular_expressionoptions |
MatchAll | Extracts multiple substrings based on a pattern. Regular expressions can be used. | textregular_expressionoptions |
Not | Boolean logic NOT. Returns true if its argument is false, and returns false if its argument is true. You can also use the ! operator. | logical |
Or | Boolean logic OR. Returns true if any of its arguments are true. You can also use the || operator. | logical_test1true_value1logical_test2true_value2…elsevalue |
StartsWith | Checks if a text string begins with another text string. | textstart |
Switch | Matches with a set of values and then evaluates a corresponding formula. | switch_valuematch_value1match_result1match_value2match_result2…default_result |
Math Functions
Abs | Absolute value of a number | number |
Exp | Constant e raised to a power | number |
Dec2Hex | Converts a decimal number to a hexadecimal value | numberplaces |
Hex2Dec | Converts a hexadecimal value to a decimal number | number |
Int | Rounds down to the nearest integer | number |
Ln | Returns the natural log | number |
Log | Returns the logarithm of a number for the given base. The default base is 10. | number |
Mod | Remainder after a number is divided by a divisor | numberdivisor |
Pi | Returns the number π | |
Power | Number raised to a power. You can also use the ^ operator | baseexponent |
Rand | Returns a pseudo-random number | |
RandBetween | Returns a random number between bottom and top, evenly distributed | bottomtop |
Round | Rounds a number to the closest number | numbernum_digits |
RoundDown | Rounds down to the largest previous number. | numbernum_digits |
RoundUp | Rounds up to the smallest next number. | numbernum_digits |
Sqrt | Returns the square root of a number | number |
Sum | Calculates the sum of a table expression | sourceexpression |
Trunc | Truncates the number to only the integer portion by removing anydecimal portion | numbernum_digits |
Navigation Functions
Back | Displays the previous screen. | transition |
Exit | Exits the currently running app and optionally signs out the current user. | logout |
Navigate | Changes which screen is displayed. | targettransitioncontext |
RequestHide | Hides a SharePoint form. |
Offline Functions
ClearData | Clears a collection or all collections from an app host such as a local device. | name |
LoadData | Loads a collection from an app host such as a local device. | collectionnameignore_non_existent_file |
SaveData | Saves a collection to an app host such as a local device. | collectionname |
ShowHostInfo | Displays information about the app user in a pop-up notification | host_info |
Other Functions
AsType | Treats a record reference as a specific table type. | valuetypeTable |
Blank | Returns a blank value that can be used to insert a NULL value in a data source. | |
Coalesce | Replaces blank values while leaving non-blank values unchanged. | value1value2… |
Concurrent | Evaluates multiple formulas concurrently with one another. | formula1formula2formula3… |
Notify | Displays a banner message to the user. | textnotification_typetimeout |
PDF* | Export a screen or a container to a PDF | targetoptions |
Open the web browser print dialog to print a screen or save as PDF | ||
ReadNFC | Reads a Near Field Communication (NFC) tag. | |
Run | Starts a Power Automate Flow with the Power Apps trigger (no official documentation) | parameter1parameter2… |
Signals Functions
Acceleration | Reads the acceleration sensor in your device. | |
App | Provides information about the currently running app and control over the app’s behavior. | |
Compass | Returns your compass heading. | |
Connection | Returns information about your network connection. | |
Disable | Disables a signal, such as Location for reading the GPS. | |
Enable | Enables a signal, such as Location for reading the GPS. | |
Language | Returns the language tag of the current user. | |
Location | Returns your location as a map coordinate by using the Global Positioning System (GPS) and other information. | |
User | Returns information about the current user |
Statistical Functions
Average | Calculates the sum of a table expression | sourceexpression |
Count | Counts a single column table of records that contain numbers | source |
CountA | Counts a single column table of records that aren’t empty | source |
CountIf | Counts table records that satisfy a condition | sourcecondition1… |
CountRows | Counts table records | source |
Max | Maximum value of a set of numbers | sourceexpression |
Min | Minimum value of a set of numbers | sourceexpression |
StdevP | Standard deviation of a table of a table expression | sourceexpression |
VarP | Returns the variance of its arguments | sourceexpression |
Table Functions
AddColumns | Returns a table with columns added. | sourcecolumn1expression1column2expression2… |
Choices | Returns a table of the possible values for a lookup column. | columnsearchtext |
Clear | Deletes all data from a collection. | collection |
ClearCollect | Deletes all data from a collection and then adds a set of records. | collectionitem1item2… |
Collect | Creates a collection or adds data to a data source. | collectionitem1item2… |
Distinct | Summarizes records of a table, removing duplicates. | sourceexpression |
DropColumns | Returns a table with one or more columns removed. | sourcecolumn_name1column_name2… |
Filter | Returns a filtered table based on one or more criteria. | sourcelogical_test1logical_test2… |
First | Returns the first record of a table. | source |
FirstN | Returns the first set of records (N records) of a table. | sourcecount |
ForAll | Calculates values and performs actions for all records of a table. | sourcecount |
GroupBy | Returns a table with records grouped together. | sourcecolumn_name1column_name2…group_name |
Index | Returns a row from a table at the specified row number | tableindex |
JSON | Generates a JSON text string for a table, a record, or a value. | dataformat |
Last | Returns the last record of a table. | source |
LastN | Returns the last set of records (N records) of a table. | sourcecount |
LookUp | Looks up a single record in a table based on one or more criteria. | sourceconditionresult |
Patch | Modifies or creates a record in a data source, or merges records outside of a data source. | sourcerecordupdate1update2… |
Relate | Relates records of two tables through a one-to-many or many-to-many relationship. | Entity1RelatedTableEntity2Record |
Remove | Removes one or more specific records from a data source. | collectionitem1item2… |
RemoveIf | Removes records from a data source based on a condition. | collectioncondition1condition2condition3… |
RenameColumns | Renames columns of a table. | sourceold_column1new_column1old_column2new_column2… |
Search | Finds records in a table that contain a string in one of their columns. | sourcetextcolumn1column2… |
Sequence | Generate a table of sequential numbers, useful when iterating with ForAll. | recordsstartstep |
ShowColumns | Returns a table with only selected columns. | sourcecolumn_name1column_name2… |
Shuffle | Randomly reorders the records of a table. | source |
Sort | Returns a sorted table based on a formula. | sourceexpressionorder |
SortByColumns | Returns a sorted table based on one or more columns. | sourcecolumn1order1column2order2… |
Table | Creates a temporary table. | record1record2record3 |
Ungroup | Removes a grouping. | sourcegroup_name |
Unrelate | Unrelates records of two tables from a one-to-many or many-to-many relationship. | Entity1RelatedTableEntity2Record |
Update | Replaces a record in a data source. | collectionoldnewall |
UpdateIf | Modifies a set of records in a data source based on a condition. | collectioncondition1item1condition2item2… |
Testing Functions
Assert | Evaluates to true or false in a test. | expression |
SetProperty | Simulates interactions with input controls. | control_propertyvalue |
Trace | Provide additional information in your test results. | messageseveritycustom_recordtrace_options |
Text Functions
Boolean | Converts text to a true or false value | text |
Char | Translates an ASCII character code into a string. | number |
Concat | Joins text strings from a data source. | tableexpressionseparator |
Concatenate | Joins text strings | text1text2… |
Copy | Takes a text value and copies it to the clipboard | text |
Decimal | Converts a string to a decimal number | valuelanguage |
Find | Checks whether one string appears within another and returns thelocation. | find_textwithin_textstart_num |
Float | Converts a string to a float number | valuelanguage |
GUID | Converts a GUID string to a GUID value or creates a new GUID value. | GUID_String |
Left | Returns the left-most portion of a string. | textnum_chars |
Len | Returns the length of a string. | text |
Lower | Converts letters in a string of text to all lowercase. | text |
Mid | Returns the middle portion of a string. | textstart_numbernum_chars |
ParseJSON | Interprets a JSON string and returns an untyped object | input |
Proper | Converts the first letter of each word in a string to uppercase, andconverts the rest to lowercase. | text |
Replace | Replaces part of a string with another string, by starting position ofthe string. | old_textstart_numnum_charsnew_text |
Right | Returns the right-most portion of a string. | textnum_chars |
Split | Splits a text string into a table of substrings. | textseparator |
Substitute | Replaces part of a string with another string, by matching strings. | textold_textnew_textinstance_number |
Text | Converts any value and formats a number or date/time value to a stringof text. | valueformat_textlanguage |
Trim | Removes extra spaces from the ends and interior of a string of text. | text |
TrimEnds | Removes extra spaces from the ends of a string of text only. | text |
UniChar | Translates a Unicode character code into a string. | number |
Upper | Converts letters in a string of text to all uppercase. | text |
Value | Converts a string to a number. | valuelanguage |
Trigonometry Functions
Acos | Returns the arccosine of a number, in radians. | number | |
Acot | Returns the arccotangent of a number, in radians. | number | |
Asin | Returns the arcsine of a number, in radians. | number | |
Atan | Returns the arctangent of a number, in radians. | number | |
Atan2 | Returns the arctangent based on an (x,y) coordinate, in radians. | x_coordinatey_coordinate | |
Cos | Returns the cosine of an angle specified in radians. | number | |
Cot | Returns the cotangent of an angle specified in radians. | number | |
Degrees | Converts radians to degrees. | number | |
Radians | Converts degrees to radians. | number | |
Sin | Returns the sine of an angle specified in radians. | number | |
Tan | Returns the tangent of an angle specified in radians. | number |
Variable Functions
Set | Sets the value of a global variable. | variablevalue | |
UpdateContext | Sets the value of one or more context variables of the current screen. | context | |
With | Calculates values and performs actions for a single record, including inline records of named values. | scopeformula |
Web Functions
Download | Downloads a file from the web to the local device. | address |
EncodeUrl | Encodes special characters using URL encoding. | text |
HashTags | Extracts the hashtags (#strings) from a string. | text |
Launch | Launches a webpage or a canvas app. | addressparameter_name1parameter_value1parameter_name2parameter_value2target |
Param | Access parameters passed to a canvas app when launched. | name |
PlainText | Removes HTML and XML tags from a string. | text |
* Experimental functions must be enabled in the Power Apps upcoming features menu
Did You Enjoy This Article? 😺
Subscribe to get new Power Apps articles sent to your inbox each week for FREE
Questions?
If you have any questions about The Complete Power Apps Functions List please leave a message in the comments section below. You can post using your email address and are not required to create an account to join the discussion.
Great collection, thanks!
Awesome post, as usual. Thanks, Matt.
Thank You for this effort
Thank you SO much Mathew ! without you i can’t learn power apps ,i am really greatful to you
Amazing
We talked about it on Twitter, didn’t we? Thank you!!
Thanks for this precious stuff.
Awesome job Matthew! I have added docs for the Index function and RandBetween function. Index hadn’t finished rolling out worldwide yet which is why it was delayed. RandBetween was just an oversight that I’m happy to fill. Love the categorized list, that may be something we need to do with the docs too.
Greg,
Glad you liked the categorized list. I tried to stick as close to Excel as possible then add my own categories to fill-in the rest.
Thanks to your team for publishing the RandBetween function and the Index function documentation! I know the documentation team works hard – their job is never done and they have to localize everything.
More clearence, impossible.
Tx.
It is a great source for a beginner like me, But it would be wonderful if you put examples & images for every function, then the idea would be more clear to understand for any person. But this collection is great.
Paromita,
This page is definitely something I intend to expand upon. I think that examples and images would work well if I turned this into a printable cheat sheet with landscape orientation (something I am considering). Another thing I am wanting to do is make a “quick guide” to each section. I’ve already done guides for dates, math, stats and text. Those would just be a matter of linking up.
This current iteration works well as a way to discover functions you need. The trade-off is, as you add more data it becomes something else.
Thanks for the thoughtful comment!
In the above page “Information Function” is not correctly page referenced using #tag and hence it is not navigating.
Girish,
Thank you for pointing that out! I’ve fixed it now and the page will be updated once the cache refreshes.
Much needed, thanks!
PS: I think that the anchor link “Logical Functions” does not work
Max,
Thanks for the tip! I’ve fixed the anchor and it should work properly as soon as my website cache refreshes 🙂
Matt, this was a lot of work for you! And I am so impressed. Thank you, thank you, thank you! With your permission, I would like to embed this into a Teams tab just for me. (Yes, I have a Team Valerie team for just me, my admin account, and my test account.
Thank you! What a gift!!!
Great stuff. Thanks for compiling this!
Thank you for doing this Matt. I’ve been meaning to go through the list of functions and what they do to make sure I fully understand each one and don’t miss out on any of the less common, but powerful ones. I really appreciate the time you took to get this list so organized!
Is it possible to get device parameters?
Veronika,
The signals function group contains all data generated by the device.
Thank you for so much. I’m the beginner, so this site is so useful.
I would like to recommend your site to everyone in Japan.
What would you use for ‘contain’?
Lisa,
The ‘in’ operator is what you should use for a logic statement with the condition contains.
Hello Matthew,
is there an FX function in powerapps similar to Ticks() function in power automate ?
Thank you so much for your content
Boudani
Boudani,
Can you please point me to a webpage that explains the ticks function? I’ll let you know the equivalent in Power Apps if it exists.
Hello Matthew,
thank you for your Response.
i think
Power Automate: ticks Function – Manuel T. Gomes (manueltgomes.com)
or
Reference guide for expression functions – Azure Logic Apps | Microsoft Learn
thank you for your content, it helped me a lot in learning Powerapps.
have a nice day
Boudani
Boudani,
Microsoft define the ticks function this way:
Returns the number of ticks, which are 100-nanosecond intervals, since January 1, 0001 12:00:00
Maybe you can use a DateDiff to do it?
DateDiff(Date(1,1,1), Now(), Milleseconds) * 1000000
Power Apps doesn’t really do nano-seconds though. I think milleseconds is the furthest it goes.
Hi Matthew,
you are so right, this way is enough. Thank you so much.
Have a nice day
Boudani