Power Query is an amazing tool when it comes to extracting data from multiple different sources and then cleaning that data within the Power Query Editor.
While a lot can be done with the user interface in the Power Query editor, the real magic is happening behind the scenes, where Power Query is using some amazing built-in functions to transform your data.
As of writing this article, there are 850+ Power Query functions (and this list keeps getting longer).
Getting a List of All Power Query Functions
Here is a cool trick that will give you a list of all the Power Query functions.
- Open a blank query in Power Query Editor.
- In the formula bar, enter the following keyword:
=#shared
- Press the Enter key
As soon as you do this, Power Query will give you a list of all the functions available for you.
All the function names are mentioned in the first column. To get more information on each function, you can click on the text function in the second column.
If you want to load this list of Power Query functions into Excel, click on the Convert into Table option in the Convert tab, and then Close and Load this query to get a table of all these functions in a worksheet.
Power Query Functions List
Here’s the list of all the Power Query functions that I got by using the shared keyword.
Power Query Functions List |
---|
Value.ResourceExpression |
Resource.Access |
CommonDataService.Database |
Kusto.Contents |
Kusto.Databases |
AzureDataExplorer.Contents |
AzureDataExplorer.Databases |
AzureDataExplorer.KqlDatabase |
PowerPlatform.Dataflows |
DataLake.Contents |
DataLake.Files |
Fabric.Warehouse |
Lakehouse.Contents |
List.NonNullCount |
List.MatchesAll |
List.MatchesAny |
List.Range |
List.RemoveItems |
List.ReplaceValue |
List.FindText |
List.RemoveLastN |
List.RemoveFirstN |
Binary.View |
Binary.ViewFunction |
Binary.ViewError |
Table.ColumnCount |
Table.AlternateRows |
Table.InsertRows |
Table.LastN |
Table.Last |
Table.MatchesAllRows |
Table.MatchesAnyRows |
Table.Partition |
Table.Range |
Table.RemoveRows |
Table.Repeat |
Table.ReplaceRows |
Table.ReverseRows |
Table.HasColumns |
Table.PrefixColumns |
Table.ColumnsOfType |
Table.AddColumn |
Table.DuplicateColumn |
Table.FillUp |
Table.RemoveLastN |
Table.RemoveFirstN |
Table.ExpandListColumn |
Table.ExpandTableColumn |
Table.TransformRows |
Table.Transpose |
Table.DemoteHeaders |
Table.ToRows |
Table.ToColumns |
Table.CombineColumnsToRecord |
Table.Contains |
Table.ContainsAll |
Table.ContainsAny |
Table.IsDistinct |
Table.PositionOf |
Table.PositionOfAny |
Table.RemoveMatchingRows |
Table.ReplaceMatchingRows |
Table.Max |
Table.MaxN |
Table.Min |
Table.MinN |
Table.FindText |
Replacer.ReplaceValue |
Replacer.ReplaceText |
Table.ReplaceValue |
Table.IsEmpty |
Table.SplitColumn |
Table.CombineColumns |
Table.FirstValue |
Table.AddRankColumn |
Table.View |
Table.ViewFunction |
Table.ViewError |
Table.Schema |
Type.TableSchema |
Table.Profile |
RelativePosition.Type |
RelativePosition.FromStart |
RelativePosition.FromEnd |
Text.AfterDelimiter |
Text.BeforeDelimiter |
Text.BetweenDelimiters |
Date.IsInPreviousDay |
Date.IsInPreviousNDays |
Date.IsInCurrentDay |
Date.IsInNextDay |
Date.IsInNextNDays |
Date.IsInPreviousWeek |
Date.IsInPreviousNWeeks |
Date.IsInCurrentWeek |
Date.IsInNextWeek |
Date.IsInNextNWeeks |
Date.IsInPreviousMonth |
Date.IsInPreviousNMonths |
Date.IsInCurrentMonth |
Date.IsInNextMonth |
Date.IsInNextNMonths |
Date.IsInPreviousQuarter |
Date.IsInPreviousNQuarters |
Date.IsInCurrentQuarter |
Date.IsInNextQuarter |
Date.IsInNextNQuarters |
Date.IsInPreviousYear |
Date.IsInPreviousNYears |
Date.IsInCurrentYear |
Date.IsInNextYear |
Date.IsInNextNYears |
Date.IsInYearToDate |
DateTime.IsInPreviousSecond |
DateTime.IsInPreviousNSeconds |
DateTime.IsInNextSecond |
DateTime.IsInNextNSeconds |
DateTime.IsInCurrentSecond |
DateTime.IsInPreviousMinute |
DateTime.IsInPreviousNMinutes |
DateTime.IsInNextMinute |
DateTime.IsInNextNMinutes |
DateTime.IsInCurrentMinute |
DateTime.IsInPreviousHour |
DateTime.IsInPreviousNHours |
DateTime.IsInNextHour |
DateTime.IsInNextNHours |
DateTime.IsInCurrentHour |
Date.MonthName |
Date.DayOfWeekName |
SqlExpression.SchemaFrom |
DirectQueryCapabilities.From |
List.Count |
List.Distinct |
List.FirstN |
List.IsEmpty |
List.LastN |
List.Select |
List.Skip |
List.Sort |
List.Transform |
List.TransformMany |
Any.Type |
None.Type |
Expression.Constant |
Expression.Evaluate |
Expression.Identifier |
TextEncoding.Type |
TextEncoding.Utf8 |
TextEncoding.Utf16 |
TextEncoding.Ascii |
TextEncoding.Unicode |
TextEncoding.BigEndianUnicode |
TextEncoding.Windows |
Culture.Current |
Day.Type |
Day.Sunday |
Day.Monday |
Day.Tuesday |
Day.Wednesday |
Day.Thursday |
Day.Friday |
Day.Saturday |
Duration.Type |
Duration.FromText |
Duration.From |
Duration.ToText |
Duration.ToRecord |
Duration.Days |
Duration.Hours |
Duration.Minutes |
Duration.Seconds |
Duration.TotalDays |
Duration.TotalHours |
Duration.TotalMinutes |
Duration.TotalSeconds |
JoinKind.Type |
JoinKind.Inner |
JoinKind.LeftOuter |
JoinKind.RightOuter |
JoinKind.FullOuter |
JoinKind.LeftAnti |
JoinKind.RightAnti |
JoinKind.LeftSemi |
JoinKind.RightSemi |
MissingField.Type |
MissingField.Error |
MissingField.Ignore |
MissingField.UseNull |
GroupKind.Type |
GroupKind.Global |
GroupKind.Local |
Number.E |
Number.PI |
RoundingMode.Type |
RoundingMode.Up |
RoundingMode.Down |
RoundingMode.AwayFromZero |
RoundingMode.TowardZero |
RoundingMode.ToEven |
Record.Type |
Record.AddField |
Record.Field |
Record.FieldCount |
Record.FieldNames |
Record.FieldOrDefault |
Record.FieldValues |
Record.FromTable |
Record.HasFields |
Record.RemoveFields |
Record.RenameFields |
Record.ReorderFields |
Record.SelectFields |
Record.ToTable |
Record.TransformFields |
Record.Combine |
Record.FromList |
Record.ToList |
Precision.Type |
Precision.Double |
Precision.Decimal |
Number.Type |
Number.From |
Number.FromText |
Number.ToText |
Number.IsNaN |
Number.NaN |
Number.NegativeInfinity |
Number.PositiveInfinity |
Number.Epsilon |
Number.BitwiseNot |
Number.BitwiseOr |
Number.BitwiseAnd |
Number.BitwiseXor |
Number.BitwiseShiftLeft |
Number.BitwiseShiftRight |
BinaryEncoding.Type |
BinaryEncoding.Hex |
BinaryEncoding.Base64 |
Binary.ApproximateLength |
Binary.Type |
Binary.ToText |
Binary.From |
Binary.FromText |
Binary.ToList |
Binary.FromList |
Binary.Combine |
Binary.Length |
Binary.Buffer |
Binary.Compress |
Binary.Decompress |
Binary.InferContentType |
Binary.Range |
Binary.Split |
Compression.Type |
Compression.None |
Compression.GZip |
Compression.Deflate |
Compression.Snappy |
Compression.Brotli |
Compression.LZ4 |
Compression.Zstandard |
Byte.Type |
Character.Type |
Character.FromNumber |
Character.ToNumber |
Text.Type |
Text.At |
Text.From |
Text.Length |
Text.Range |
Text.Middle |
Text.Start |
Text.End |
Text.StartsWith |
Text.EndsWith |
Text.Contains |
Text.Clean |
Text.PositionOf |
Text.PositionOfAny |
Text.Lower |
Text.Upper |
Text.Proper |
Text.Split |
Text.SplitAny |
Text.Combine |
Text.Repeat |
Text.Replace |
Text.ReplaceRange |
Text.Insert |
Text.Remove |
Text.RemoveRange |
Text.Reverse |
Text.Select |
Text.Trim |
Text.TrimStart |
Text.TrimEnd |
Text.PadStart |
Text.PadEnd |
Text.ToBinary |
Text.ToList |
Text.FromBinary |
Text.NewGuid |
Text.InferNumberType |
Text.Format |
Comparer.FromCulture |
Comparer.Ordinal |
Comparer.OrdinalIgnoreCase |
Comparer.Equals |
Date.FromText |
Date.From |
Date.ToText |
Date.ToRecord |
Date.Year |
Date.Month |
Date.Day |
Date.AddDays |
Date.AddWeeks |
Date.AddMonths |
Date.AddQuarters |
Date.AddYears |
Date.IsLeapYear |
Date.StartOfYear |
Date.StartOfQuarter |
Date.StartOfMonth |
Date.StartOfWeek |
Date.StartOfDay |
Date.EndOfYear |
Date.EndOfQuarter |
Date.EndOfMonth |
Date.EndOfWeek |
Date.EndOfDay |
Date.DayOfWeek |
Date.DayOfYear |
Date.DaysInMonth |
Date.QuarterOfYear |
Date.WeekOfMonth |
Date.WeekOfYear |
DateTime.FromText |
DateTime.From |
DateTime.ToText |
DateTime.ToRecord |
DateTime.Date |
DateTime.Time |
DateTime.AddZone |
DateTime.LocalNow |
DateTime.FixedLocalNow |
DateTime.FromFileTime |
DateTimeZone.FromText |
DateTimeZone.From |
DateTimeZone.ToText |
DateTimeZone.ToRecord |
DateTimeZone.ZoneHours |
DateTimeZone.ZoneMinutes |
DateTimeZone.LocalNow |
DateTimeZone.UtcNow |
DateTimeZone.FixedLocalNow |
DateTimeZone.FixedUtcNow |
DateTimeZone.ToLocal |
DateTimeZone.ToUtc |
DateTimeZone.SwitchZone |
DateTimeZone.RemoveZone |
DateTimeZone.FromFileTime |
Time.FromText |
Time.From |
Time.ToText |
Time.ToRecord |
Time.Hour |
Time.Minute |
Time.Second |
Time.StartOfHour |
Time.EndOfHour |
Function.Type |
Function.From |
Function.Invoke |
Function.InvokeAfter |
Function.IsDataSource |
Function.ScalarVector |
Null.Type |
Number.Abs |
Number.Acos |
Number.Asin |
Number.Atan |
Number.Atan2 |
Number.Combinations |
Number.Cos |
Number.Cosh |
Number.Exp |
Number.Factorial |
Number.IntegerDivide |
Number.Log |
Number.Log10 |
Number.Ln |
Number.Mod |
Number.Permutations |
Number.Power |
Number.Random |
Number.RandomBetween |
Number.Round |
Number.RoundDown |
Number.RoundUp |
Number.RoundTowardZero |
Number.RoundAwayFromZero |
Number.Sign |
Number.Sin |
Number.Sinh |
Number.Sqrt |
Number.Tan |
Number.Tanh |
Number.IsEven |
Number.IsOdd |
List.Type |
List.Contains |
List.Difference |
List.First |
List.Generate |
List.Intersect |
List.IsDistinct |
List.Last |
List.RemoveMatchingItems |
List.RemoveNulls |
List.Repeat |
List.ReplaceMatchingItems |
List.Reverse |
List.Single |
List.SingleOrDefault |
List.Union |
List.Accumulate |
List.Buffer |
List.Combine |
List.ContainsAll |
List.ContainsAny |
List.InsertRange |
List.Max |
List.MaxN |
List.Min |
List.MinN |
List.PositionOf |
List.PositionOfAny |
List.Positions |
List.RemoveRange |
List.ReplaceRange |
List.Alternate |
List.Zip |
List.Split |
List.Average |
List.Covariance |
List.Median |
List.Mode |
List.Modes |
List.Percentile |
List.Product |
List.Sum |
List.StandardDeviation |
List.Numbers |
List.Times |
List.Dates |
List.DateTimes |
List.DateTimeZones |
List.Durations |
List.Random |
Error.Record |
Value.Equals |
Value.NullableEquals |
Value.Compare |
Value.Type |
Value.ReplaceType |
Value.RemoveMetadata |
Value.ReplaceMetadata |
Value.Metadata |
Value.FromText |
Value.Add |
Value.Subtract |
Value.Multiply |
Value.Divide |
Value.As |
Value.Is |
Value.NativeQuery |
Value.Expression |
Value.Optimize |
Value.Alternates |
Value.Versions |
Value.VersionIdentity |
Value.ViewFunction |
Value.ViewError |
Type.Type |
Type.ForRecord |
Type.ForFunction |
Type.NonNullable |
Type.IsNullable |
Type.ListItem |
Type.OpenRecord |
Type.ClosedRecord |
Type.IsOpenRecord |
Type.RecordFields |
Type.FunctionParameters |
Type.FunctionRequiredParameters |
Type.FunctionReturn |
Type.Is |
Type.Union |
Type.Facets |
Type.ReplaceFacets |
Logical.Type |
Logical.FromText |
Logical.From |
Logical.ToText |
List.AllTrue |
List.AnyTrue |
Order.Type |
Order.Ascending |
Order.Descending |
Occurrence.Type |
Occurrence.All |
Occurrence.First |
Occurrence.Last |
Int8.Type |
Int16.Type |
Int32.Type |
Int64.Type |
Single.Type |
Double.Type |
Decimal.Type |
Currency.Type |
Percentage.Type |
Guid.Type |
Uri.Type |
Password.Type |
Certificate.Type |
Byte.From |
Int8.From |
Int16.From |
Int32.From |
Int64.From |
Single.From |
Double.From |
Decimal.From |
Currency.From |
Percentage.From |
Guid.From |
Date.Type |
DateTime.Type |
DateTimeZone.Type |
Time.Type |
PercentileMode.Type |
PercentileMode.ExcelInc |
PercentileMode.ExcelExc |
PercentileMode.SqlDisc |
PercentileMode.SqlCont |
TimeZone.Current |
BufferMode.Type |
BufferMode.Eager |
BufferMode.Delayed |
Progress.DataSourceProgress |
Value.Firewall |
AccessControlEntry.Type |
AccessControlEntry.ConditionContextType |
AccessControlEntry.ConditionToIdentities |
AccessControlKind.Type |
AccessControlKind.Allow |
AccessControlKind.Deny |
IdentityProvider.Type |
IdentityProvider.Default |
Identity.Type |
Identity.From |
Identity.IsMemberOf |
ByteOrder.Type |
ByteOrder.LittleEndian |
ByteOrder.BigEndian |
Occurrence.Optional |
Occurrence.Required |
Occurrence.Repeating |
BinaryOccurrence.Type |
BinaryOccurrence.Optional |
BinaryOccurrence.Required |
BinaryOccurrence.Repeating |
BinaryFormat.SignedInteger16 |
BinaryFormat.SignedInteger32 |
BinaryFormat.SignedInteger64 |
BinaryFormat.UnsignedInteger16 |
BinaryFormat.UnsignedInteger32 |
BinaryFormat.UnsignedInteger64 |
BinaryFormat.Single |
BinaryFormat.Double |
BinaryFormat.Decimal |
BinaryFormat.7BitEncodedUnsignedInteger |
BinaryFormat.7BitEncodedSignedInteger |
BinaryFormat.Byte |
BinaryFormat.Binary |
BinaryFormat.Record |
BinaryFormat.List |
BinaryFormat.Text |
BinaryFormat.Transform |
BinaryFormat.Length |
BinaryFormat.Choice |
BinaryFormat.ByteOrder |
BinaryFormat.Group |
BinaryFormat.Null |
Cube.DisplayFolders |
Cube.Dimensions |
Cube.Measures |
Cube.ReplaceDimensions |
Cube.Transform |
Cube.AddMeasureColumn |
Cube.AddAndExpandDimensionColumn |
Cube.CollapseAndRemoveColumns |
Cube.AttributeMemberId |
Cube.AttributeMemberProperty |
Cube.PropertyKey |
Cube.MeasureProperty |
Cube.Properties |
Cube.MeasureProperties |
Cube.Parameters |
Cube.ApplyParameter |
Diagnostics.Trace |
Diagnostics.ActivityId |
Diagnostics.CorrelationId |
TraceLevel.Type |
TraceLevel.Critical |
TraceLevel.Error |
TraceLevel.Warning |
TraceLevel.Information |
TraceLevel.Verbose |
Excel.Workbook |
Excel.ShapeTable |
Graph.Nodes |
Json.Document |
Json.FromValue |
Value.Lineage |
Value.Traits |
Csv.Document |
Lines.FromText |
Lines.FromBinary |
Lines.ToText |
Lines.ToBinary |
Table.FromList |
Table.ToList |
Splitter.SplitByNothing |
Splitter.SplitTextByCharacterTransition |
Splitter.SplitTextByDelimiter |
Splitter.SplitTextByRanges |
Splitter.SplitTextByWhitespace |
Splitter.SplitTextByEachDelimiter |
Splitter.SplitTextByAnyDelimiter |
Splitter.SplitTextByPositions |
Splitter.SplitTextByRepeatedLengths |
Splitter.SplitTextByLengths |
Combiner.CombineTextByDelimiter |
Combiner.CombineTextByEachDelimiter |
Combiner.CombineTextByRanges |
Combiner.CombineTextByPositions |
Combiner.CombineTextByLengths |
ExtraValues.Type |
ExtraValues.List |
ExtraValues.Ignore |
ExtraValues.Error |
QuoteStyle.Type |
QuoteStyle.None |
QuoteStyle.Csv |
CsvStyle.Type |
CsvStyle.QuoteAlways |
CsvStyle.QuoteAfterDelimiter |
Module.Versions |
Table.FromValue |
Embedded.Value |
Table.ConformToPageReader |
List.ConformToPageReader |
RData.FromBinary |
SqlExpression.ToExpression |
LimitClauseKind.Type |
LimitClauseKind.None |
LimitClauseKind.Top |
LimitClauseKind.Limit |
LimitClauseKind.LimitOffset |
LimitClauseKind.AnsiSql2008 |
Table.Type |
Table.ColumnNames |
Tables.GetRelationships |
Table.FromColumns |
Table.FromPartitions |
Table.PartitionValues |
Table.FromRows |
Table.PromoteHeaders |
Table.RowCount |
Table.ApproximateRowCount |
Table.ToRecords |
Table.FromRecords |
Table.Keys |
Table.AddKey |
Table.ReplaceKeys |
Table.PartitionKey |
Table.ReplacePartitionKey |
Type.TableColumn |
Type.TableRow |
Type.TableKeys |
Type.AddTableKey |
Type.ReplaceTableKeys |
Type.TablePartitionKey |
Type.ReplaceTablePartitionKey |
Table.Column |
Table.SelectColumns |
Table.SelectRows |
Table.RenameColumns |
Table.TransformColumnNames |
Table.ReorderColumns |
Table.Skip |
Table.First |
Table.FirstN |
Table.RemoveColumns |
Table.Group |
Table.Join |
Table.AddJoinColumn |
Table.NestedJoin |
Table.AddIndexColumn |
Table.FillDown |
Table.TransformColumns |
Table.TransformColumnTypes |
Table.Sort |
Table.Distinct |
Table.ExpandRecordColumn |
Table.AggregateTableColumn |
Table.SingleRow |
Table.Combine |
Table.Pivot |
Table.Unpivot |
Table.UnpivotOtherColumns |
Table.SelectRowsWithErrors |
Table.RemoveRowsWithErrors |
Table.ReplaceErrorValues |
Table.ReplaceRelationshipIdentity |
Table.FilterWithDataTable |
Table.Split |
Table.SplitAt |
Table.Buffer |
Table.StopFolding |
Function.InvokeWithErrorContext |
Table.WithErrorContext |
Action.WithErrorContext |
JoinAlgorithm.Type |
JoinAlgorithm.Dynamic |
JoinAlgorithm.PairwiseHash |
JoinAlgorithm.SortMerge |
JoinAlgorithm.LeftHash |
JoinAlgorithm.RightHash |
JoinAlgorithm.LeftIndex |
JoinAlgorithm.RightIndex |
JoinSide.Type |
JoinSide.Left |
JoinSide.Right |
RowExpression.From |
RowExpression.Row |
RowExpression.Column |
ItemExpression.From |
ItemExpression.Item |
RankKind.Type |
RankKind.Competition |
RankKind.Dense |
RankKind.Ordinal |
Uri.Combine |
Uri.Parts |
Uri.BuildQueryString |
Uri.EscapeDataString |
Variable.Value |
Variable.ValueOrDefault |
Xml.Document |
Xml.Tables |
Access.Database |
ActiveDirectory.Domains |
AdobeAnalytics.Cubes |
AdoDotNet.Query |
AdoDotNet.DataSource |
AnalysisServices.Databases |
AnalysisServices.Database |
AzureStorage.Blobs |
AzureStorage.BlobContents |
AzureStorage.DataLake |
AzureStorage.DataLakeContents |
AzureStorage.Tables |
Informix.Database |
DB2.Database |
Excel.CurrentWorkbook |
Exchange.Contents |
File.Contents |
Folder.Contents |
Folder.Files |
Hdfs.Contents |
Hdfs.Files |
HdInsight.Files |
HdInsight.Contents |
HdInsight.Containers |
Web.Page |
MySQL.Database |
OData.Feed |
ODataOmitValues.Type |
ODataOmitValues.Nulls |
Odbc.Query |
Odbc.DataSource |
Odbc.InferOptions |
OleDb.Query |
OleDb.DataSource |
Oracle.Database |
PostgreSQL.Database |
Salesforce.Data |
Salesforce.Reports |
SapBusinessWarehouse.Cubes |
SapBusinessWarehouseExecutionMode.Type |
SapBusinessWarehouseExecutionMode.DataStream |
SapBusinessWarehouseExecutionMode.BasXml |
SapBusinessWarehouseExecutionMode.BasXmlGzip |
SapHana.Database |
SapHanaRangeOperator.Type |
SapHanaRangeOperator.GreaterThan |
SapHanaRangeOperator.LessThan |
SapHanaRangeOperator.GreaterThanOrEquals |
SapHanaRangeOperator.LessThanOrEquals |
SapHanaRangeOperator.Equals |
SapHanaRangeOperator.NotEquals |
SapHanaDistribution.Type |
SapHanaDistribution.Off |
SapHanaDistribution.Connection |
SapHanaDistribution.Statement |
SapHanaDistribution.All |
SharePoint.Contents |
SharePoint.Files |
SharePoint.Tables |
Geography.FromWellKnownText |
Geography.ToWellKnownText |
GeographyPoint.From |
Geometry.FromWellKnownText |
Geometry.ToWellKnownText |
GeometryPoint.From |
Sql.Database |
Sql.Databases |
Sybase.Database |
Teradata.Database |
Web.Contents |
Web.Headers |
Soda.Feed |
WebMethod.Type |
WebMethod.Delete |
WebMethod.Get |
WebMethod.Head |
WebMethod.Patch |
WebMethod.Post |
WebMethod.Put |
WebAction.Request |
Web.BrowserContents |
Table.AddFuzzyClusterColumn |
Table.FuzzyGroup |
Table.FuzzyJoin |
Table.FuzzyNestedJoin |
Html.Table |
Pdf.Tables |
Of course, you don’t need to know all of these functions, and even the most advanced Power Query users would only end up using a handful of these functions regularly.
Other Power Query articles you may also like: