diff --git a/process/shared/en.json b/process/shared/en.json index 60eae78f0..45f0e0795 100644 --- a/process/shared/en.json +++ b/process/shared/en.json @@ -16,19 +16,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "AmazonAthena.Databases", - "Documentation": { - "Documentation.Name": "Amazon Athena", - "Documentation.LongDescription": "This function sends basic authentication info" - }, - "ReturnType": "table", - "Parameters": { - "DSN": "text", - "role": "text" - }, - "RequiredParameters": "1" - }, { "Name": "AnalysisServices.Databases", "Documentation": { @@ -45,86 +32,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Asana.Tables", - "Documentation": { - "Documentation.Name": "Asana", - "Documentation.LongDescription": "Returns a table with Asana task data" - }, - "ReturnType": "table", - "Parameters": { - "link": "Uri.Type" - }, - "RequiredParameters": "1" - }, - { - "Name": "AssembleViews.Contents", - "Documentation": { - "Documentation.Name": "Assemble Views", - "Documentation.LongDescription": "Access views created within Assemble Insight" - }, - "ReturnType": "table", - "Parameters": { - "resourceUrl": "Uri.Type", - "viewAtDate": "any" - }, - "RequiredParameters": "1" - }, - { - "Name": "AssembleViews.Feed", - "Documentation": { - "Documentation.Name": "Assemble Views", - "Documentation.LongDescription": "Access views created within Assemble Insight" - }, - "ReturnType": "table", - "Parameters": { - "resourceUrl": "Uri.Type" - }, - "RequiredParameters": "1" - }, - { - "Name": "AtScale.Cubes", - "Documentation": { - "Documentation.Name": "AtScale cubes", - "Documentation.Caption": "AtScale", - "Documentation.Description": "Import/DirectQuery cube data from an AtScale.", - "Documentation.LongDescription": "\r\nReturns cube data from AtScale on server server. An optional record parameter, options, may be specified to control the following options:\r\n\r\nThe record parameter is specified as [option1 = value1, option2 = value2...].", - "Documentation.Examples": { - "Description": "List the cube data in an AtScale cube.", - "Code": "AtScale.Cubes(\"https://contoso.atscale.com:10502/xmla/...\")" - } - }, - "ReturnType": "table", - "Parameters": { - "server": "Uri.Type", - "options": "record" - }, - "RequiredParameters": "1" - }, - { - "Name": "AutodeskConstructionCloud.Contents", - "Documentation": { - "Documentation.Name": "Autodesk Construction Cloud", - "Documentation.LongDescription": null - }, - "ReturnType": "table", - "Parameters": { - "region": "Text.Type" - }, - "RequiredParameters": "1" - }, - { - "Name": "AutodeskConstructionCloud.Feed", - "Documentation": { - "Documentation.Name": "Autodesk Construction Cloud", - "Documentation.LongDescription": null - }, - "ReturnType": "table", - "Parameters": { - "region": "Text.Type" - }, - "RequiredParameters": "1" - }, { "Name": "AzureDataExplorer.Contents", "Documentation": { @@ -273,68 +180,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "AzureTimeSeriesInsights.Contents", - "Documentation": { - "Documentation.Name": "Azure Time Series Insights" - }, - "ReturnType": "table", - "Parameters": { - "query": "record" - }, - "RequiredParameters": "1" - }, - { - "Name": "AzureTrino.Contents", - "Documentation": { - "Documentation.Name": "Azure HDInsight on AKS Trino" - }, - "ReturnType": "table", - "Parameters": { - "host": "text", - "options": "record" - }, - "RequiredParameters": "1" - }, - { - "Name": "BI360.Contents", - "Documentation": { - "Documentation.Name": "Solver", - "Documentation.FieldDescription": "Navigation table", - "Documentation.LongDescription": "Retrieves a Navigation Table populated with the enabled tables for a given token" - }, - "ReturnType": "table", - "Parameters": { - "url": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "BIConnector.Contents", - "Documentation": { - "Documentation.Description": "Enter connection information", - "Documentation.DisplayName": "BI Connector", - "Documentation.Name": "BI Connector", - "Documentation.Caption": "BI Connector" - }, - "ReturnType": "table", - "Parameters": { - "dsnname": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "BQL.Query", - "Documentation": { - "Documentation.Name": "Bloomberg Data and Analytics v1.0.17", - "Documentation.Description": "Used for retrieving Bloomberg data" - }, - "ReturnType": "table", - "Parameters": { - "BQLQuery": "text" - }, - "RequiredParameters": "1" - }, { "Name": "Cdm.Contents", "Documentation": { @@ -364,53 +209,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Celonis.KnowledgeModels", - "Documentation": { - "Documentation.Name": "Celonis EMS" - }, - "ReturnType": "table", - "Parameters": { - "URL": "Uri.Type" - }, - "RequiredParameters": "1" - }, - { - "Name": "Celonis.Navigation", - "Documentation": { - "Documentation.Name": "Celonis EMS" - }, - "ReturnType": "table", - "Parameters": { - "URL": "Uri.Type" - }, - "RequiredParameters": "1" - }, - { - "Name": "Cognite.Contents", - "Documentation": { - "Documentation.Name": "Cognite Data Fusion (CDF)", - "Documentation.LongDescription": "Cognite Data Fusion (CDF)" - }, - "ReturnType": "table", - "Parameters": { - "project": "text", - "environment": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "CosmosDB.Contents", - "Documentation": { - "Documentation.Name": "Azure Cosmos DB v2" - }, - "ReturnType": "table", - "Parameters": { - "host": "text", - "options": "record" - }, - "RequiredParameters": "1" - }, { "Name": "Csv.Document", "Documentation": { @@ -526,19 +324,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "DCWInsights.Feed", - "Documentation": { - "Documentation.Name": "DCW - Integrations Platform Insights", - "Documentation.LongDescription": "Use the DCW Integrations Platform OData API to build powerful reports and dashboards. Consult the API documentation to get the various endpoints available as well as how to obtain to your JWT key." - }, - "ReturnType": "table", - "Parameters": { - "url": "text", - "query": "any" - }, - "RequiredParameters": "1" - }, { "Name": "DataLake.Contents", "Documentation": { @@ -567,32 +352,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "DeltaSharing.Contents", - "Documentation": { - "Documentation.Name": "Delta Sharing" - }, - "ReturnType": "table", - "Parameters": { - "host": "text", - "options": "record" - }, - "RequiredParameters": "1" - }, - { - "Name": "Denodo.Contents", - "Documentation": { - "Documentation.Name": "Denodo Connector", - "Documentation.LongDescription": "The Denodo Connector allows you to connect to Denodo's VDP server from PowerBI" - }, - "ReturnType": "table", - "Parameters": { - "DSN": "text", - "debug": "logical", - "options": "record" - }, - "RequiredParameters": "1" - }, { "Name": "DirectQueryCapabilities.From", "Documentation": { @@ -625,92 +384,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Dremio.Databases", - "Documentation": { - "Documentation.Name": "Dremio Software", - "Documentation.LongDescription": "Returns a table listing the datasets on Dremio Server. This will be the same list as shown in Power BI Navigator. See https://docs.microsoft.com/en-us/powerquery-m/odbc-datasource", - "Documentation.Examples": [ - { - "Description": "How to return the list of datasets on localhost. This uses the default encrypted connection.", - "Code": "Dremio.Databases(\"localhost:31010\")", - "Result": "A table listing the datasets on localhost." - } - ] - }, - "ReturnType": "table", - "Parameters": { - "server": "text", - "engine": "text", - "routingTag": "text", - "routingQueue": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "DremioCloud.Databases", - "Documentation": { - "Documentation.Name": "Dremio Cloud", - "Documentation.LongDescription": "Returns a table listing the datasets in the specified project on Dremio Cloud. This will be the same list as shown in Power BI Navigator. See https://docs.microsoft.com/en-us/powerquery-m/odbc-datasource. This function is maintained for backward compatibility with previous connector versions of Dremio Cloud.", - "Documentation.Examples": [ - { - "Description": "How to return the list of datasets in project, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, on Dremio Cloud.", - "Code": "DremioCloud.Databases(\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")", - "Result": "A table listing the datasets in project, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx." - } - ] - }, - "ReturnType": "table", - "Parameters": { - "projectId": "text", - "engine": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "DremioCloud.DatabasesByServer", - "Documentation": { - "Documentation.Name": "Dremio Cloud", - "Documentation.LongDescription": "Returns a table listing the datasets on the specified server on Dremio Cloud. This will be the same list as shown in Power BI Navigator. See https://docs.microsoft.com/en-us/powerquery-m/odbc-datasource", - "Documentation.Examples": [ - { - "Description": "How to return the list of datasets on a server on Dremio Cloud.", - "Code": "DremioCloud.DatabasesByServer(\"sql.dremio.cloud:443\")", - "Result": "A table listing the datasets on a server." - } - ] - }, - "ReturnType": "table", - "Parameters": { - "server": "text", - "projectId": "text", - "engine": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "DremioCloud.DatabasesByServerV330", - "Documentation": { - "Documentation.Name": "Dremio Cloud", - "Documentation.LongDescription": "Returns a table listing the datasets on the specified server on Dremio Cloud. This will be the same list as shown in Power BI Navigator. See https://docs.microsoft.com/en-us/powerquery-m/odbc-datasource", - "Documentation.Examples": [ - { - "Description": "How to return the list of datasets on a server on Dremio Cloud.", - "Code": "DremioCloud.DatabasesByServerV330(\"sql.dremio.cloud:443\")", - "Result": "A table listing the datasets on a server." - } - ] - }, - "ReturnType": "table", - "Parameters": { - "server": "text", - "projectId": "text", - "engine": "text", - "routingTag": "text", - "routingQueue": "text" - }, - "RequiredParameters": "1" - }, { "Name": "Dynamics365BusinessCentralOnPremises.Contents", "Documentation": { @@ -743,17 +416,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "EQuIS.Contents", - "Documentation": { - "Documentation.Name": "EQuIS" - }, - "ReturnType": "table", - "Parameters": { - "baseUri": "Uri.Type" - }, - "RequiredParameters": "1" - }, { "Name": "Essbase.Cubes", "Documentation": { @@ -793,16 +455,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Fhir.Contents", - "Documentation": {}, - "ReturnType": "table", - "Parameters": { - "url": "Uri.Type", - "searchQuery": "text" - }, - "RequiredParameters": "1" - }, { "Name": "Folder.Contents", "Documentation": { @@ -835,21 +487,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Foundry.Contents", - "Documentation": { - "Documentation.Name": "Foundry", - "Documentation.LongDescription": "Connect to Palantir Foundry datasets.", - "Documentation.Examples": [] - }, - "ReturnType": "table", - "Parameters": { - "BaseUri": "text", - "datasetRid": "text", - "branch": "text" - }, - "RequiredParameters": "1" - }, { "Name": "GoogleBigQueryAad.Database", "Documentation": { @@ -871,20 +508,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "GoogleSheets.Contents", - "Documentation": { - "Documentation.Name": "Google Sheets", - "Documentation.Caption": "Google Sheets", - "Documentation.Description": "Imports data from GoogleSheets", - "Documentation.LongDescription": "Imports data from GoogleSheets" - }, - "ReturnType": "table", - "Parameters": { - "url": "text" - }, - "RequiredParameters": "1" - }, { "Name": "HdInsight.Containers", "Documentation": { @@ -946,37 +569,16 @@ "RequiredParameters": "1" }, { - "Name": "HexagonSmartApi.Feed", + "Name": "Impala.Database", "Documentation": { - "Documentation.Name": "Hexagon PPM Smart® API", - "Documentation.LongDescription": "Returns a table from a Hexagon PPM Smart® API OData feed.", + "Documentation.Name": "Impala", + "Documentation.Caption": "Impala", + "Documentation.Description": "Import data from an Impala cluster", + "Documentation.LongDescription": "Import data from an Impala cluster server. If a port wasn't specified, the default port 21050 will be used.", "Documentation.Examples": [ { - "Description": "Returns an OData service document in table form from a Hexagon PPM Smart® API OData feed.", - "Code": "HexagonSmartApi.Feed(\"https://example.com/SampleService/V1\")", - "Result": "#table({\"Name\"}, {{\"Data\"}, {\"Signature\"}})" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "url": "Uri.Type", - "headers": "text", - "odataFeedVersion": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "Impala.Database", - "Documentation": { - "Documentation.Name": "Impala", - "Documentation.Caption": "Impala", - "Documentation.Description": "Import data from an Impala cluster", - "Documentation.LongDescription": "Import data from an Impala cluster server. If a port wasn't specified, the default port 21050 will be used.", - "Documentation.Examples": [ - { - "Description": "List the tables in an Impala cluster.", - "Code": "Impala.Database(\"localhost:21050\")" + "Description": "List the tables in an Impala cluster.", + "Code": "Impala.Database(\"localhost:21050\")" } ] }, @@ -987,53 +589,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "InformationGrid.Contents", - "Documentation": { - "Documentation.Name": "Information Grid BI Services", - "Documentation.LongDescription": "Retrieves information from authorised BI services available on the given server", - "Documentation.Examples": [ - { - "Description": "Returns a Navigation Table listing the available Information Grid BI services", - "Code": "InformationGrid.Contents(\"192.168.1.123\", false)", - "Result": "(Navigation table listing available BI services)" - }, - { - "Description": "Returns information from a specific named Information Grid BI service using HTTP", - "Code": "InformationGrid.Contents(\"igserver.somedomain.com\", true){[Service=\"service-name\"]}[Data]", - "Result": "(Data retrieved for the named BI service)" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "server": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "Intune.Contents", - "Documentation": { - "Documentation.Name": "Intune Data Warehouse", - "Documentation.LongDescription": "Intune Data Warehouse" - }, - "ReturnType": "table", - "Parameters": { - "maxHistoryDays": "number" - }, - "RequiredParameters": "1" - }, - { - "Name": "Kognitwin.Contents", - "Documentation": { - "Documentation.Name": "Kognitwin v1.1" - }, - "ReturnType": "table", - "Parameters": { - "URL": "Uri.Type" - }, - "RequiredParameters": "1" - }, { "Name": "Kusto.Contents", "Documentation": { @@ -1140,55 +695,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "MariaDB.Contents", - "Documentation": { - "Documentation.Name": "MariaDB data source", - "Documentation.LongDescription": "

Returns a navigation table.

\r\n \r\n \r\n

databasename can be provided in either of the input parameters:

\r\n \r\n

The MariaDB Data Source string uniquely identifies a data source in Power BI and allows using different credentials for each data source.\r\n Credentials for a data source are configured in Power BI Data source settings screen. \r\n MariaDB Power BI connector supports Basic authentication per server or per database.\r\n E.g. it is possible to connect with different credentials to databases residing on the same MariaDB server.

\r\n \r\n

CreateNavigationProperties is a parameter for Odbc.DataSource.

\r\n

A logical value that sets whether to generate navigation properties on the returned tables. Navigation properties are based on foreign key relationships reported by the driver. These properties show up as “virtual” columns that can be expanded in the query editor, creating the appropriate join.

\r\n

If calculating foreign key dependencies is an expensive operation for your driver, you may want to set this value to false.

\r\n

Default: TRUE

", - "Documentation.Examples": [ - { - "Description": "Returns a table of MariaDB tables and views functions from the MariaDB database databasename on server servername.", - "Code": "MariaDB.Contents(\"servername\", \"databasename\")", - "Result": "#table({\"Name\", \"Description\", \"Data\", \"Kind\"}, {\r\n {\"airlines\", null, #table(...), \"Table\"},\r\n {\"airports\", null, #table(...), \"Table\"},\r\n {\"flights\", null, #table(...), \"Table\"}\r\n })" - }, - { - "Description": "Returns a table of databases on the specified MariaDB server using the default port 3306 to connect. Equivalent to MariaDB.Contents(\"servername:3306\").", - "Code": "MariaDB.Contents(\"servername\")", - "Result": "#table({\"Name\", \"Description\", \"Data\", \"Kind\"}, {\r\n {\"mysql\", null, #table(...), \"Database\"},\r\n {\"flights\", null, #table(...), \"Database\"}\r\n })" - }, - { - "Description": "Returns a table of databases on the specified MariaDB server servername using the provided port number portnumber to connect.", - "Code": "MariaDB.Contents(\"servername:portnumber\")", - "Result": "#table({\"Name\", \"Description\", \"Data\", \"Kind\"}, {\r\n {\"mysql\", null, #table(...), \"Database\"},\r\n {\"flights\", null, #table(...), \"Database\"}\r\n })" - }, - { - "Description": "Returns a table of MariaDB tables and views from the MariaDB database databasename on server servername. \r\n The result is similar to MariaDB.Contents(\"servername\", \"databasename\"), but the string servername;databasename identifies a unique data source and allows using dedicated credentials for the database databasename.", - "Code": "MariaDB.Contents(\"servername;databasename\")", - "Result": "#table({\"Name\", \"Description\", \"Data\", \"Kind\"}, {\r\n {\"airlines\", null, #table(...), \"Table\"},\r\n {\"airports\", null, #table(...), \"Table\"},\r\n {\"flights\", null, #table(...), \"Table\"}\r\n })" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "MariaDB Data Source": "text", - "database": "text", - "CreateNavigationProperties": "logical" - }, - "RequiredParameters": "1" - }, - { - "Name": "MicroStrategyDataset.Contents", - "Documentation": { - "Documentation.Name": "MicroStrategy for Power BI ver. 2.4.5" - }, - "ReturnType": "table", - "Parameters": { - "libraryUrl": "Uri.Type", - "authMode": "text", - "options": "record" - }, - "RequiredParameters": "1" - }, { "Name": "MicrosoftAzureConsumptionInsights.Contents", "Documentation": { @@ -1263,30 +769,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "MicrosoftGraphSecurity.Contents", - "Documentation": { - "Documentation.Name": "Microsoft Graph Security", - "Documentation.Description": "Connector for the Microsoft Graph Security API", - "Documentation.LongDescription": "The Microsoft Graph Security connector helps to connect different Microsoft \r\n\t\tand partner security products and services, to streamline security operations, and \r\n\t\timprove threat protection, detection, and response capabilities. Learn more about integrating with the Microsoft \r\n\t\tGraph Security API at \"https://aka.ms/graphsecuritydocs\". This connector will return the recent most 6000 rows \r\n\t\tof the result set. This constraint and the workaround to overcome this constraint is documented at \r\n\t\t\"https://aka.ms/graphsecurityapiconstraints\". You can either use the power query function ‘Specify custom Microsoft Graph Security URL to filter results’ or use the Power \r\n\t\tQuery Editor to provide the $filter query per the constraint workarounds to get data beyond the initial 6000 rows.", - "Documentation.Examples": [ - { - "Description": "Returns a table from the Microsoft Graph Security API.", - "Code": "MicrosoftGraphSecurity.Contents(\"v1.0\")" - }, - { - "Description": "Returns a table from the Microsoft Graph Security API.", - "Code": "MicrosoftGraphSecurity.Contents(\"beta\")" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "version": "Text.Type", - "options": "Record.Type" - }, - "RequiredParameters": "1" - }, { "Name": "Odbc.DataSource", "Documentation": { @@ -1341,17 +823,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Paxata.Contents", - "Documentation": { - "Documentation.Name": "From Paxata" - }, - "ReturnType": "table", - "Parameters": { - "URL": "Uri.Type" - }, - "RequiredParameters": "1" - }, { "Name": "Pdf.Tables", "Documentation": { @@ -1374,55 +845,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "PlanviewOKR.Contents", - "Documentation": { - "Documentation.Description": "Enter the URL of your Planview OKR account.", - "Documentation.DisplayName": "Planview OKR", - "Documentation.Caption": "Planview OKR.Contents", - "Documentation.Name": "Planview OKR", - "Documentation.LongDescription": "Returns a table with relevant Planview OKR data." - }, - "ReturnType": "table", - "Parameters": { - "ODataURL": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "PlanviewProjectplace.Contents", - "Documentation": { - "Documentation.Description": "Enter the URL of your Planview ProjectPlace account.", - "Documentation.DisplayName": "Planview ProjectPlace", - "Documentation.Caption": "PlanviewProjectplace.Contents", - "Documentation.Name": "Planview ProjectPlace", - "Documentation.LongDescription": "Returns a table with relevant Planview ProjectPlace data." - }, - "ReturnType": "table", - "Parameters": { - "ODataURL": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "Profisee.Tables", - "Documentation": { - "Documentation.Name": "Profisee", - "Documentation.LongDescription": "Navigation Table returning Profisee entities.", - "Documentation.Examples": [ - { - "Description": "Returns a navigational table containing all profisee entities that contains data for each entity.", - "Code": "Profisee.Tables(\"https://12345.com/profisee\")", - "Result": "#table({\"Name\", \"Data\", \"ItemKind\", \"ItemName\"}, {{\"ABCCode\", \"Table\", \"Table\", \"Table\"}})" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "URL": "Uri.Type" - }, - "RequiredParameters": "1" - }, { "Name": "Projectplace.Feed", "Documentation": { @@ -1456,18 +878,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "QuickBase.Contents", - "Documentation": { - "Documentation.Name": "Quick Base Connector", - "Documentation.LongDescription": "Quick Base Connector" - }, - "ReturnType": "table", - "Parameters": { - "URL": "Uri.Type" - }, - "RequiredParameters": "1" - }, { "Name": "QuickBooks.Query", "Documentation": {}, @@ -1640,21 +1050,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Spigit.Contents", - "Documentation": { - "Documentation.Description": "Enter the URL of your Planview IdeaPlace account.", - "Documentation.DisplayName": "Planview IdeaPlace", - "Documentation.Caption": "Spigit.Contents", - "Documentation.Name": "Planview IdeaPlace", - "Documentation.LongDescription": "Returns a table with relevant Planview IdeaPlace data." - }, - "ReturnType": "table", - "Parameters": { - "ODataURL": "text" - }, - "RequiredParameters": "1" - }, { "Name": "Sql.Databases", "Documentation": { @@ -1700,25 +1095,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "SumTotal.ODataFeed", - "Documentation": { - "Documentation.Name": "SumTotal BI Connector", - "Documentation.LongDescription": "SumTotal's Custom connector connects to SumTotal's external facing OData API service to pull data from data warehousing database . Filter expand, slice and create customer visuals and reports based on data returned from the OData feed", - "Documentation.Examples": [ - { - "Description": "Returns a table with specified entity data", - "Code": "SumTotal.ODataFeed('https://host.sumtotalystems.com/?rowVersionId=0')", - "Result": " Source{[Name='{OData Entity chosen}']}[Data]" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "URL": "Uri.Type" - }, - "RequiredParameters": "1" - }, { "Name": "Table.Buffer", "Documentation": { @@ -2258,75 +1634,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "TeamDesk.Database", - "Documentation": { - "Documentation.Name": "TeamDesk.Database", - "Documentation.LongDescription": "Connects to TeamDesk database and let you select a table and a view to retrieve the data from.", - "Documentation.Examples": [ - { - "Description": "Connect to sample TeamDesk database", - "Code": "TeamDesk.Database(\"https://www.teamdesk.net/secure/db/57692\")", - "Result": "Navigation table" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "URL": "Uri.Type" - }, - "RequiredParameters": "1" - }, - { - "Name": "TeamDesk.Select", - "Documentation": { - "Documentation.Name": "TeamDesk.Select", - "Documentation.LongDescription": "Retrieves the data from select columns in provided table. You can also apply an additional filter for results as well as change the order in which records are retrieved.", - "Documentation.Examples": [ - { - "Description": "Selects text and date columns", - "Code": "TeamDesk.Select(\"https://www.teamdesk.net/secure/db/57692\", \"Meeting\", { \"Starter\", \"Start Date\", \"Participants\" })", - "Result": "#table(\r\n\t{ \"Starter\", \"Start Date\", \"Participants\" },\r\n\t{\r\n\t\t{ \"\"Joe\"\", #date(2018, 10, 12), 10 },\r\n\t\t// ...\r\n\t}\r\n)" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "url": "Uri.Type", - "table": "text", - "columns": "any", - "filter": "text", - "orderBy": "any" - }, - "RequiredParameters": "1" - }, - { - "Name": "TeamDesk.SelectView", - "Documentation": { - "Documentation.Name": "TeamDesk.SelectView", - "Documentation.LongDescription": "Retrieves the data from provided table and view. You can also apply an additional filter for results.", - "Documentation.Examples": [ - { - "Description": "Retrieve all meetings from List All view", - "Code": "TeamDesk.SelectView(\"https://www.teamdesk.net/secure/db/57692\", \"Meeting\", \"List All\")", - "Result": "#table(\r\n\t{ \"Starter\", \"Start Date\", \"Participants\" },\r\n\t{\r\n\t\t{ \"\"Joe\"\", #date(2018, 10, 12), 10 },\r\n\t\t// ...\r\n\t}\r\n)" - }, - { - "Description": "Retrieve today's meetings from List All view", - "Code": "TeamDesk.SelectView(\"https://www.teamdesk.net/secure/db/57692\", \"Meeting\", \"List All\", \"[Start Date] = Today()\")", - "Result": "#table(\r\n\t{ \"Starter\", \"Start Date\", \"Participants\" },\r\n\t{\r\n\t\t{ \"\"Joe\"\", #date(2018, 10, 12), 10 },\r\n\t\t// ...\r\n\t}\r\n)" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "url": "Uri.Type", - "table": "text", - "view": "text", - "filter": "text" - }, - "RequiredParameters": "1" - }, { "Name": "Teradata.Database", "Documentation": { @@ -2343,32 +1650,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "TibcoTdv.DataSource", - "Documentation": { - "Documentation.DisplayName": "Power BI Connector for TIBCO(R) Data Virtualization", - "Documentation.Caption": "Power BI Connector for TIBCO(R) Data Virtualization", - "Documentation.Name": "Power BI Connector for TIBCO(R) Data Virtualization" - }, - "ReturnType": "table", - "Parameters": { - "dsn": "text", - "advancedOptions": "text", - "options": "record" - }, - "RequiredParameters": "1" - }, - { - "Name": "TimeSeriesInsights.Contents", - "Documentation": { - "Documentation.Name": "Azure Time Series Insights" - }, - "ReturnType": "table", - "Parameters": { - "query": "record" - }, - "RequiredParameters": "1" - }, { "Name": "Troux.Feed", "Documentation": { @@ -2414,25 +1695,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Usercube.Universes", - "Documentation": { - "Documentation.Name": "Usercube", - "Documentation.LongDescription": "Provides data from a Usercube instance", - "Documentation.Examples": [ - { - "Description": "Returns the universe data defined in the Usercube database.", - "Code": "Usercube.Universes(\"https://mycompany.usercube.com\")", - "Result": "Navigation table containing Usercube's universes" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "serverUrl": "text" - }, - "RequiredParameters": "1" - }, { "Name": "VSTS.Feed", "Documentation": { @@ -2479,42 +1741,6 @@ }, "RequiredParameters": "1" }, - { - "Name": "Vena.Contents", - "Documentation": { - "Documentation.Name": "Vena 1.0.4", - "Documentation.LongDescription": "Vena" - }, - "ReturnType": "table", - "Parameters": { - "source": "text", - "modelQuery": "text", - "apiVersion": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "VivaInsights.Data", - "Documentation": { - "Documentation.Name": "Connect to Viva Insights Data", - "Documentation.LongDescription": "Import weekly metrics and attribute data from Workplace Analytics.", - "Documentation.Examples": [ - { - "Description": "Returns a table with visible attributes and per week metrics for each measured employee in the partition.", - "Code": "VivaInsights.Data(\"5f142ea5-c08a-eb02-de68-41dccdefb141\")", - "Result": "#table({\"Query1\"}, {{\"PersonId\"\"}, {\"PID\"}})" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "scopeId": "text", - "jobName": "text", - "jobId": "text", - "advancedParameters": "record" - }, - "RequiredParameters": "1" - }, { "Name": "Web.Page", "Documentation": { @@ -2572,47 +1798,13 @@ "RequiredParameters": "1" }, { - "Name": "Witivio.Contents", + "Name": "Xml.Document", "Documentation": { - "Documentation.Name": "Witivio 365 - Configuration", - "Documentation.LongDescription": "Witivio 365 - Configuration" - }, - "ReturnType": "table", - "Parameters": { - "botId": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "WorkplaceAnalytics.Data", - "Documentation": { - "Documentation.Name": "Connect to Viva Insights Data", - "Documentation.LongDescription": "Import weekly metrics and attribute data from Workplace Analytics.", - "Documentation.Examples": [ - { - "Description": "Returns a table with visible attributes and per week metrics for each measured employee in the partition.", - "Code": "VivaInsights.Data(\"5f142ea5-c08a-eb02-de68-41dccdefb141\")", - "Result": "#table({\"Query1\"}, {{\"PersonId\"\"}, {\"PID\"}})" - } - ] - }, - "ReturnType": "table", - "Parameters": { - "scopeId": "text", - "jobName": "text", - "jobId": "text", - "schemaType": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "Xml.Document", - "Documentation": { - "Documentation.Name": "Xml.Document", - "Documentation.Description": "Returns the contents of the XML document as a hierarchical table.", - "Documentation.LongDescription": "Returns the contents of the XML document as a hierarchical table.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Xml.Document", + "Documentation.Description": "Returns the contents of the XML document as a hierarchical table.", + "Documentation.LongDescription": "Returns the contents of the XML document as a hierarchical table.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, "ReturnType": "table", "Parameters": { @@ -2660,6907 +1852,5529 @@ "RequiredParameters": "1" }, { - "Name": "AdoDotNet.DataSource", - "Documentation": { - "Documentation.Name": "AdoDotNet.DataSource", - "Documentation.Description": "Returns the schema collection for an ADO.NET data source.", - "Documentation.LongDescription": "Returns the schema collection for the ADO.NET data source with provider name providerName and connection string connectionString. connectionString can be text or a record of property value pairs. Property values can either be text or number. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] - }, - "ReturnType": "table", + "Name": "AzureDataExplorer.Databases", + "Documentation": {}, + "ReturnType": "list", "Parameters": { - "providerName": "text", - "connectionString": "any", + "cluster": "text", "options": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "AmazonRedshift.Database", + "Name": "AzureEnterprise.Contents", "Documentation": { - "Documentation.Name": "Amazon Redshift", - "Documentation.Caption": "Amazon Redshift (Beta)", - "Documentation.Description": "Import data from an Amazon Redshift database.", - "Documentation.LongDescription": "Returns a table listing the tables on the Amazon Redshift cluster server in the database database. An optional record parameter, options, may be specified to control the following options:\r\n\r\n ", + "Documentation.Description": "Enter the URL of the Azure Enterprise REST API endpoint associated with your enrollment", + "Documentation.DisplayName": "AzureEnterprise.Contents", + "Documentation.Caption": "AzureEnterprise.Contents", + "Documentation.Name": "AzureEnterprise.Contents", + "Documentation.LongDescription": "Returns the binary results of the call to the url provided for the Azure Enterprise API.", "Documentation.Examples": [ { - "Description": null, - "Code": "AmazonRedshift.Database(\"contoso.redshift.amazonaws.com:5439\", \"dev\")" + "Description": "Using the AzureEnterprise.Contents function to return the results of a specific report.", + "Code": " let\r\n report = Table.FromColumns({Lines.FromBinary(Binary.Buffer(AzureEnterprise.Contents(\"https://ea.azure.com/rest/12345/usage-report\", [month=\"2014-04\", type=\"summary\", fmt=\"Csv\"])),null,null,1252)}),\r\n skips = Table.Skip(report, 2),\r\n split = Table.SplitColumn(skips, \"Column1\", Splitter.SplitTextByDelimiter(\",\", QuoteStyle.Csv)),\r\n promoted = Table.PromoteHeaders(split)\r\n in\r\n promoted", + "Result": "Table" } ] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "url": "text", + "query": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "AnalysisServices.Database", + "Name": "AzureStorage.BlobContents", "Documentation": { - "Documentation.Name": "AnalysisServices.Database", - "Documentation.Description": "Returns a table of multidimensional cubes or tabular models from the Analysis Services database.", - "Documentation.LongDescription": "Returns a table of multidimensional cubes or tabular models from the Analysis Services database database on server server. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n ", + "Documentation.Name": "AzureStorage.BlobContents", + "Documentation.Description": "Returns the content of the specified blob from an Azure storage vault.", + "Documentation.LongDescription": "Returns the content of the blob at the URL, url, from an Azure storage vault. options may be specified to control the following options:\r\n \r\n", "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "server": "text", - "database": "text", + "url": "text", "options": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Anaplan.Contents", + "Name": "AzureStorage.DataLakeContents", "Documentation": { - "Documentation.Name": "Anaplan Connection Configuration" + "Documentation.Name": "AzureStorage.DataLakeContents", + "Documentation.Description": "Returns the content of the specified file from an Azure Data Lake Storage filesystem.", + "Documentation.LongDescription": "Returns the content of the file at the URL, url, from an Azure Data Lake Storage filesystem. options may be specified to control the following options:\r\n \r\n", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "apiUrl": "text", - "authUrl": "text" + "url": "text", + "options": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "ApacheSpark.Tables", + "Name": "Binary.ApproximateLength", "Documentation": { - "Documentation.Name": "Spark", - "Documentation.Caption": "Spark", - "Documentation.Description": "Returns a table listing the tables on the specified Spark cluster.", - "Documentation.LongDescription": "Returns a table listing the tables on the Spark cluster host using protocol. Valid protocols are:\r\nSparkProtocol.Standard, SparkProtocol.HTTP", + "Documentation.Name": "Binary.ApproximateLength", + "Documentation.Description": "Returns the approximate length of the binary.", + "Documentation.LongDescription": "Returns the approximate length of binary, or an error if the data source doesn't support an approximate length.", + "Documentation.Category": "Binary", "Documentation.Examples": [ { - "Description": "Returns a table listing the tables on the specified Spark cluster.", - "Code": "Spark.Tables(\"http://example.com:10000/cliservice\", SparkProtocol.HTTP)" + "Description": "Get the approximate length of the binary value.", + "Code": "Binary.ApproximateLength(Binary.FromText(\"i45WMlSKjQUA\", BinaryEncoding.Base64))", + "Result": "9" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "server": "text", - "protocol": "SparkProtocol.Type", - "options": "record" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "AutomationAnywhere.Feed", + "Name": "Binary.Buffer", "Documentation": { - "Documentation.Name": "Automation Anywhere - Login", - "Documentation.LongDescription": "Automation Anywhere - Login" + "Documentation.Name": "Binary.Buffer", + "Documentation.Description": "Buffers the binary value in memory.", + "Documentation.LongDescription": "Buffers the binary value in memory. The result of this call is a stable binary value, which means it will have a deterministic length and order of bytes.", + "Documentation.Category": "Binary", + "Documentation.Examples": [ + { + "Description": "Create a stable version of the binary value.", + "Code": "Binary.Buffer(Binary.FromList({0..10}))", + "Result": "#binary({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10})" + } + ] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "CRVersion": "text", - "CRHostName": "text" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "AzureDevOpsServer.AnalyticsViews", + "Name": "Binary.Combine", "Documentation": { - "Documentation.Description": "Enter organization and project names.", - "Documentation.DisplayName": "VSTS.AnalyticsViews", - "Documentation.Caption": "VSTS.AnalyticsViews", - "Documentation.Name": "Azure DevOps Server (Boards only)", - "Documentation.LongDescription": "Returns a table of Analytics views offered by Azure DevOps." + "Documentation.Name": "Binary.Combine", + "Documentation.Description": "Combines a list of binaries into a single binary.", + "Documentation.LongDescription": "Combines a list of binaries into a single binary.", + "Documentation.Category": "Binary", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "url": "text", - "project": "text", - "options": "record" + "binaries": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "AzureHiveLLAP.Database", + "Name": "Binary.From", "Documentation": { - "Documentation.Name": "HDInsight Interactive Query", - "Documentation.Caption": null, - "Documentation.Description": "Import data from HDInsight Interactive Query", - "Documentation.LongDescription": "\r\nReturns a list of tables from HDInsight Interactive Query specified by the database on the HDInsight Interactive Query server. A port number may be optionally specified with the server, separated by a colon. An optional options parameter may be specified to control the following options:\r\n\r\nThe options parameter is specified as [option1 = value1, option2 = value2...]." + "Documentation.Name": "Binary.From", + "Documentation.Description": "Creates a binary from the given value", + "Documentation.LongDescription": "Returns a binary value from the given value. If the given value is null, Binary.From returns null. If the given value is binary, value is returned. Values of the following types can be converted to a binary value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Category": "Binary", + "Documentation.Examples": [ + { + "Description": "Get the binary value of \"1011\".", + "Code": "Binary.From(\"1011\")", + "Result": "Binary.FromText(\"1011\", BinaryEncoding.Base64)" + } + ] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "value": "any", + "encoding": "BinaryEncoding.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Cdm.MapToEntity", + "Name": "Binary.FromList", "Documentation": { - "Documentation.Caption": "Cdm.MapToEntity", - "Documentation.Description": "Returns a table with columns mapped to the attributes of an entity in the Common Data Model, including data types.", - "Documentation.DisplayName": "Cdm.MapToEntity", - "Documentation.LongDescription": "Returns a table with columns mapped to the attributes of an entity in the Common Data Model, including data types. Columns from the entity definition will be added if not mapped, and any unmapped columns will be removed.", - "Documentation.Name": "Cdm.MapToEntity" + "Documentation.Name": "Binary.FromList", + "Documentation.Description": "Converts a list of numbers into a binary value.", + "Documentation.LongDescription": "Converts a list of numbers into a binary value.", + "Documentation.Category": "Binary", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "table": "table", - "columnDefinitions": "any", - "defaultType": "type", - "defaultCdmClass": "text" + "list": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Cherwell.SavedSearches", + "Name": "Binary.FromText", "Documentation": { - "Documentation.Name": "Cherwell Data Connector v1.0", - "Documentation.LongDescription": "Returns the results of a Saved Search from a Cherwell Service Management REST API (requires CSM version 10.2 or later)." + "Documentation.Name": "Binary.FromText", + "Documentation.Description": "Decodes data from a text form into binary.", + "Documentation.LongDescription": "Returns the result of converting text value text to a binary (list of number). encoding may be specified to indicate the encoding used in the text value.\r\n The following BinaryEncoding values may be used for encoding.\r\n ", + "Documentation.Category": "Binary", + "Documentation.Examples": [ + { + "Description": "Decode \"1011\" into binary.", + "Code": "Binary.FromText(\"1011\")", + "Result": "Binary.FromText(\"1011\", BinaryEncoding.Base64)" + }, + { + "Description": "Decode \"1011\" into binary with Hex encoding.", + "Code": "Binary.FromText(\"1011\", BinaryEncoding.Hex)", + "Result": "Binary.FromText(\"EBE=\", BinaryEncoding.Base64)" + } + ] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "API URL": "text", - "Client ID": "text", - "Locale": "text", - "Saved Search URL": "text" + "text": "text", + "encoding": "BinaryEncoding.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "CloudBluePSA.Feed", + "Name": "Binary.InferContentType", "Documentation": { - "Documentation.Name": "Retrieve all pages of data", - "Documentation.LongDescription": "This function will resolve the page limitation issue and will retrieve and combine all pages of data returned by the API endpoint in an efficient manner." + "Documentation.Name": "Binary.InferContentType", + "Documentation.Description": "Reads the binary stream and tries to determine the content type and format information of the stream.", + "Documentation.LongDescription": "Returns a record with field Content.Type that contains the inferred MIME-type.\r\n If the inferred content type is text/*, and an encoding code page is detected, then additionally returns field Content.Encoding that contains the encoding of the stream.\r\n If the inferred content type is text/csv, and the format is delimited, additionally returns field Csv.PotentialDelimiter containing a table for analysis of potential delimiters.\r\n If the inferred content type is text/csv, and the format is fixed-width, additionally returns field Csv.PotentialPositions containing a list for analysis of potential fixed width column positions.", + "Documentation.Category": "Binary", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "url": "Text.Type", - "filter": "Text.Type" + "source": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Cube.ApplyParameter", + "Name": "Binary.Length", "Documentation": { - "Documentation.Name": "Cube.ApplyParameter", - "Documentation.Description": "Returns a cube after applying a parameter to it.", - "Documentation.LongDescription": "Returns a cube after applying parameter with arguments to cube.", - "Documentation.Category": "Cube", + "Documentation.Name": "Binary.Length", + "Documentation.Description": "Returns the number of characters.", + "Documentation.LongDescription": "Returns the number of characters.", + "Documentation.Category": "Binary", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "cube": "table", - "parameter": "any", - "arguments": "list" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Cube.CollapseAndRemoveColumns", + "Name": "Binary.ToList", "Documentation": { - "Documentation.Name": "Cube.CollapseAndRemoveColumns", - "Documentation.Description": "Changes the dimensional granularity of the filter context for the cube by collapsing the attributes mapped to the specified columns.", - "Documentation.LongDescription": "Changes the dimensional granularity of the filter context for the cube by collapsing the attributes mapped to the specified columns columnNames. The columns are also removed from the tabular view of the cube.", - "Documentation.Category": "Cube", + "Documentation.Name": "Binary.ToList", + "Documentation.Description": "Converts a binary value into a list of numbers.", + "Documentation.LongDescription": "Converts a binary value into a list of numbers.", + "Documentation.Category": "Binary", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "list", "Parameters": { - "cube": "table", - "columnNames": "list" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Cube.ReplaceDimensions", + "Name": "Binary.ToText", "Documentation": { - "Documentation.Name": "Cube.ReplaceDimensions", - "Documentation.Description": "Replaces the set of dimensions returned by Cube.Dimensions.", - "Documentation.LongDescription": "Replaces the set of dimensions returned by Cube.Dimensions.\r\n For example, this function can be used to add an ID column to a dimension attribute, so that the data source can group on the ID rather than the displayed value.", - "Documentation.Category": "Cube", + "Documentation.Name": "Binary.ToText", + "Documentation.Description": "Encodes binary data into a text form.", + "Documentation.LongDescription": "Returns the result of converting a binary list of numbers binary into a text value. Optionally, encoding may be specified to indicate the encoding to be used in the text value produced\r\n The following BinaryEncoding values may be used for encoding.\r\n ", + "Documentation.Category": "Binary", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "cube": "table", - "dimensions": "any" + "binary": "binary", + "encoding": "BinaryEncoding.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Cube.Transform", + "Name": "Binary.ViewError", "Documentation": { - "Documentation.Name": "Cube.Transform", - "Documentation.Description": "Applies a list of cube functions.", - "Documentation.LongDescription": "Applies the list cube functions, transforms, on the cube.", - "Documentation.Category": "Cube", + "Documentation.Name": "Binary.ViewError", + "Documentation.Description": "Creates a modified error record which won't trigger a fallback when thrown by a handler defined on a view (via Binary.View).", + "Documentation.LongDescription": "Creates a modified error record from errorRecord which won't trigger a fallback when thrown by a handler defined on a view (via Binary.View).", + "Documentation.Category": "Binary", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "cube": "table", - "transforms": "list" + "errorRecord": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DB2.Database", + "Name": "Binary.ViewFunction", "Documentation": { - "Documentation.Name": "DB2.Database", - "Documentation.Description": "Returns a table of SQL tables and views available in a Db2 database.", - "Documentation.LongDescription": "Returns a table of SQL tables and views available in a Db2 database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", - "Documentation.Category": "Accessing data", + "Documentation.Name": "Binary.ViewFunction", + "Documentation.Description": "Creates a function that can be intercepted by a handler defined on a view (via Binary.View).", + "Documentation.LongDescription": "

Creates a view function based on function that can be handled in a view created by Binary.View.

\r\n

The OnInvoke handler of Binary.View can be used to define a handler for the view function.

\r\n

As with the handlers for built-in operations, if no OnInvoke handler is specified, or if it does not handle the view function, or if an error is raised by the handler, function is applied on top of the view.

\r\n

Refer to the published Power Query custom connector documentation for a more complete description of Binary.View and custom view functions.

", + "Documentation.Category": "Binary", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "function": "function" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DataVirtuality.Database", + "Name": "BinaryFormat.7BitEncodedSignedInteger", "Documentation": { - "Documentation.Name": "Data Virtuality LDW", - "Documentation.LongDescription": "Data Virtuality LDW", - "Documentation.Icon": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAB0VBMVEUAAAD9VAD9VAD9VQD8UwD8UwD/UgD/YAD8VAD8UwD/VQD/TgD9VAD9VAD/WQD9VAD9VQD9VAD8VQD9VAD9VQD/WAD9VAD9VAD/QAD9VAD+VAD9UwD8VQD/WAD9UwD9VAD9VAD9VQD9VAD/UwD9VAD8VQD7UwD9UwD9VAD/ZgD/VQD7VQD+VQD+VAD9VAD8VAD9VAD8VQD9VAD+VAD+VAD9VAD8VQD8VAD9VAD9VQD+VAD9UwD9VAD+VQD/UgD8UwD/VQD/VQD9VAD9VAD/XQD/gAD9UwD9VAD9VQD9VAD9VAD8UwD+VAD9VQD/AAD9UwD8VAD/VQD9VAD9UwD9UwD9VAD9UwD/VQD+VAD9VAD/UgD/UQD8VAD9VAD9VAD/VQD9VQD9VAD8UwD9VAD9VAD9VAD8VQD9VAD9UwD/VQD9VAD9VAD9UwD8VQD9VAD+VAD9VAD8VAD9VAD9UwD+VAD8VQD8VAD8VAD/UgD8VAD9VQD8UwD/VQD9VAD9VAD9VAD/UgD9VAD9UwD+VQD9VAD9VAD8VAD7VAD/UwD/UAD/UwD/SQD/VQD8UwD9UwD9UwD8VQD8VAD9VAD/WwD7UwD/WgD/VQD9VAD9VAD9VAD////dQrB6AAAAmXRSTlMAfNjQX2I+CF5WBg3ngxTjzYZXhWkd99sEnrefUSBonYxs9jH9wUSN1wUkSL6z82TUXZK6sPTKSehvsZz1sjtZAwn53gsClptm/tVNtngBpcI2o4ri/Kghv20cFsn4iA917lPs6XlLdoQS7aTcxKC95cOVgbROYUwfxn5cMGpnmjjda7vR2sBDIhA0Bx5lkNZjUuoORxEt4X/Uy7aCAAAAAWJLR0SamN9nEgAAAAd0SU1FB+MGEhMlMY4ZZMwAAAHrSURBVDjLfVP3WxNBEB2kHEZKBCEUaTHSYiNUNYFESMjFEHoRTSyolNAUkKKogKHbUND5b93Zu1vvy346P9zMvPd2Zm93FiDJUs6lpsF/LB2ZZci4knneQv5CFgmyJT4nF9GqsOAi8ZgnCfIJvgRQUEiBrUgSFBNeAlDKC1wmqKy8ojJHCKoItytXHOSvgqW6ppZHdYagnq90XuOu9PoN1O2mKGGj9BYmW4MQuHSksanZxLcoQtCqIW0At/HOXb4Vt6dc49tTOrzgsyPec3k6u8AfAOhm7Zw+fW1QRQzdhzBiD4CfbTsC0MsK9PWbt4d9A4iDouHQMIPUkVGejIktqQ903jL+8BEB0dhjlj0x+KfPTEcb07CJIGsYfK4lL0z8ywlj2SRd8ZSdwgGYNviav0cxw4GCOPsVnLWKCnOI8wtcsKgj/a9Y8loIlhCXYYVdmPpGR3yrIcQpiLCWa+tLG6yn3QdFb7PfcbZuM8wHJfr+A34Eb1Tr3irq+ddN97O1vaNHLiFYkW75E30SQpBp4O5lPnq4u8fdviE44KOecDkV7dzVwyM3+W1R4vjzl80yClb5yjiAh3xAmm3/V8IL1/T39U0SfOcFYvTQ2I+1jUuCDeJPflB49DPtVOLhzKG9r39bg+3X70gS9gcfgQLGL9JAEQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0wNi0xOFQxOTowOTo0MSswMDowMHnJhwoAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMDYtMThUMTk6MDk6NDMrMDA6MDCfCy6fAAAAAElFTkSuQmCC" + "Documentation.Name": "BinaryFormat.7BitEncodedSignedInteger", + "Documentation.Description": "A binary format that reads a 64-bit signed integer that was encoded using a 7-bit variable-length encoding.", + "Documentation.LongDescription": "A binary format that reads a 64-bit signed integer that was encoded using a 7-bit variable-length encoding.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DataWorld.Dataset", + "Name": "BinaryFormat.7BitEncodedUnsignedInteger", "Documentation": { - "Documentation.Name": "DataWorld.Dataset", - "Documentation.LongDescription": "Retrieves a dataset from Data.World" + "Documentation.Name": "BinaryFormat.7BitEncodedUnsignedInteger", + "Documentation.Description": "A binary format that reads a 64-bit unsigned integer that was encoded using a 7-bit variable-length encoding.", + "Documentation.LongDescription": "A binary format that reads a 64-bit unsigned integer that was encoded using a 7-bit variable-length encoding.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "owner": "text", - "id": "text", - "query": "text" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Databricks.Catalogs", + "Name": "BinaryFormat.Byte", "Documentation": { - "Documentation.Name": "Azure Databricks" + "Documentation.Name": "BinaryFormat.Byte", + "Documentation.Description": "A binary format that reads an 8-bit unsigned integer.", + "Documentation.LongDescription": "A binary format that reads an 8-bit unsigned integer.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "host": "text", - "httpPath": "text", - "options": "record" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Databricks.Contents", + "Name": "BinaryFormat.Decimal", "Documentation": { - "Documentation.Name": "Azure Databricks" + "Documentation.Name": "BinaryFormat.Decimal", + "Documentation.Description": "A binary format that reads a .NET 16-byte decimal value.", + "Documentation.LongDescription": "A binary format that reads a .NET 16-byte decimal value.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "host": "text", - "httpPath": "text", - "options": "record" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DatabricksMultiCloud.Catalogs", + "Name": "BinaryFormat.Double", "Documentation": { - "Documentation.Name": "Databricks" + "Documentation.Name": "BinaryFormat.Double", + "Documentation.Description": "A binary format that reads an 8-byte IEEE double-precision floating point value.", + "Documentation.LongDescription": "A binary format that reads an 8-byte IEEE double-precision floating point value.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "host": "text", - "httpPath": "text", - "options": "record" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Dremio.DatabasesV300", + "Name": "BinaryFormat.List", "Documentation": { - "Documentation.Name": "Dremio Software", - "Documentation.LongDescription": "Returns a table listing the datasets on Dremio Server. This will be the same list as shown in Power BI Navigator. See https://docs.microsoft.com/en-us/powerquery-m/odbc-datasource", + "Documentation.Name": "BinaryFormat.List", + "Documentation.Description": "Returns a binary format that reads a sequence of items and returns a list.", + "Documentation.LongDescription": "Returns a binary format that reads a sequence of items and returns a list. The binaryFormat parameter specifies the binary format of each item. There are three ways to determine the number of items read: ", + "Documentation.Category": "Binary Formats.Reading lists", "Documentation.Examples": [ { - "Description": "How to return the list of datasets on localhost with an encrypted connection.", - "Code": "Dremio.DatabasesV300(\"localhost:31010\",\"Enabled\")", - "Result": "A table listing the datasets on localhost." + "Description": "Read bytes until the end of the data.", + "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.List(BinaryFormat.Byte)\r\nin\r\n listFormat(binaryData)", + "Result": "{1, 2, 3}" + }, + { + "Description": "Read two bytes.", + "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.List(BinaryFormat.Byte, 2)\r\nin\r\n listFormat(binaryData)", + "Result": "{1, 2}" + }, + { + "Description": "Read bytes until the byte value is greater than or equal to two.", + "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.List(BinaryFormat.Byte, (x) => x < 2)\r\nin\r\n listFormat(binaryData)", + "Result": "{1, 2}" } ] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "server": "text", - "encryption": "text", - "engine": "text", - "routingTag": "text", - "routingQueue": "text" + "binaryFormat": "function", + "countOrCondition": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "EduFrame.Contents", + "Name": "BinaryFormat.Null", "Documentation": { - "Documentation.Name": "Eduframe" + "Documentation.Name": "BinaryFormat.Null", + "Documentation.Description": "A binary format that reads zero bytes and returns null.", + "Documentation.LongDescription": "A binary format that reads zero bytes and returns null.", + "Documentation.Category": "Binary Formats.Controlling what comes next", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "domainSlug": "text", - "personalInput": "text" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Exasol.Database", + "Name": "BinaryFormat.Record", "Documentation": { - "Documentation.Name": "Exasol", - "Documentation.LongDescription": "Exasol", - "Documentation.Icon": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gMJCSYX4iwYHwAAA+tJREFUWMOll11oHUUUx3+73hA/qj4YqUZ9sPGxaz+wKoKCrpiRusGHUEWhBm2bUgNttWpBUVFRUWL9wD7c+gFiFK2gzSieSgc/QONDApKpPvjgB6WgKdZq1bbpTdaHzCbrzd3ZDR64D8s98/+f+Z8zZ85ARUtEkYiq5hzFVWGpJaJWAl3AyQKfaWBEKzlUKYAoBmsgis8ArgPaCjxD4EiQiLoWGAYWeWBfAwa0kmMLUOBR4JESzztD4DPggRLHPuCW0jTMSd8N3FOC+TTwZqiVpEAdGPI4h85nuVbSOog56TuBncCZHrwvgOew5mSYiEIrabiIrWdRG7A7EbV4XhBz5G0uXUs8OL8Am7HmEFFMmIFpJRPArcBhz+JLgHcSUe2zQWTkM/ayk99n67Hmm7y0s6aVfAf0lgBcAzzj/PMqbATWlqzdjDUf5lULms86EAD3As96gBrAHcBbWglE8eXAHuA8z5o3gLuARk4xak0KAKSJqDpwNdBT1D9cFe8Hxt136iG3wENY02hV3fM6nlbyJ7AJ+NkDehEw1LNXnY41XznVWtk/QD/WHGjVIecFkOVVKzno6mHKE8TSNOW9mT2atwvSthVrRnznu7D3ayWjwO0lhdWdiHrMBXE/kKtMnsea+uzOc7nPLCi7gJzPILDV4/oHsFYrGebS+BxSPgcmgNXAsSJyrwK5lKTA465lF9nZwIuJqE7GzW/AGmAd1njJSxVoUuNi10Iv9LjtDwJWDHdLoypuWIE4U+JHYKzEfWmasmohc8FCFNgOPFmyZoNWsqv9qrh24igp1kz9LwWy3SeirndXto/8pb8m0lcBThxlO7C+igpByTEkEdUJjALne3A+JaVX3yiHieJeYDcwCazCmvGmC6s8gBx5DfgIuMFD/iuwWisZI4qXAN8Cp7r/DgIR1vxeFERRK84+dzryoj4/BfRrJWPBsngxsC9HDnAB8D5R3O7mhQWl4G7gBeAUz+63aSWDwbJ4UTrNLjdPtLJB4D6sSSsVYSLqSjdU+sjrTiHSaW7ykAMMzN6sTSqELSq+wwF3eABHgSdyU7J2vyJrB14hiruaUxE2FV3gxqoVHrAjwBat5EBuJPsb2AL85FnXAQwRxWflgwibim6H6+M+69dKvpwbNUwWxA/AbZ4HDsAVwOv5dfkU9AEbSsgf1krebXFasmBG3Kjmsx6i+MEsiMCBrQQ+cFNOke1x6kzOI/5v7685JQdKru81WPNJmIg61x0TH/n37shNevdmDW7uewr4uuT63kEUdwWJqJtd3z7uaTZ1rWRf5XfhTH4vA7Z5HqenAcM14GNgbwns8cK8+49qX8kFlv4LfFV/DJ8HVEEAAAAASUVORK5CYII=" + "Documentation.Name": "BinaryFormat.Record", + "Documentation.Description": "Returns a binary format that reads a record.", + "Documentation.LongDescription": "Returns a binary format that reads a record. The record parameter specifies the format of the record. Each field in the record can have a different binary format. If a field contains a value that is not a binary format value, then no data is read for that field, and the field value is echoed to the result.", + "Documentation.Category": "Binary Formats.Reading records", + "Documentation.Examples": [ + { + "Description": "Read a record containing one 16-bit integer and one 32-bit integer.", + "Code": "let\r\n binaryData = #binary({\r\n 0x00, 0x01,\r\n 0x00, 0x00, 0x00, 0x02\r\n }),\r\n recordFormat = BinaryFormat.Record([\r\n A = BinaryFormat.UnsignedInteger16,\r\n B = BinaryFormat.UnsignedInteger32\r\n ])\r\nin\r\n recordFormat(binaryData)", + "Result": "[A = 1, B = 2]" + } + ] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "server": "text", - "encrypted": "text" + "record": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Github.Tables", + "Name": "BinaryFormat.SignedInteger16", "Documentation": { - "Documentation.Description": "Enter the GitHub repository owner and the repository name.", - "Documentation.DisplayName": "GitHub", - "Documentation.Caption": "GitHub.Tables", - "Documentation.Name": "GitHub", - "Documentation.LongDescription": "Returns a table with relevant GitHub data." + "Documentation.Name": "BinaryFormat.SignedInteger16", + "Documentation.Description": "A binary format that reads a 16-bit signed integer.", + "Documentation.LongDescription": "A binary format that reads a 16-bit signed integer.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "RepositoryOwner": "text", - "Repository": "text" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "HdInsight.Files", + "Name": "BinaryFormat.SignedInteger32", "Documentation": { - "Documentation.Name": "HdInsight.Files", - "Documentation.Description": "Returns a table containing the properties and contents of the blobs found in the specified container from an Azure storage vault.", - "Documentation.LongDescription": "Returns a table containing a row for each blob file found at the container URL, account, from an Azure storage vault. Each row contains properties of the file and a link to its content.", - "Documentation.Category": "Accessing data", + "Documentation.Name": "BinaryFormat.SignedInteger32", + "Documentation.Description": "A binary format that reads a 32-bit signed integer.", + "Documentation.LongDescription": "A binary format that reads a 32-bit signed integer.", + "Documentation.Category": "Binary Formats.Reading numbers", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "account": "text", - "containerName": "text" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "HexagonSmartApi.ApplySelectList", - "Documentation": {}, - "ReturnType": "table", + "Name": "BinaryFormat.SignedInteger64", + "Documentation": { + "Documentation.Name": "BinaryFormat.SignedInteger64", + "Documentation.Description": "A binary format that reads a 64-bit signed integer.", + "Documentation.LongDescription": "A binary format that reads a 64-bit signed integer.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] + }, + "ReturnType": "any", "Parameters": { - "serviceRoot": "text", - "inputSelectListTarget": "any" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Html.Table", + "Name": "BinaryFormat.Single", "Documentation": { - "Documentation.Name": "Html.Table", - "Documentation.Description": "Returns a table containing the results of running the specified CSS selectors against the provided HTML.", - "Documentation.LongDescription": "Returns a table containing the results of running the specified CSS selectors against the provided html. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [ - { - "Description": "Returns a table from a sample html text value.", - "Code": "Html.Table(\"
Jo
Manager\", {{\"Name\", \".name\"}, {\"Title\", \"span\"}}, [RowSelector=\".name\"])", - "Result": "#table({\"Name\", \"Title\"}, {{\"Jo\", \"Manager\"}})" - }, - { - "Description": "Extracts all the hrefs from a sample html text value.", - "Code": "Html.Table(\"Test\", {{\"Link\", \"a\", each [Attributes][href]}})", - "Result": "#table({\"Link\"}, {{\"/test.html\"}})" - } - ] + "Documentation.Name": "BinaryFormat.Single", + "Documentation.Description": "A binary format that reads a 4-byte IEEE single-precision floating point value.", + "Documentation.LongDescription": "A binary format that reads a 4-byte IEEE single-precision floating point value.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "html": "any", - "columnNameSelectorPairs": "list", - "options": "record" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Indexima.Database", + "Name": "BinaryFormat.Text", "Documentation": { - "Documentation.Name": "Indexima v1.7.5", - "Documentation.LongDescription": "Connection to Indexima Data Hub" + "Documentation.Name": "BinaryFormat.Text", + "Documentation.Description": "Returns a binary format that reads a text value.", + "Documentation.LongDescription": "Returns a binary format that reads a text value. The length specifies the number of bytes to decode, or the binary format of the length that precedes the text. The optional encoding value specifies the encoding of the text. If the encoding is not specified, then the encoding is determined from the Unicode byte order marks. If no byte order marks are present, then TextEncoding.Utf8 is used.", + "Documentation.Category": "Binary Formats.Reading text", + "Documentation.Examples": [ + { + "Description": "Decode two bytes as ASCII text.", + "Code": "let\r\n binaryData = #binary({65, 66, 67}),\r\n textFormat = BinaryFormat.Text(2, TextEncoding.Ascii)\r\nin\r\n textFormat(binaryData)", + "Result": "\"AB\"" + }, + { + "Description": "Decode ASCII text where the length of the text in bytes appears before the text as a byte.", + "Code": "let\r\n binaryData = #binary({2, 65, 66}),\r\n textFormat = BinaryFormat.Text(\r\n BinaryFormat.Byte,\r\n TextEncoding.Ascii\r\n )\r\nin\r\n textFormat(binaryData)", + "Result": "\"AB\"" + } + ] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "server": "text", - "port": "number", - "ODBCdriver": "text", - "options": "record" + "length": "any", + "encoding": "TextEncoding.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Informix.Database", + "Name": "BinaryFormat.UnsignedInteger16", "Documentation": { - "Documentation.Name": "Informix.Database", - "Documentation.Description": "Returns a table of SQL tables and views available in an Informix database.", - "Documentation.LongDescription": "Returns a table of SQL tables and views available in an Informix database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", - "Documentation.Category": "Accessing data", + "Documentation.Name": "BinaryFormat.UnsignedInteger16", + "Documentation.Description": "A binary format that reads a 16-bit unsigned integer.", + "Documentation.LongDescription": "A binary format that reads a 16-bit unsigned integer.", + "Documentation.Category": "Binary Formats.Reading numbers", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "JethroODBC.Database", - "Documentation": {}, - "ReturnType": "table", + "Name": "BinaryFormat.UnsignedInteger32", + "Documentation": { + "Documentation.Name": "BinaryFormat.UnsignedInteger32", + "Documentation.Description": "A binary format that reads a 32-bit unsigned integer.", + "Documentation.LongDescription": "A binary format that reads a 32-bit unsigned integer.", + "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Examples": [] + }, + "ReturnType": "any", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "MarkLogicODBC.Contents", + "Name": "BinaryFormat.UnsignedInteger64", "Documentation": { - "Documentation.Name": "MarkLogic ODBC (v3.0.2)", - "Documentation.LongDescription": "Returns the list of tables returned from the ODBC driver", + "Documentation.Name": "BinaryFormat.UnsignedInteger64", + "Documentation.Description": "A binary format that reads a 64-bit unsigned integer.", + "Documentation.LongDescription": "A binary format that reads a 64-bit unsigned integer.", + "Documentation.Category": "Binary Formats.Reading numbers", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "server": "text", - "port": "number" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Marketo.Leads", + "Name": "Byte.From", "Documentation": { - "Documentation.Name": "Marketo.Leads", - "Documentation.DisplayName": "Marketo.Leads", - "Documentation.Caption": "Marketo.Leads", - "Documentation.Description": "Returns a table with lead details.", - "Documentation.LongDescription": "Makes a call to the Marketo REST API endpoint at url/rest/v1/leads.json. All leads in list leadIds are returned.", + "Documentation.Name": "Byte.From", + "Documentation.Description": "Creates an 8-bit integer from the given value.", + "Documentation.LongDescription": "Returns an 8-bit integer number value from the given value. If the given value is null, Byte.From returns null. If the given value is a number within the range of an 8-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Pulls the details for three leads", - "Code": "Marketo.Leads(\"https://100-AAA-999.mktorest.com/rest\", {50, 2343, 88498})", - "Result": "A table with details for the supplied leads" + "Description": "Get the 8-bit integer number value of \"4\".", + "Code": "Byte.From(\"4\")", + "Result": "4" + }, + { + "Description": "Get the 8-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", + "Code": "Byte.From(\"4.5\", null, RoundingMode.AwayFromZero)", + "Result": "5" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "url": "text", - "leadIds": "list", - "options": "any" + "value": "any", + "culture": "text", + "roundingMode": "RoundingMode.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Marketo.Tables", - "Documentation": { - "Documentation.Description": "Enter the URL of the Marketo REST API endpoint associated with your account.", - "Documentation.DisplayName": "Marketo", - "Documentation.Caption": "Marketo.Tables", - "Documentation.Name": "Marketo", - "Documentation.LongDescription": "Returns a table with relevant Marketo data." - }, - "ReturnType": "table", + "Name": "Cds.Contents", + "Documentation": {}, + "ReturnType": "any", "Parameters": { "url": "text", - "QueryStart": "date" + "options": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "MongoDBAtlasODBC.Contents", + "Name": "Character.FromNumber", "Documentation": { - "Documentation.Name": "MongoDB Atlas SQL" + "Documentation.Name": "Character.FromNumber", + "Documentation.Description": "Converts the number to its character value.", + "Documentation.LongDescription": "Returns the character equivalent of the number.", + "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Examples": [ + { + "Description": "Given the number 9, find the character value.", + "Code": "Character.FromNumber(9)", + "Result": "\"#(tab)\"" + } + ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "mongodbUri": "text", - "database": "text", - "options": "record" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "MySQL.Database", + "Name": "Character.ToNumber", "Documentation": { - "Documentation.Name": "MySQL.Database", - "Documentation.Description": "Returns a table of SQL tables, views, and stored scalar functions available in a MySQL database.", - "Documentation.LongDescription": "Returns a table of SQL tables, views, and stored scalar functions available in a MySQL database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Character.ToNumber", + "Documentation.Description": "Converts a character to its number value.", + "Documentation.LongDescription": "Returns the number equivalent of the character, character.", + "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Examples": [ + { + "Description": "Given the character \"#(tab)\" 9, find the number value.", + "Code": "Character.ToNumber(\"#(tab)\")", + "Result": "9" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "character": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Netezza.Database", + "Name": "Combiner.CombineTextByDelimiter", "Documentation": { - "Documentation.Name": "IBM Netezza", - "Documentation.Caption": "IBM Netezza", - "Documentation.Description": "Import data from an IBM Netezza database.", - "Documentation.LongDescription": "\r\nReturns a table of Netezza tables, views, and stored functions from the Netezza Server database database on server server. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n\r\nThe record parameter is specified as [option1 = value1, option2 = value2...].", + "Documentation.Name": "Combiner.CombineTextByDelimiter", + "Documentation.Description": "Returns a function that combines a list of text values into a single text value using the specified delimiter.", + "Documentation.LongDescription": "Returns a function that combines a list of text values into a single text value using the specified delimiter.", + "Documentation.Category": "Combiner", "Documentation.Examples": [ { - "Description": "List the tables in an IBM Netezza project.", - "Code": "Netezza.Database(\"netezza:5480\", \"netezza_database\")" + "Description": "Combine a list of text values using a semicolon delimiter.", + "Code": "Combiner.CombineTextByDelimiter(\";\")({\"a\", \"b\", \"c\"})", + "Result": "\"a;b;c\"" + }, + { + "Description": "Combine the text of two columns using a comma delimiter and CSV-style quoting.", + "Code": "let\r\n Source = #table(\r\n type table [Column1 = text, Column2 = text],\r\n {{\"a\", \"b\"}, {\"c\", \"d,e,f\"}}\r\n ),\r\n Merged = Table.CombineColumns(\r\n Source,\r\n {\"Column1\", \"Column2\"},\r\n Combiner.CombineTextByDelimiter(\",\", QuoteStyle.Csv),\r\n \"Merged\"\r\n )\r\nin\r\n Merged", + "Result": "#table(\r\n type table [Merged = text],\r\n {{\"a,b\"}, {\"c,\"\"d,e,f\"\"\"}}\r\n)" } ] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "delimiter": "text", + "quoteStyle": "QuoteStyle.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Odbc.Query", + "Name": "Combiner.CombineTextByEachDelimiter", "Documentation": { - "Documentation.Name": "Odbc.Query", - "Documentation.Description": "Returns the result of running a native query on an ODBC data source.", - "Documentation.LongDescription": "Returns the result of running query with the connection string connectionString using ODBC. connectionString can be text or a record of property value pairs. Property values can either be text or number. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [ - { - "Description": "Return the result of running a simple query against the provided connection string.", - "Code": "Odbc.Query(\"dsn=your_dsn\", \"select * from Customers\")", - "Result": "table" - } - ] + "Documentation.Name": "Combiner.CombineTextByEachDelimiter", + "Documentation.Description": "Returns a function that combines a list of text into a single text using each specified delimiter in sequence.", + "Documentation.LongDescription": "Returns a function that combines a list of text into a single text using each specified delimiter in sequence.", + "Documentation.Category": "Combiner", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "connectionString": "any", - "query": "text", - "options": "record" + "delimiters": "list", + "quoteStyle": "QuoteStyle.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "OleDb.Query", + "Name": "Combiner.CombineTextByLengths", "Documentation": { - "Documentation.Name": "OleDb.Query", - "Documentation.Description": "Returns the result of running a native query on an OLE DB data source.", - "Documentation.LongDescription": "Returns the result of running query with the connection string connectionString using OLE DB. connectionString can be text or a record of property value pairs. Property values can either be text or number. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n", - "Documentation.Category": "Accessing data", + "Documentation.Name": "Combiner.CombineTextByLengths", + "Documentation.Description": "Returns a function that combines a list of text into a single text using the specified lengths.", + "Documentation.LongDescription": "Returns a function that combines a list of text into a single text using the specified lengths.", + "Documentation.Category": "Combiner", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "connectionString": "any", - "query": "text", - "options": "record" + "lengths": "list", + "template": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "PlanviewEnterprise.Feed", + "Name": "Combiner.CombineTextByPositions", "Documentation": { - "Documentation.Description": "Enter the URL and database name associated with your Planview Portfolios account.", - "Documentation.DisplayName": "PlanviewEnterprise.Feed", - "Documentation.Caption": "PlanviewEnterprise.Feed", - "Documentation.Name": "Planview Portfolios", - "Documentation.LongDescription": "Returns a table with Planview Portfolios data.", - "Documentation.Examples": [ - { - "Description": "Returns a table of Planview Portfolios information", - "Code": "PlanviewEnterprise.Feed(\"https://contoso.com/planview\", \"pve\")", - "Result": "A table of Planview Portfolios data about database pve" - } - ] + "Documentation.Name": "Combiner.CombineTextByPositions", + "Documentation.Description": "Returns a function that combines a list of text into a single text using the specified positions.", + "Documentation.LongDescription": "Returns a function that combines a list of text into a single text using the specified positions.", + "Documentation.Category": "Combiner", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "url": "text", - "database": "text" + "positions": "list", + "template": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "PostgreSQL.Database", + "Name": "Combiner.CombineTextByRanges", "Documentation": { - "Documentation.Name": "PostgreSQL.Database", - "Documentation.Description": "Returns a table of SQL tables and views available in a PostgreSQL database.", - "Documentation.LongDescription": "Returns a table of SQL tables and views available in a PostgreSQL database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", - "Documentation.Category": "Accessing data", + "Documentation.Name": "Combiner.CombineTextByRanges", + "Documentation.Description": "Returns a function that combines a list of text into a single text using the specified positions and lengths.", + "Documentation.LongDescription": "Returns a function that combines a list of text into a single text using the specified positions and lengths. A null length indicates that the entire text value should be included.", + "Documentation.Category": "Combiner", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "ranges": "list", + "template": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "SDMX.Contents", + "Name": "Comparer.FromCulture", "Documentation": { - "Documentation.Name": "SIS-CC SDMX Connector for SDMX-CSV web services", - "Documentation.LongDescription": "Get data from an SDMX RESTful web service that supports the CSV format.", + "Documentation.Name": "Comparer.FromCulture", + "Documentation.Description": "Returns a comparer function based on the specified culture and case-sensitivity.", + "Documentation.LongDescription": "Returns a comparer function that uses the culture and the case-sensitivity specified by ignoreCase to perform comparisons.
\r\n
\r\n A comparer function accepts two arguments and returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.
\r\n
\r\n The default value for ignoreCase is false. The culture should be one of the locales supported by the .NET framework (for example, \"en-US\").\r\n ", + "Documentation.Category": "Comparer", "Documentation.Examples": [ { - "Description": "Get data from an SDMX RESTful web service that supports the CSV format.", - "Code": "SDMX.Contents(url,\"Show codes and labels\",\"en\")", - "Result": "Data from the SDMX web service in a table format." + "Description": "Compare \"a\" and \"A\" using \"en-US\" locale to determine if the values are equal.", + "Code": "Comparer.FromCulture(\"en-US\")(\"a\", \"A\")", + "Result": "-1" + }, + { + "Description": "Compare \"a\" and \"A\" using \"en-US\" locale ignoring the case to determine if the values are equal.", + "Code": "Comparer.FromCulture(\"en-US\", true)(\"a\", \"A\")", + "Result": "0" } ] }, - "ReturnType": "table", + "ReturnType": "function", "Parameters": { - "url": "Uri.Type", - "Option": "text", - "Language": "text" + "culture": "text", + "ignoreCase": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "SingleStoreODBC.DataSource", + "Name": "Cube.AttributeMemberId", "Documentation": { - "Documentation.Name": "SingleStore database", - "Documentation.LongDescription": "The SingleStore Connector is a high-performance connector that lets you DirectQuery and import data from your SingleStore instance." + "Documentation.Name": "Cube.AttributeMemberId", + "Documentation.Description": "Returns the unique member identifier from members property value.", + "Documentation.LongDescription": "Returns the unique member identifier from a member property value. attribute. Returns null for any other values.", + "Documentation.Category": "Cube", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "ServerAddr": "text", - "Database": "text" + "attribute": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "SingleStoreODBC.Database", + "Name": "Cube.PropertyKey", "Documentation": { - "Documentation.Name": "SingleStore database", - "Documentation.LongDescription": "The SingleStore Connector is a high-performance connector that lets you DirectQuery and import data from your SingleStore instance." + "Documentation.Name": "Cube.PropertyKey", + "Documentation.Description": "Returns the key of a property.", + "Documentation.LongDescription": "Returns the key of property property.", + "Documentation.Category": "Cube", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "ServerAddr": "text", - "Database": "text" + "property": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "SingleStoreODBC.Query", + "Name": "Currency.From", "Documentation": { - "Documentation.Name": "SingleStore database", - "Documentation.LongDescription": "The SingleStore Connector is a high-performance connector that lets you DirectQuery and import data from your SingleStore instance." + "Documentation.Name": "Currency.From", + "Documentation.Description": "Returns a currency value from the given value.", + "Documentation.LongDescription": "Returns a currency value from the given value. If the given value is null, Currency.From returns null. If the given value is number within the range of currency, fractional part of the value is rounded to 4 decimal digits and returned. If value is of any other type, it will first be converted to a number using Number.FromText. Valid range for currency is -922,337,203,685,477.5808 to 922,337,203,685,477.5807. Refer to Number.Round for the available rounding modes. The default is RoundingMode.ToEven. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Examples": [ + { + "Description": "Get the currency value of \"1.23455\".", + "Code": "Currency.From(\"1.23455\")", + "Result": "1.2346" + }, + { + "Description": "Get the currency value of \"1.23455\" using RoundingMode.Down.", + "Code": "Currency.From(\"1.23455\", \"en-US\", RoundingMode.Down)", + "Result": "1.2345" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "ServerAddr": "text", - "Database": "text", - "Query": "text" + "value": "any", + "culture": "text", + "roundingMode": "RoundingMode.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Snowflake.Databases", + "Name": "Date.Day", "Documentation": { - "Documentation.Name": "Snowflake", - "Documentation.Caption": "Snowflake", - "Documentation.Description": "Import data from a Snowflake Computing warehouse.", - "Documentation.LongDescription": "Returns a table listing the tables in the Snowflake Computing warehouse located at server. An optional record parameter, options, may be specified to control the following options:\r\n\r\n ", + "Documentation.Name": "Date.Day", + "Documentation.Description": "Returns the day component.", + "Documentation.LongDescription": "Returns the day component of a date, datetime, or datetimezone value.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "List the tables in a Snowflake warehouse.", - "Code": "Snowflake.Databases(\"contoso.snowflakecomputing.com\", \"CONTOSO_WH\")" + "Description": "Get the day component of a date, datetime, or datetimezone value representing the date and time of 5/14/2011 05:00:00 PM.", + "Code": "Date.Day(#datetime(2011, 5, 14, 17, 0, 0))", + "Result": "14" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "server": "text", - "warehouse": "text", - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Spark.Tables", + "Name": "Date.DayOfWeek", "Documentation": { - "Documentation.Name": "Spark.Tables", - "Documentation.Caption": "Spark", - "Documentation.Description": "Returns a table listing the tables on the specified Spark cluster.", - "Documentation.LongDescription": "Returns a table listing the tables on the Spark cluster host using protocol. Valid protocols are:\r\nSparkProtocol.Standard, SparkProtocol.Azure, SparkProtocol.HTTP", + "Documentation.Name": "Date.DayOfWeek", + "Documentation.Description": "Returns a number (from 0 to 6) indicating the day of the week of the provided value.", + "Documentation.LongDescription": "Returns a number (from 0 to 6) indicating the day of the week of the provided dateTime.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "List the tables in an Azure Spark instance.", - "Code": "Spark.Tables(\"contoso.azurehdinsight.net\", SparkProtocol.Azure)" + "Description": "Get the day of the week represented by Monday, February 21st, 2011, treating Sunday as the first day of the week.", + "Code": "Date.DayOfWeek(#date(2011, 02, 21), Day.Sunday)", + "Result": "1" + }, + { + "Description": "Get the day of the week represented by Monday, February 21st, 2011, treating Monday as the first day of the week.", + "Code": "Date.DayOfWeek(#date(2011, 02, 21), Day.Monday)", + "Result": "0" } ] }, - "ReturnType": "table", + "ReturnType": "Day.Type", "Parameters": { - "server": "text", - "protocol": "SparkProtocol.Type", - "options": "record" + "dateTime": "any", + "firstDayOfWeek": "Day.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Sql.Database", + "Name": "Date.DayOfWeekName", "Documentation": { - "Documentation.Name": "Sql.Database", - "Documentation.Description": "Returns a table of SQL tables, views, and stored functions from the SQL Server database.", - "Documentation.LongDescription": "Returns a table of SQL tables, views, and stored functions from the SQL Server database database on server server. The port may be optionally specified with the server, separated by a colon or a comma. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Date.DayOfWeekName", + "Documentation.Description": "Returns the day of the week name.", + "Documentation.LongDescription": "Returns the day of the week name for the provided date. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Get the day of the week name.", + "Code": "Date.DayOfWeekName(#date(2011, 12, 31), \"en-US\")", + "Result": "\"Saturday\"" + } + ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "date": "any", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "StarburstPresto.Contents", + "Name": "Date.DayOfYear", "Documentation": { - "Documentation.Name": "Starburst Enterprise" + "Documentation.Name": "Date.DayOfYear", + "Documentation.Description": "Returns a number from 1 to 366 representing the day of the year.", + "Documentation.LongDescription": "Returns a number representing the day of the year in the provided date, datetime, or datetimezone value, dateTime.", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "The day of the year for March 1st, 2011.", + "Code": "Date.DayOfYear(#date(2011, 03, 01))", + "Result": "60" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "Host": "text", - "Port": "number", - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Sybase.Database", + "Name": "Date.DaysInMonth", "Documentation": { - "Documentation.Name": "Sybase.Database", - "Documentation.Description": "Returns a table of SQL tables and views available in a Sybase database.", - "Documentation.LongDescription": "Returns a table of SQL tables and views available in a Sybase database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Date.DaysInMonth", + "Documentation.Description": "Returns a number from 28 to 31 indicating the number of days in the month.", + "Documentation.LongDescription": "Returns the number of days in the month in the date, datetime, or datetimezone value dateTime.\r\n ", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Number of days in the month December as represented by #date(2011, 12, 01)>.", + "Code": "Date.DaysInMonth(#date(2011, 12, 01))", + "Result": "31" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.AddIndexColumn", + "Name": "Date.EndOfDay", "Documentation": { - "Documentation.Name": "Table.AddIndexColumn", - "Documentation.Description": "Appends a column with explicit position values.", - "Documentation.LongDescription": "Appends a column named newColumnName to the table with explicit position values.\r\n An optional value, initialValue, the initial index value. An optional value, increment, specifies how much to increment each index value.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Date.EndOfDay", + "Documentation.Description": "Returns the end of the day.", + "Documentation.LongDescription": "Returns the end of the day represented by dateTime. Time zone information is preserved.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Add an index column named \"Index\" to the table.", - "Code": "Table.AddIndexColumn(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Index\"\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Index = 0],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\", Index = 1],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\", Index = 2],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\", Index = 3]\r\n})" + "Description": "Get the end of the day for 5/14/2011 05:00:00 PM.", + "Code": "Date.EndOfDay(#datetime(2011, 5, 14, 17, 0, 0))", + "Result": "#datetime(2011, 5, 14, 23, 59, 59.9999999)" }, { - "Description": "Add an index column named \"index\", starting at value 10 and incrementing by 5, to the table.", - "Code": "Table.AddIndexColumn(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Index\",\r\n 10,\r\n 5\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Index = 10],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\", Index = 15],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\", Index = 20],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\", Index = 25]\r\n})" + "Description": "Get the end of the day for 5/17/2011 05:00:00 PM -7:00.", + "Code": "Date.EndOfDay(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0))", + "Result": "#datetimezone(2011, 5, 17, 23, 59, 59.9999999, -7, 0)" } ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "table": "table", - "newColumnName": "text", - "initialValue": "number", - "increment": "number", - "columnType": "type" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ConformToPageReader", + "Name": "Date.EndOfMonth", "Documentation": { - "Documentation.Name": "Table.ConformToPageReader", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [] + "Documentation.Name": "Date.EndOfMonth", + "Documentation.Description": "Returns the end of the month.", + "Documentation.LongDescription": "Returns the end of the month that contains dateTime.\r\n ", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Get the end of the month for 5/14/2011.", + "Code": "Date.EndOfMonth(#date(2011, 5, 14))", + "Result": "#date(2011, 5, 31)" + }, + { + "Description": "Get the end of the month for 5/17/2011 05:00:00 PM -7:00.", + "Code": "Date.EndOfMonth(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0))", + "Result": "#datetimezone(2011, 5, 31, 23, 59, 59.9999999, -7, 0)" + } + ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "table": "table", - "shapingFunction": "function" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ExpandListColumn", + "Name": "Date.EndOfQuarter", "Documentation": { - "Documentation.Name": "Table.ExpandListColumn", - "Documentation.Description": "Given a column of lists in a table, create a copy of a row for each value in its list.", - "Documentation.LongDescription": "Given a table, where a column is a list of values, splits the list into a row for each value. Values in the other columns are duplicated in each new row created.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Date.EndOfQuarter", + "Documentation.Description": "Returns the end of the quarter.", + "Documentation.LongDescription": "Returns the end of the quarter that contains dateTime. Time zone information is preserved.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Split the list column [Name] in the table.", - "Code": "Table.ExpandListColumn(\r\n Table.FromRecords({[Name = {\"Bob\", \"Jim\", \"Paul\"}, Discount = .15]}),\r\n \"Name\"\r\n)", - "Result": "Table.FromRecords({\r\n [Name = \"Bob\", Discount = 0.15],\r\n [Name = \"Jim\", Discount = 0.15],\r\n [Name = \"Paul\", Discount = 0.15]\r\n})" + "Description": "Find the end of the quarter for October 10th, 2011, 8:00AM.", + "Code": "Date.EndOfQuarter(#datetime(2011, 10, 10, 8, 0, 0))", + "Result": "#datetime(2011, 12, 31, 23, 59, 59.9999999)" } ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "table": "table", - "column": "text" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.FillDown", + "Name": "Date.EndOfWeek", "Documentation": { - "Documentation.Name": "Table.FillDown", - "Documentation.Description": "Propagates the value of a previous cell to the null-valued cells below in the column.", - "Documentation.LongDescription": "Returns a table from the table specified where the value of a previous cell is propagated to the null-valued cells below in the columns specified.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Date.EndOfWeek", + "Documentation.Description": "Returns the end of the week.", + "Documentation.LongDescription": "Returns the end of the week that contains dateTime.\r\n This function takes an optional Day, firstDayOfWeek, to set as the first day of the week for this relative calculation. The default value is Day.Sunday.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Return a table with the null values in column [Place] filled with the value above them from the table.", - "Code": "Table.FillDown(\r\n Table.FromRecords({\r\n [Place = 1, Name = \"Bob\"],\r\n [Place = null, Name = \"John\"],\r\n [Place = 2, Name = \"Brad\"],\r\n [Place = 3, Name = \"Mark\"],\r\n [Place = null, Name = \"Tom\"],\r\n [Place = null, Name = \"Adam\"]\r\n }),\r\n {\"Place\"}\r\n)", - "Result": "Table.FromRecords({\r\n [Place = 1, Name = \"Bob\"],\r\n [Place = 1, Name = \"John\"],\r\n [Place = 2, Name = \"Brad\"],\r\n [Place = 3, Name = \"Mark\"],\r\n [Place = 3, Name = \"Tom\"],\r\n [Place = 3, Name = \"Adam\"]\r\n})" + "Description": "Get the end of the week for 5/14/2011.", + "Code": "Date.EndOfWeek(#date(2011, 5, 14))", + "Result": "#date(2011, 5, 14)" + }, + { + "Description": "Get the end of the week for 5/17/2011 05:00:00 PM -7:00, with Sunday as the first day of the week.", + "Code": "Date.EndOfWeek(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0), Day.Sunday)", + "Result": "#datetimezone(2011, 5, 21, 23, 59, 59.9999999, -7, 0)" } ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "table": "table", - "columns": "list" + "dateTime": "any", + "firstDayOfWeek": "Day.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.FillUp", + "Name": "Date.EndOfYear", "Documentation": { - "Documentation.Name": "Table.FillUp", - "Documentation.Description": "Propagates the value of a cell to the null-valued cells above in the column.", - "Documentation.LongDescription": "Returns a table from the table specified where the value of the next cell is propagated to the null-valued cells above in the columns specified.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Date.EndOfYear", + "Documentation.Description": "Returns the end of the year.", + "Documentation.LongDescription": "Returns the end of the year that contains dateTime, including fractional seconds. Time zone information is preserved.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Return a table with the null values in column [Column2] filled with the value below them from the table.", - "Code": "Table.FillUp(\r\n Table.FromRecords({\r\n [Column1 = 1, Column2 = 2],\r\n [Column1 = 3, Column2 = null],\r\n [Column1 = 5, Column2 = 3]\r\n }),\r\n {\"Column2\"}\r\n)", - "Result": "Table.FromRecords({\r\n [Column1 = 1, Column2 = 2],\r\n [Column1 = 3, Column2 = 3],\r\n [Column1 = 5, Column2 = 3]\r\n})" + "Description": "Get the end of the year for 5/14/2011 05:00:00 PM.", + "Code": "Date.EndOfYear(#datetime(2011, 5, 14, 17, 0, 0))", + "Result": "#datetime(2011, 12, 31, 23, 59, 59.9999999)" + }, + { + "Description": "Get the end of hour for 5/17/2011 05:00:00 PM -7:00.", + "Code": "Date.EndOfYear(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0))", + "Result": "#datetimezone(2011, 12, 31, 23, 59, 59.9999999, -7, 0)" } ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "table": "table", - "columns": "list" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.FindText", + "Name": "Date.From", "Documentation": { - "Documentation.Name": "Table.FindText", - "Documentation.Description": "Returns all the rows that contain the given text in the table.", - "Documentation.LongDescription": "Returns the rows in the table table that contain the text text. If the text is not found, an empty table is returned.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Date.From", + "Documentation.Description": "Creates a date from the given value.", + "Documentation.LongDescription": "Returns a date value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, Date.From returns null. If the given value is date, value is returned. Values of the following types can be converted to a date value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Find the rows in the table that contain \"Bob\".", - "Code": "Table.FindText(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Bob\"\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" + "Description": "Convert 43910 to a date value.", + "Code": "Date.From(43910)", + "Result": "#date(2020, 3, 20)" + }, + { + "Description": "Convert #datetime(1899, 12, 30, 06, 45, 12) to a date value.", + "Code": "Date.From(#datetime(1899, 12, 30, 06, 45, 12))", + "Result": "#date(1899, 12, 30)" } ] }, - "ReturnType": "table", + "ReturnType": "date", "Parameters": { - "table": "table", - "text": "text" + "value": "any", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.FirstN", + "Name": "Date.FromText", "Documentation": { - "Documentation.Name": "Table.FirstN", - "Documentation.Description": "Returns the first count rows specified.", - "Documentation.LongDescription": "Returns the first row(s) of the table table, depending on the value of countOrCondition:\r\n ", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Date.FromText", + "Documentation.Description": "Creates a Date from local, universal, and custom Date formats.", + "Documentation.LongDescription": "Creates a date value from a textual representation, text. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options may also be a text value. This has the same behavior as if options = [Format = null, Culture = options].", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Find the first two rows of the table.", - "Code": "Table.FirstN(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n }),\r\n 2\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n})" + "Description": "Convert \"2010-12-31\" into a date value.", + "Code": "Date.FromText(\"2010-12-31\")", + "Result": "#date(2010, 12, 31)" }, { - "Description": "Find the first rows where [a] > 0 in the table.", - "Code": "Table.FirstN(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4],\r\n [a = -5, b = -6]\r\n }),\r\n each [a] > 0\r\n)", - "Result": "Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n})" + "Description": "Convert using a custom format and the German culture.", + "Code": "Date.FromText(\"30 Dez 2010\", [Format=\"dd MMM yyyy\", Culture=\"de-DE\"])", + "Result": "#date(2010, 12, 30)" + }, + { + "Description": "Find the date in the Gregorian calendar that corresponds to the beginning of 1400 in the Hijri calendar.", + "Code": "Date.FromText(\"1400\", [Format=\"yyyy\", Culture=\"ar-SA\"])", + "Result": "#date(1979, 11, 20)" } ] }, - "ReturnType": "table", + "ReturnType": "date", "Parameters": { - "table": "table", - "countOrCondition": "any" + "text": "text", + "options": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.FromPartitions", + "Name": "Date.IsInCurrentDay", "Documentation": { - "Documentation.Name": "Table.FromPartitions", - "Documentation.Description": "Returns a table that is the result of combining a set of partitioned tables.", - "Documentation.LongDescription": "Returns a table that is the result of combining a set of partitioned tables, partitions. partitionColumn is the name of the column to add. The type of the column defaults to any, but can be specified by partitionColumnType.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Date.IsInCurrentDay", + "Documentation.Description": "Indicates whether this date occurs during the current day, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current day, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Find item type from the list {number}.", - "Code": "Table.FromPartitions(\r\n \"Year\",\r\n {\r\n {\r\n 1994,\r\n Table.FromPartitions(\r\n \"Month\",\r\n {\r\n {\r\n \"Jan\",\r\n Table.FromPartitions(\r\n \"Day\",\r\n {\r\n {1, #table({\"Foo\"}, {{\"Bar\"}})},\r\n {2, #table({\"Foo\"}, {{\"Bar\"}})}\r\n }\r\n )\r\n },\r\n {\r\n \"Feb\",\r\n Table.FromPartitions(\r\n \"Day\",\r\n {\r\n {3, #table({\"Foo\"}, {{\"Bar\"}})},\r\n {4, #table({\"Foo\"}, {{\"Bar\"}})}\r\n }\r\n )\r\n }\r\n }\r\n )\r\n }\r\n }\r\n)", - "Result": "Table.FromRecords({\r\n [\r\n Foo = \"Bar\",\r\n Day = 1,\r\n Month = \"Jan\",\r\n Year = 1994\r\n ],\r\n [\r\n Foo = \"Bar\",\r\n Day = 2,\r\n Month = \"Jan\",\r\n Year = 1994\r\n ],\r\n [\r\n Foo = \"Bar\",\r\n Day = 3,\r\n Month = \"Feb\",\r\n Year = 1994\r\n ],\r\n [\r\n Foo = \"Bar\",\r\n Day = 4,\r\n Month = \"Feb\",\r\n Year = 1994\r\n ]\r\n})" + "Description": "Determine if the current system time is in the current day.", + "Code": "Date.IsInCurrentDay(DateTime.FixedLocalNow())", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "partitionColumn": "text", - "partitions": "list", - "partitionColumnType": "type" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.LastN", + "Name": "Date.IsInCurrentMonth", "Documentation": { - "Documentation.Name": "Table.LastN", - "Documentation.Description": "Returns the last specified number of rows.", - "Documentation.LongDescription": "Returns the last row(s) from the table, table, depending on the value of countOrCondition:\r\n ", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Date.IsInCurrentMonth", + "Documentation.Description": "Indicates whether this date occurs during the current month, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current month, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Find the last two rows of the table.", - "Code": "Table.LastN(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n }),\r\n 2\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n})" - }, - { - "Description": "Find the last rows where [a] > 0 in the table.", - "Code": "Table.LastN(\r\n Table.FromRecords({\r\n [a = -1, b = -2],\r\n [a = 3, b = 4],\r\n [a = 5, b = 6]\r\n }),\r\n each _ [a] > 0\r\n)", - "Result": "Table.FromRecords({\r\n [a = 3, b = 4],\r\n [a = 5, b = 6]\r\n})" + "Description": "Determine if the current system time is in the current month.", + "Code": "Date.IsInCurrentMonth(DateTime.FixedLocalNow())", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "countOrCondition": "any" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.OnError", + "Name": "Date.IsInCurrentQuarter", "Documentation": { - "Documentation.Name": "Table.OnError", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Values.Implementation", - "Documentation.Examples": [] + "Documentation.Name": "Date.IsInCurrentQuarter", + "Documentation.Description": "Indicates whether this date occurs during the current quarter, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current quarter, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Determine if the current system time is in the current quarter.", + "Code": "Date.IsInCurrentQuarter(DateTime.FixedLocalNow())", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "handler": "function" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.PrefixColumns", + "Name": "Date.IsInCurrentWeek", "Documentation": { - "Documentation.Name": "Table.PrefixColumns", - "Documentation.Description": "Returns a table where the columns have all been prefixed with the given text.", - "Documentation.LongDescription": "Returns a table where all the column names from the table provided are prefixed with the given text, prefix, plus a period in the form prefix.ColumnName.", - "Documentation.Category": "Table.Column operations", + "Documentation.Name": "Date.IsInCurrentWeek", + "Documentation.Description": "Indicates whether this date occurs during the current week, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current week, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Prefix the columns with \"MyTable\" in the table.", - "Code": "Table.PrefixColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n \"MyTable\"\r\n)", - "Result": "Table.FromRecords({[MyTable.CustomerID = 1, MyTable.Name = \"Bob\", MyTable.Phone = \"123-4567\"]})" + "Description": "Determine if the current system time is in the current week.", + "Code": "Date.IsInCurrentWeek(DateTime.FixedLocalNow())", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "prefix": "text" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.Range", + "Name": "Date.IsInCurrentYear", "Documentation": { - "Documentation.Name": "Table.Range", - "Documentation.Description": "Returns the rows beginning at the specified offset.", - "Documentation.LongDescription": "Returns the rows from the table starting at the specified offset. An optional parameter, count, specifies how many rows to return. By default, all the rows after the offset are returned.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Date.IsInCurrentYear", + "Documentation.Description": "Indicates whether this date occurs during the current year, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current year, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Return all the rows starting at offset 1 in the table.", - "Code": "Table.Range(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 1\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" - }, - { - "Description": "Return one row starting at offset 1 in the table.", - "Code": "Table.Range(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 1,\r\n 1\r\n)", - "Result": "Table.FromRecords({[CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]})" + "Description": "Determine if the current system time is in the current year.", + "Code": "Date.IsInCurrentYear(DateTime.FixedLocalNow())", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "offset": "number", - "count": "number" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.RemoveColumns", + "Name": "Date.IsInNextDay", "Documentation": { - "Documentation.Name": "Table.RemoveColumns", - "Documentation.Description": "Removes the specified columns.", - "Documentation.LongDescription": "Removes the specified columns from the table provided.\r\n If the specified column doesn't exist, an error is raised unless the optional parameter missingField specifies an alternative behavior (for example, MissingField.UseNull or MissingField.Ignore).", - "Documentation.Category": "Table.Column operations", + "Documentation.Name": "Date.IsInNextDay", + "Documentation.Description": "Indicates whether this date occurs during the next day, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next day, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Remove column [Phone] from the table.", - "Code": "Table.RemoveColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n \"Phone\"\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\"]})" - }, - { - "Description": "Try to remove a non-existent column from the table.", - "Code": "Table.RemoveColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n \"Address\"\r\n)", - "Result": "[Expression.Error] The column 'Address' of the table wasn't found." + "Description": "Determine if the day after the current system time is in the next day.", + "Code": "Date.IsInNextDay(Date.AddDays(DateTime.FixedLocalNow(), 1))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "columns": "any", - "missingField": "MissingField.Type" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.RemoveMatchingRows", + "Name": "Date.IsInNextMonth", "Documentation": { - "Documentation.Name": "Table.RemoveMatchingRows", - "Documentation.Description": "Removes all occurrences of the specified rows from the table.", - "Documentation.LongDescription": "Removes all occurrences of the specified rows from the table.\r\n An optional parameter equationCriteria may be specified to control the comparison between the rows of the table.", - "Documentation.Category": "Table.Membership", + "Documentation.Name": "Date.IsInNextMonth", + "Documentation.Description": "Indicates whether this date occurs during the next month, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next month, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Remove any rows where [a = 1] from the table ({[a = 1, b = 2], [a = 3, b = 4], [a = 1, b = 6]}).", - "Code": "Table.RemoveMatchingRows(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4],\r\n [a = 1, b = 6]\r\n }),\r\n {[a = 1]},\r\n \"a\"\r\n)", - "Result": "Table.FromRecords({[a = 3, b = 4]})" + "Description": "Determine if the month after the current system time is in the next month.", + "Code": "Date.IsInNextMonth(Date.AddMonths(DateTime.FixedLocalNow(), 1))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "rows": "list", - "equationCriteria": "any" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.RemoveRows", + "Name": "Date.IsInNextQuarter", "Documentation": { - "Documentation.Name": "Table.RemoveRows", - "Documentation.Description": "Removes the specified number of rows.", - "Documentation.LongDescription": "Removes count of rows from the beginning of the table, starting at the offset specified. A default count of 1 is used if the count parameter isn't provided. ", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Date.IsInNextQuarter", + "Documentation.Description": "Indicates whether this date occurs during the next quarter, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next quarter, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Remove the first row from the table.", - "Code": "Table.RemoveRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 0\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" - }, - { - "Description": "Remove the row at position 1 from the table.", - "Code": "Table.RemoveRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 1\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" - }, - { - "Description": "Remove two rows starting at position 1 from the table.", - "Code": "Table.RemoveRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 1,\r\n 2\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" + "Description": "Determine if the quarter after the current system time is in the next quarter.", + "Code": "Date.IsInNextQuarter(Date.AddQuarters(DateTime.FixedLocalNow(), 1))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "offset": "number", - "count": "number" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.RenameColumns", + "Name": "Date.IsInNextWeek", "Documentation": { - "Documentation.Name": "Table.RenameColumns", - "Documentation.Description": "Applies rename(s) of the form {old, new}.", - "Documentation.LongDescription": "Performs the given renames to the columns in table table. A replacement operation renames consists of a list of two values, the old column name and new column name, provided in a list.\r\n If the column doesn't exist, an exception is thrown unless the optional parameter missingField specifies an alternative (eg. MissingField.UseNull or MissingField.Ignore).", - "Documentation.Category": "Table.Column operations", + "Documentation.Name": "Date.IsInNextWeek", + "Documentation.Description": "Indicates whether this date occurs during the next week, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next week, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Replace the column name \"CustomerNum\" with \"CustomerID\" in the table.", - "Code": "Table.RenameColumns(\r\n Table.FromRecords({[CustomerNum = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"CustomerNum\", \"CustomerID\"}\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" - }, - { - "Description": "Replace the column name \"CustomerNum\" with \"CustomerID\" and \"PhoneNum\" with \"Phone\" in the table.", - "Code": "Table.RenameColumns(\r\n Table.FromRecords({[CustomerNum = 1, Name = \"Bob\", PhoneNum = \"123-4567\"]}),\r\n {\r\n {\"CustomerNum\", \"CustomerID\"},\r\n {\"PhoneNum\", \"Phone\"}\r\n }\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" - }, - { - "Description": "Replace the column name \"NewCol\" with \"NewColumn\" in the table, and ignore if the column doesn't exist.", - "Code": "Table.RenameColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"NewCol\", \"NewColumn\"},\r\n MissingField.Ignore\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" + "Description": "Determine if the week after the current system time is in the next week.", + "Code": "Date.IsInNextWeek(Date.AddDays(DateTime.FixedLocalNow(), 7))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "renames": "list", - "missingField": "MissingField.Type" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ReorderColumns", + "Name": "Date.IsInNextYear", "Documentation": { - "Documentation.Name": "Table.ReorderColumns", - "Documentation.Description": "Returns a table with the columns in the specified order.", - "Documentation.LongDescription": "Returns a table from the input table, with the columns in the order specified by columnOrder. Columns that are not specified in the list will not be reordered.\r\n If the column doesn't exist, an exception is thrown unless the optional parameter missingField specifies an alternative (eg. MissingField.UseNull or MissingField.Ignore).", - "Documentation.Category": "Table.Column operations", + "Documentation.Name": "Date.IsInNextYear", + "Documentation.Description": "Indicates whether this date occurs during the next year, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next year, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Switch the order of the columns [Phone] and [Name] in the table.", - "Code": "Table.ReorderColumns(\r\n Table.FromRecords({[CustomerID = 1, Phone = \"123-4567\", Name = \"Bob\"]}),\r\n {\"Name\", \"Phone\"}\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" - }, - { - "Description": "Switch the order of the columns [Phone] and [Address] or use \"MissingField.Ignore\" in the table. It doesn't change the table because column [Address] doesn't exist.", - "Code": "Table.ReorderColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"Phone\", \"Address\"},\r\n MissingField.Ignore\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" + "Description": "Determine if the year after the current system time is in the next year.", + "Code": "Date.IsInNextYear(Date.AddYears(DateTime.FixedLocalNow(), 1))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "columnOrder": "list", - "missingField": "MissingField.Type" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.Repeat", + "Name": "Date.IsInPreviousDay", "Documentation": { - "Documentation.Name": "Table.Repeat", - "Documentation.Description": "Repeats the rows of the tables a specified number of times.", - "Documentation.LongDescription": "Returns a table with the rows from the input table repeated the specified count times.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Date.IsInPreviousDay", + "Documentation.Description": "Indicates whether this date occurs during the previous day, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous day, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Repeat the rows in the table two times.", - "Code": "Table.Repeat(\r\n Table.FromRecords({\r\n [a = 1, b = \"hello\"],\r\n [a = 3, b = \"world\"]\r\n }),\r\n 2\r\n)", - "Result": "Table.FromRecords({\r\n [a = 1, b = \"hello\"],\r\n [a = 3, b = \"world\"],\r\n [a = 1, b = \"hello\"],\r\n [a = 3, b = \"world\"]\r\n})" + "Description": "Determine if the day before the current system time is in the previous day.", + "Code": "Date.IsInPreviousDay(Date.AddDays(DateTime.FixedLocalNow(), -1))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "count": "number" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ReplaceErrorValues", + "Name": "Date.IsInPreviousMonth", "Documentation": { - "Documentation.Name": "Table.ReplaceErrorValues", - "Documentation.Description": "Replaces the error values in the specified columns with the corresponding specified value.", - "Documentation.LongDescription": "Replaces the error values in the specified columns of the table with the new values in the errorReplacement list. The format of the list is {{column1, value1}, …}. There may only be one replacement value per column, specifying the column more than once will result in an error.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Date.IsInPreviousMonth", + "Documentation.Description": "Indicates whether this date occurs during the previous month, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous month, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Replace the error value with the text \"world\" in the table.", - "Code": "Table.ReplaceErrorValues(\r\n Table.FromRows({{1, \"hello\"}, {3, ...}}, {\"A\", \"B\"}),\r\n {\"B\", \"world\"}\r\n)", - "Result": "Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 3, B = \"world\"]\r\n})" - }, - { - "Description": "Replace the error value in column A with the text \"hello\" and in column B with the text \"world\" in the table.", - "Code": "Table.ReplaceErrorValues(\r\n Table.FromRows({{..., ...}, {1, 2}}, {\"A\", \"B\"}),\r\n {{\"A\", \"hello\"}, {\"B\", \"world\"}}\r\n)", - "Result": "Table.FromRecords({\r\n [A = \"hello\", B = \"world\"],\r\n [A = 1, B = 2]\r\n})" + "Description": "Determine if the month before the current system time is in the previous month.", + "Code": "Date.IsInPreviousMonth(Date.AddMonths(DateTime.FixedLocalNow(), -1))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "errorReplacement": "list" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ReplaceKeys", + "Name": "Date.IsInPreviousQuarter", "Documentation": { - "Documentation.Name": "Table.ReplaceKeys", - "Documentation.Description": "Replaces the keys of the specified table.", - "Documentation.LongDescription": "Replaces the keys of the specified table.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Date.IsInPreviousQuarter", + "Documentation.Description": "Indicates whether this date occurs during the previous quarter, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous quarter, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Replace the existing keys of a table.", - "Code": "let\r\n table = Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n }),\r\n tableWithKeys = Table.AddKey(table, {\"Id\"}, true),\r\n resultTable = Table.ReplaceKeys(tableWithKeys, {[Columns = {\"Id\"}, Primary = false]})\r\nin\r\n resultTable", - "Result": "Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n})" + "Description": "Determine if the quarter before the current system time is in the previous quarter.", + "Code": "Date.IsInPreviousQuarter(Date.AddQuarters(DateTime.FixedLocalNow(), -1))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "keys": "list" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ReplaceMatchingRows", + "Name": "Date.IsInPreviousWeek", "Documentation": { - "Documentation.Name": "Table.ReplaceMatchingRows", - "Documentation.Description": "Replaces all the specified rows with the provided row(s).", - "Documentation.LongDescription": "Replaces all the specified rows in the table with the provided ones. The rows to replace and the replacements are specified in replacements, using {old, new} formatting.\r\n An optional equationCriteria parameter may be specified to control comparison between the rows of the table.", - "Documentation.Category": "Table.Membership", + "Documentation.Name": "Date.IsInPreviousWeek", + "Documentation.Description": "Indicates whether this date occurs during the previous week, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous week, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Replace the rows [a = 1, b = 2] and [a = 2, b = 3] with [a = -1, b = -2],[a = -2, b = -3] in the table.", - "Code": "Table.ReplaceMatchingRows(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 2, b = 3],\r\n [a = 3, b = 4],\r\n [a = 1, b = 2]\r\n }),\r\n {\r\n {[a = 1, b = 2], [a = -1, b = -2]},\r\n {[a = 2, b = 3], [a = -2, b = -3]}\r\n }\r\n)", - "Result": "Table.FromRecords({\r\n [a = -1, b = -2],\r\n [a = -2, b = -3],\r\n [a = 3, b = 4],\r\n [a = -1, b = -2]\r\n})" + "Description": "Determine if the week before the current system time is in the previous week.", + "Code": "Date.IsInPreviousWeek(Date.AddDays(DateTime.FixedLocalNow(), -7))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "replacements": "list", - "equationCriteria": "any" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.SelectColumns", + "Name": "Date.IsInPreviousYear", "Documentation": { - "Documentation.Name": "Table.SelectColumns", - "Documentation.Description": "Returns a table with only the specified columns.", - "Documentation.LongDescription": "Returns the table with only the specified columns.\r\n \r\n ", - "Documentation.Category": "Table.Column operations", + "Documentation.Name": "Date.IsInPreviousYear", + "Documentation.Description": "Indicates whether this date occurs during the previous year, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous year, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Only include column [Name].", - "Code": "Table.SelectColumns(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Name\"\r\n)", - "Result": "Table.FromRecords({\r\n [Name = \"Bob\"],\r\n [Name = \"Jim\"],\r\n [Name = \"Paul\"],\r\n [Name = \"Ringo\"]\r\n})" - }, - { - "Description": "Only include columns [CustomerID] and [Name].", - "Code": "Table.SelectColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"CustomerID\", \"Name\"}\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\"]})" - }, - { - "Description": "If the included column does not exist, the default result is an error.", - "Code": "Table.SelectColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n \"NewColumn\"\r\n)", - "Result": "[Expression.Error] The field 'NewColumn' of the record wasn't found." - }, - { - "Description": "If the included column does not exist, option MissingField.UseNull creates a column of null values.", - "Code": "Table.SelectColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"CustomerID\", \"NewColumn\"},\r\n MissingField.UseNull\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, NewColumn = null]})" + "Description": "Determine if the year before the current system time is in the previous year.", + "Code": "Date.IsInPreviousYear(Date.AddYears(DateTime.FixedLocalNow(), -1))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "columns": "any", - "missingField": "MissingField.Type" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.SelectRows", + "Name": "Date.IsInYearToDate", "Documentation": { - "Documentation.Name": "Table.SelectRows", - "Documentation.Description": "Selects the rows that meet the condition function.", - "Documentation.LongDescription": "Returns a table of rows from the table, that matches the selection condition.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Date.IsInYearToDate", + "Documentation.Description": "Indicates whether this date occurs during the current year and is on or before the current day, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current year and is on or before the current day, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Select the rows in the table where the values in [CustomerID] column are greater than 2.", - "Code": "Table.SelectRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n each [CustomerID] > 2\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" - }, - { - "Description": "Select the rows in the table where the names do not contain a \"B\".", - "Code": "Table.SelectRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n each not Text.Contains([Name], \"B\")\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" + "Description": "Determine if the current system time is in the year to date.", + "Code": "Date.IsInYearToDate(DateTime.FixedLocalNow())", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "condition": "function" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.Sort", + "Name": "Date.IsLeapYear", "Documentation": { - "Documentation.Name": "Table.Sort", - "Documentation.Description": "Sorts the table using one or more column names and comparison criteria.", - "Documentation.LongDescription": "Sorts the table using the list of one or more column names and optional comparisonCriteria in the form { { col1, comparisonCriteria }, {col2} }.", - "Documentation.Category": "Table.Ordering", + "Documentation.Name": "Date.IsLeapYear", + "Documentation.Description": "Indicates whether this date falls in a leap year.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime falls in is a leap year.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Sort the table on column \"OrderID\".", - "Code": "Table.Sort(\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200.0],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2.0],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20.0],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100.0],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n }),\r\n {\"OrderID\"}\r\n)", - "Result": "Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n})" - }, - { - "Description": "Sort the table on column \"OrderID\" in descending order.", - "Code": "Table.Sort(\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200.0],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2.0],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20.0],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100.0],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n }),\r\n {\"OrderID\", Order.Descending}\r\n)", - "Result": "Table.FromRecords({\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5],\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100]\r\n})" - }, - { - "Description": "Sort the table on column \"CustomerID\" then \"OrderID\", with \"CustomerID\" being in ascending order.", - "Code": "Table.Sort(\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200.0],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2.0],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20.0],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100.0],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n }),\r\n {\r\n {\"CustomerID\", Order.Ascending},\r\n \"OrderID\"\r\n }\r\n)", - "Result": "Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n})" + "Description": "Determine if the year 2012, as represented by #date(2012, 01, 01) is a leap year.", + "Code": "Date.IsLeapYear(#date(2012, 01, 01))", + "Result": "true" } ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "comparisonCriteria": "any" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.TransformColumnNames", + "Name": "Date.Month", "Documentation": { - "Documentation.Name": "Table.TransformColumnNames", - "Documentation.Description": "Transforms column names by using the given function.", - "Documentation.LongDescription": "Transforms column names by using the given nameGenerator function. Valid options:\r\n
\r\n MaxLength specifies the maximum length of new column names. If the given function results with a longer column name, the long name will be trimmed.\r\n
\r\n
\r\n Comparer is used to control the comparison while generating new column names. Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n \r\n ", - "Documentation.Category": "Table.Column operations", + "Documentation.Name": "Date.Month", + "Documentation.Description": "Returns the month component.", + "Documentation.LongDescription": "Returns the month component of the provided datetime value, dateTime.", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Remove the #(tab) character from column names", - "Code": "Table.TransformColumnNames(Table.FromRecords({[#\"Col#(tab)umn\" = 1]}), Text.Clean)", - "Result": "Table.FromRecords({[Column = 1]})" - }, - { - "Description": "Transform column names to generate case-insensitive names of length 6.", - "Code": "Table.TransformColumnNames(\r\n Table.FromRecords({[ColumnNum = 1, cOlumnnum = 2, coLumnNUM = 3]}),\r\n Text.Clean,\r\n [MaxLength = 6, Comparer = Comparer.OrdinalIgnoreCase]\r\n)", - "Result": "Table.FromRecords({[Column = 1, cOlum1 = 2, coLum2 = 3]})" + "Description": "Find the month in #datetime(2011, 12, 31, 9, 15, 36).", + "Code": "Date.Month(#datetime(2011, 12, 31, 9, 15, 36))", + "Result": "12" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "table": "table", - "nameGenerator": "function", - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.TransformColumnTypes", + "Name": "Date.MonthName", "Documentation": { - "Documentation.Name": "Table.TransformColumnTypes", - "Documentation.Description": "Applies type transformation(s) of the form { column, type } using a specific culture.", - "Documentation.LongDescription": "Returns a table from the input table by applying the transform operation to the columns specified in the parameter typeTransformations (where format is { column name, type name}), using the specified culture in the optional parameter culture (for example, \"en-US\").\r\n If the column doesn't exist, an exception is thrown.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Date.MonthName", + "Documentation.Description": "Returns the name of the month component.", + "Documentation.LongDescription": "Returns the name of the month component for the provided date. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Transform the number values in column [a] to text values from the table ({[a = 1, b = 2], [a = 3, b = 4]}).", - "Code": "Table.TransformColumnTypes(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n {\"a\", type text},\r\n \"en-US\"\r\n)", - "Result": "Table.FromRecords({\r\n [a = \"1\", b = 2],\r\n [a = \"3\", b = 4]\r\n})" + "Description": "Get the month name.", + "Code": "Date.MonthName(#datetime(2011, 12, 31, 5, 0, 0), \"en-US\")", + "Result": "\"December\"" } ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "table": "table", - "typeTransformations": "list", + "date": "any", "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.TransformColumns", + "Name": "Date.QuarterOfYear", "Documentation": { - "Documentation.Name": "Table.TransformColumns", - "Documentation.Description": "Transforms the values of one or more columns.", - "Documentation.LongDescription": "Transforms table by applying each column operation listed in transformOperations (where the format is { column name, transformation } or { column name, transformation, new column type }).\r\n If a defaultTransformation is specified, it will be applied to all columns not listed in transformOperations.\r\n If a column listed in transformOperations doesn't exist, an exception is thrown unless the optional parameter missingField specifies an alternative (for example, MissingField.UseNull or MissingField.Ignore).", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Date.QuarterOfYear", + "Documentation.Description": "Returns a number indicating which quarter of the year the date falls in.", + "Documentation.LongDescription": "Returns a number from 1 to 4 indicating which quarter of the year the date dateTime falls in. dateTime can be a date, datetime, or datetimezone value.", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Convert the text values in column [A] to number values, and the number values in column [B] to text values.", - "Code": "Table.TransformColumns(\r\n Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n }),\r\n {\r\n {\"A\", Number.FromText},\r\n {\"B\", Text.From}\r\n }\r\n)", - "Result": "Table.FromRecords({\r\n [A = 1, B = \"2\"],\r\n [A = 5, B = \"10\"]\r\n})" - }, - { - "Description": "Convert the number values in missing column [X] to text values, ignoring columns which don't exist.", - "Code": "Table.TransformColumns(\r\n Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n }),\r\n {\"X\", Number.FromText},\r\n null,\r\n MissingField.Ignore\r\n)", - "Result": "Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n})" - }, - { - "Description": "Convert the number values in missing column [X] to text values, defaulting to null on columns which don't exist.", - "Code": "Table.TransformColumns(\r\n Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n }),\r\n {\"X\", Number.FromText},\r\n null,\r\n MissingField.UseNull\r\n)", - "Result": "Table.FromRecords({\r\n [A = \"1\", B = 2, X = null],\r\n [A = \"5\", B = 10, X = null]\r\n})" - }, - { - "Description": "Increment the number values in column [B] and convert them to text values, and convert all other columns to numbers.", - "Code": "Table.TransformColumns(\r\n Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n }),\r\n {\"B\", each Text.From(_ + 1), type text},\r\n Number.FromText\r\n)", - "Result": "Table.FromRecords({\r\n [A = 1, B = \"3\"],\r\n [A = 5, B = \"11\"]\r\n})" + "Description": "Find which quarter of the year the date #date(2011, 12, 31) falls in.", + "Code": "Date.QuarterOfYear(#date(2011, 12, 31))", + "Result": "4" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "table": "table", - "transformOperations": "list", - "defaultTransformation": "function", - "missingField": "MissingField.Type" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.View", + "Name": "Date.StartOfDay", "Documentation": { - "Documentation.Name": "Table.View", - "Documentation.Description": "Creates or extends a table with user-defined handlers for query and action operations.", - "Documentation.LongDescription": "

Returns a view of table where the functions specified in handlers are used in lieu of the default behavior of an operation when the operation is applied to the view.

\r\n

If table is provided, all handler functions are optional. If table isn't provided, the GetType and GetRows handler functions are required. If a handler function isn't specified for an operation, the default behavior of the operation is applied to table instead (except in the case of GetExpression).

\r\n

Handler functions must return a value that is semantically equivalent to the result of applying the operation against table (or the resulting view in the case of GetExpression).

\r\n

If a handler function raises an error, the default behavior of the operation is applied to the view.

\r\n

Table.View can be used to implement folding to a data source – the translation of M queries into source-specific queries (for example, to create T-SQL statements from M queries).

\r\n

Refer to the published Power Query custom connector documentation for a more complete description of Table.View.

", - "Documentation.Category": "Table.Table construction", + "Documentation.Name": "Date.StartOfDay", + "Documentation.Description": "Returns the start of the day.", + "Documentation.LongDescription": "Returns the start of the day represented by dateTime.\r\n dateTime must be a date, datetime, or datetimezone value.", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Create a basic view that doesn't require accessing the rows in order to determine the type or the row count.", - "Code": "Table.View(\r\n null,\r\n [\r\n GetType = () => type table [CustomerID = number, Name = text, Phone = nullable text],\r\n GetRows = () => Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n GetRowCount = () => 1\r\n ]\r\n)", - "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" + "Description": "Find the start of the day for October 10th, 2011, 8:00AM.", + "Code": "Date.StartOfDay(#datetime(2011, 10, 10, 8, 0, 0))", + "Result": "#datetime(2011, 10, 10, 0, 0, 0)" } ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "table": "table", - "handlers": "record" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Troux.CustomFeed", + "Name": "Date.StartOfMonth", "Documentation": { - "Documentation.Description": "Enter the URL of your Planview Enterprise Architecture account and a query.", - "Documentation.DisplayName": "Planview Enterprise Architecture", - "Documentation.Caption": "Planview Enterprise Architecture", - "Documentation.Name": "Planview Enterprise Architecture", - "Documentation.LongDescription": "Returns a table with relevant Planview Enterprise Architecture data specified by the query." + "Documentation.Name": "Date.StartOfMonth", + "Documentation.Description": "Returns the start of the month.", + "Documentation.LongDescription": "Returns the start of the month that contains dateTime.\r\n dateTime must be a date or datetime value.", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Find the start of the month for October 10th, 2011, 8:10:32AM.", + "Code": "Date.StartOfMonth(#datetime(2011, 10, 10, 8, 10, 32))", + "Result": "#datetime(2011, 10, 1, 0, 0, 0)" + } + ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "url": "text", - "query": "text" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "VSTS.AnalyticsViews", + "Name": "Date.StartOfQuarter", "Documentation": { - "Documentation.Description": "Enter organization and project names.", - "Documentation.DisplayName": "VSTS.AnalyticsViews", - "Documentation.Caption": "VSTS.AnalyticsViews", - "Documentation.Name": "Azure DevOps (Boards only)", - "Documentation.LongDescription": "Returns a table of Analytics views offered by Azure DevOps." + "Documentation.Name": "Date.StartOfQuarter", + "Documentation.Description": "Returns the start of the quarter.", + "Documentation.LongDescription": "Returns the start of the quarter that contains dateTime.\r\n dateTime must be a date, datetime, or datetimezone value.", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Find the start of the quarter for October 10th, 2011, 8:00AM.", + "Code": "Date.StartOfQuarter(#datetime(2011, 10, 10, 8, 0, 0))", + "Result": "#datetime(2011, 10, 1, 0, 0, 0)" + } + ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "url": "text", - "project": "text", - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Vertica.Database", + "Name": "Date.StartOfWeek", "Documentation": { - "Documentation.Name": "Vertica", - "Documentation.Caption": "Vertica", - "Documentation.Description": "Import data from Vertica", - "Documentation.LongDescription": "Returns a table of schemas available on the server named by the server parameter in the database named by the database parameter.\r\nAn optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n", + "Documentation.Name": "Date.StartOfWeek", + "Documentation.Description": "Returns the start of the week.", + "Documentation.LongDescription": "Returns the start of the week that contains dateTime.\r\n dateTime must be a date, datetime, or datetimezone value.", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "List the tables in Vertica" + "Description": "Find the start of the week for Tuesday, October 11th, 2011.", + "Code": "Date.StartOfWeek(#datetime(2011, 10, 11, 8, 10, 32))", + "Result": "// Sunday, October 9th, 2011\r\n#datetime(2011, 10, 9, 0, 0, 0)" + }, + { + "Description": "Find the start of the week for Tuesday, October 11th, 2011, using Monday as the start of the week.", + "Code": "Date.StartOfWeek(#datetime(2011, 10, 11, 8, 10, 32), Day.Monday)", + "Result": "// Monday, October 10th, 2011\r\n#datetime(2011, 10, 10, 0, 0, 0)" } ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "server": "text", - "database": "text", - "options": "record" + "dateTime": "any", + "firstDayOfWeek": "Day.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Webtrends.ReportContents", + "Name": "Date.StartOfYear", "Documentation": { - "Documentation.Description": "Returns a table with report content from Webtrends.", - "Documentation.DisplayName": "Webtrends.ReportContents", - "Documentation.Caption": "Webtrends.ReportContents", - "Documentation.Name": "Webtrends.ReportContents", - "Documentation.LongDescription": "Makes a call to the given Webtrends reporting endpoint and returns all data as a table.", + "Documentation.Name": "Date.StartOfYear", + "Documentation.Description": "Returns the start of the year.", + "Documentation.LongDescription": "Returns the start of the year that contains dateTime.\r\n dateTime must be a date, datetime, or datetimezone value.", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Makes a call to the Webtrends visitors report endpoint for data in the last 30 days", - "Code": "Webtrends.ReportContents(\"98765\", \"xPcmTDDP0P6\")", - "Result": "A table of visitor data" + "Description": "Find the start of the year for October 10th, 2011, 8:10:32AM.", + "Code": "Date.StartOfYear(#datetime(2011, 10, 10, 8, 10, 32))", + "Result": "#datetime(2011, 1, 1, 0, 0, 0)" } ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "ProfileId": "text", - "ReportId": "text", - "startDate": "date", - "endDate": "date" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Zucchetti.Contents", + "Name": "Date.ToRecord", "Documentation": { - "Documentation.Name": "Zucchetti HR Infinity", - "Documentation.LongDescription": "Returns contents of VisualQueries (vqr), reports or functions published by the Zucchetti HR software", + "Documentation.Name": "Date.ToRecord", + "Documentation.Description": "Returns a record containing parts of the date value.", + "Documentation.LongDescription": "Returns a record containing the parts of the given date value, date.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Request for employees list", - "Code": " Zucchetti.Contents(\"https://myurl/HRPortal/\", \"001\"),\n ERM = Origine{[idproced=\"ERM\"]}[Data],\n ERM_query_pbi_employee = ERM{[id=\"ERM_query_pbi_employee\"]}[Data]", - "Result": " Table containing employee list" + "Description": "Convert the #date(2011, 12, 31) value into a record containing parts from the date value.", + "Code": "Date.ToRecord(#date(2011, 12, 31))", + "Result": "[\r\n Year = 2011,\r\n Month = 12,\r\n Day = 31\r\n]" } ] }, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "Url": "text", - "Environment": "text" + "date": "date" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "ActiveDirectory.Domains", + "Name": "Date.ToText", "Documentation": { - "Documentation.Name": "ActiveDirectory.Domains", - "Documentation.Description": "Returns a list of Active Directory domains in the same forest as the specified domain or of the current machine's domain if none is specified.", - "Documentation.LongDescription": "Returns a list of Active Directory domains in the same forest as the specified domain or of the current machine's domain if none is specified.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Date.ToText", + "Documentation.Description": "Returns a textual representation of the date value.", + "Documentation.LongDescription": "Returns a textual representation of date. An optional record parameter, options, may be provided to specify additional properties. culture is only used for legacy workflows. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options and culture may also be text values. This has the same behavior as if options = [Format = options, Culture = culture].", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Convert #date(2010, 12, 31) into a text value. Result output may vary depending on current culture.", + "Code": "Date.ToText(#date(2010, 12, 31))", + "Result": "\"12/31/2010\"" + }, + { + "Description": "Convert using a custom format and the German culture.", + "Code": "Date.ToText(#date(2010, 12, 31), [Format=\"dd MMM yyyy\", Culture=\"de-DE\"])", + "Result": "\"31 Dez 2010\"" + }, + { + "Description": "Find the year in the Hijri calendar that corresponds to January 1st, 2000 in the Gregorian calendar.", + "Code": "Date.ToText(#date(2000, 1, 1), [Format=\"yyyy\", Culture=\"ar-SA\"])", + "Result": "\"1420\"" + } + ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "forestRootDomainName": "text" + "date": "date", + "options": "any", + "culture": "text" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "AdoDotNet.Query", + "Name": "Date.WeekOfMonth", "Documentation": { - "Documentation.Name": "AdoDotNet.Query", - "Documentation.Description": "Returns the result of running a native query on an ADO.NET data source.", - "Documentation.LongDescription": "Returns the result of running query with the connection string connectionString using the ADO.NET provider providerName. connectionString can be text or a record of property value pairs. Property values can either be text or number. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Date.WeekOfMonth", + "Documentation.Description": "Returns a number from 1 to 6 indicating which week of the month this date falls in.", + "Documentation.LongDescription": "Returns a number from 1 to 6 indicating which week of the month the date dateTime falls in.\r\n ", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Determine which week of March the 15th falls on in 2011.", + "Code": "Date.WeekOfMonth(#date(2011, 03, 15))", + "Result": "3" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "providerName": "text", - "connectionString": "any", - "query": "text", - "options": "record" + "dateTime": "any", + "firstDayOfWeek": "Day.Type" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "AdobeAnalytics.Cubes", + "Name": "Date.WeekOfYear", "Documentation": { - "Documentation.Name": "AdobeAnalytics.Cubes", - "Documentation.Description": "Returns the report suites in Adobe Analytics.", - "Documentation.LongDescription": "Returns a table of multidimensional packages from Adobe Analytics. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Date.WeekOfYear", + "Documentation.Description": "Returns a number from 1 to 54 indicating which week of the year this date falls in.", + "Documentation.LongDescription": "Returns a number from 1 to 54 indicating which week of the year the date, dateTime, falls in.\r\n ", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Determine which week of the year contains March 27th, 2011.", + "Code": "Date.WeekOfYear(#date(2011, 03, 27))", + "Result": "14" + }, + { + "Description": "Determine which week of the year contains March 27th, 2011, using Monday as the start of the week.", + "Code": "Date.WeekOfYear(#date(2011, 03, 27), Day.Monday)", + "Result": "13" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "options": "record" + "dateTime": "any", + "firstDayOfWeek": "Day.Type" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "AmazonOpenSearchService.Contents", + "Name": "Date.Year", "Documentation": { - "Documentation.Name": "Amazon OpenSearch Service" + "Documentation.Name": "Date.Year", + "Documentation.Description": "Returns the year component.", + "Documentation.LongDescription": "Returns the year component of the provided datetime value, dateTime.", + "Documentation.Category": "Date", + "Documentation.Examples": [ + { + "Description": "Find the year in #datetime(2011, 12, 31, 9, 15, 36).", + "Code": "Date.Year(#datetime(2011, 12, 31, 9, 15, 36))", + "Result": "2011" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "Server": "text", - "Port": "number", - "UseSSL": "logical" + "dateTime": "any" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "ApacheHiveLLAP.Database", + "Name": "DateTime.Date", "Documentation": { - "Documentation.Name": "Hive LLAP", - "Documentation.Caption": null, - "Documentation.Description": "Import data from a Hive LLAP", - "Documentation.LongDescription": "\r\nReturns a list of tables from Hive LLAP specified by the database on the Hive LLAP server using the selected protocol. A port number may be optionally specified with the server, separated by a colon. The Thrift Transport Protocol is an enumerated type with values \"Standard\", \"HTTP\". An optional options parameter may be specified to control the following options:\r\n\r\nThe options parameter is specified as [option1 = value1, option2 = value2...]." + "Documentation.Name": "DateTime.Date", + "Documentation.Description": "Returns the date component of the given date, datetime, or datetimezone value.", + "Documentation.LongDescription": "Returns the date component of dateTime, the given date, datetime, or datetimezone value.", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Find date value of #datetime(2010, 12, 31, 11, 56, 02).", + "Code": "DateTime.Date(#datetime(2010, 12, 31, 11, 56, 02))", + "Result": "#date(2010, 12, 31)" + } + ] }, - "ReturnType": "table", + "ReturnType": "date", "Parameters": { - "server": "text", - "database": "text", - "thriftTransport": "number", - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "3" - }, - { - "Name": "AutomyDataAnalytics.Contents", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "AzureCostManagement.Contents", + "Name": "DateTime.From", "Documentation": { - "Documentation.Description": null, - "Documentation.DisplayName": "Contents", - "Documentation.Caption": "AzureCostManagement.Contents", - "Documentation.Name": "AzureCostManagement.Contents", - "Documentation.LongDescription": null, + "Documentation.Name": "DateTime.From", + "Documentation.Description": "Creates a datetime from the given value.", + "Documentation.LongDescription": "Returns a datetime value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, DateTime.From returns null. If the given value is datetime, value is returned. Values of the following types can be converted to a datetime value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "Assuming today is 2017-6-15, get summaries data between 2017-5-1 to 2017-6-15", - "Code": "let\r\n enrollmentNumber = \"100\",\r\n optionalParameters = [ numberOfMonth = 1 ],\r\n result = AzureCostManagement.Contents(enrollmentNumber, optionalParameters)\r\n in\r\n result", - "Result": "Function will return summaries data between 2017-5-1 to 2017-6-15" - }, - { - "Description": "Assuming today is 2017-6-15, get summaries data for April 2017.", - "Code": "let\r\n enrollmentNumber = \"100\",\r\n optionalParameters = [ startBillingDataWindow = \"-2\", endBillingDataWindow = \"-1\" ],\r\n result = AzureCostManagement.Contents(enrollmentNumber, optionalParameters)\r\n in\r\n result", - "Result": "Function will return data between 2017-4-1 and 2017-4-30" + "Description": "Convert #time(06, 45, 12) to a datetime value.", + "Code": "DateTime.From(#time(06, 45, 12))", + "Result": "#datetime(1899, 12, 30, 06, 45, 12)" }, { - "Description": "Assuming today is 2017-6-15, get summaries data from April 2017 till now.", - "Code": "let\r\n enrollmentNumber = \"100\",\r\n optionalParameters = [ startBillingDataWindow = \"-2\", endBillingDataWindow = \"0\", dataType = \"Summaries\" ],\r\n result = AzureCostManagement.Contents(enrollmentNumber, optionalParameters)\r\n in\r\n result", - "Result": "Function will return data between 2017-4-1 and 2017-6-15" + "Description": "Convert #date(1975, 4, 4) to a datetime value.", + "Code": "DateTime.From(#date(1975, 4, 4))", + "Result": "#datetime(1975, 4, 4, 0, 0, 0)" } ] }, - "ReturnType": "table", + "ReturnType": "datetime", "Parameters": { - "scope": "text", - "scopeValue": "text", - "numberOfMonths": "number", - "parameters": "record" + "value": "any", + "culture": "text" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "AzureCostManagement.Tables", + "Name": "DateTime.FromFileTime", "Documentation": { - "Documentation.Caption": "Azure Cost Management", - "Documentation.Description": "Azure Cost Management", - "Documentation.DisplayName": "Azure Cost Management", - "Documentation.LongDescription": "Azure Cost Management", - "Documentation.Name": "Azure Cost Management" + "Documentation.Name": "DateTime.FromFileTime", + "Documentation.Description": "Creates a datetime from a 64 bits long number.", + "Documentation.LongDescription": "Creates a datetime value from the fileTime value and converts it to the local time zone. The filetime is a Windows file time value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC).\r\n", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Convert 129876402529842245 into a datetime value.", + "Code": "DateTime.FromFileTime(129876402529842245)", + "Result": "#datetime(2012, 7, 24, 14, 50, 52.9842245)" + } + ] }, - "ReturnType": "table", + "ReturnType": "datetime", "Parameters": { - "scope": "text", - "scopeValue": "text", - "numberOfMonths": "number", - "options": "record" + "fileTime": "number" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "AzureDevOpsServer.Views", + "Name": "DateTime.FromText", "Documentation": { - "Documentation.Description": "Enter organization and project names.", - "Documentation.DisplayName": "VSTS.Views", - "Documentation.Caption": "VSTS.Views", - "Documentation.Name": "Azure DevOps Services", - "Documentation.LongDescription": "Returns a table of OData feeds offered by Azure DevOps." + "Documentation.Name": "DateTime.FromText", + "Documentation.Description": "Creates a datetimezone from local and universal datetime formats.", + "Documentation.LongDescription": "Creates a datetime value from a textual representation, text. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options may also be a text value. This has the same behavior as if options = [Format = null, Culture = options].", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Convert \"2010-12-31T01:30:00\" into a datetime value.", + "Code": "DateTime.FromText(\"2010-12-31T01:30:25\")", + "Result": "#datetime(2010, 12, 31, 1, 30, 25)" + }, + { + "Description": "Convert \"2010-12-31T01:30:00.121212\" into a datetime value.", + "Code": "DateTime.FromText(\"30 Dez 2010 02:04:50.369730\", [Format=\"dd MMM yyyy HH:mm:ss.ffffff\", Culture=\"de-DE\"])", + "Result": "#datetime(2010, 12, 30, 2, 4, 50.36973)" + }, + { + "Description": "Convert \"2010-12-31T01:30:00\" into a datetime value.", + "Code": "DateTime.FromText(\"2000-02-08T03:45:12Z\", [Format=\"yyyy-MM-dd'T'HH:mm:ss'Z'\", Culture=\"en-US\"])", + "Result": "#datetime(2000, 2, 8, 3, 45, 12)" + }, + { + "Description": "Convert \"20101231T013000\" into a datetime value.", + "Code": "DateTime.FromText(\"20101231T013000\", [Format=\"yyyyMMdd'T'HHmmss\", Culture=\"en-US\"])", + "Result": "#datetime(2010, 12, 31, 1, 30, 0)" + } + ] }, - "ReturnType": "table", + "ReturnType": "datetime", "Parameters": { - "url": "text", - "project": "text", - "areaPath": "text", - "options": "record" + "text": "text", + "options": "any" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "CDataConnectCloud.Contents", + "Name": "DateTime.IsInCurrentHour", "Documentation": { - "Documentation.Name": "CData Connect Cloud", - "Documentation.LongDescription": "Returns a table with relevant data from the connected data source in CData Connect Cloud." + "Documentation.Name": "DateTime.IsInCurrentHour", + "Documentation.Description": "Indicates whether this datetime occurs during the current hour, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current hour, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Determine if the current system time is in the current hour.", + "Code": "DateTime.IsInCurrentHour(DateTime.FixedLocalNow())", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "CommonDataService.Database", + "Name": "DateTime.IsInCurrentMinute", "Documentation": { - "Documentation.Name": "Dataverse", - "Documentation.Caption": "Dataverse", - "Documentation.LongDescription": "Connect to your Dataverse instance (Dynamics 365 and PowerApps)." + "Documentation.Name": "DateTime.IsInCurrentMinute", + "Documentation.Description": "Indicates whether this datetime occurs during the current minute, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current minute, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Determine if the current system time is in the current minute.", + "Code": "DateTime.IsInCurrentMinute(DateTime.FixedLocalNow())", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "server": "text", - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Cube.AddAndExpandDimensionColumn", + "Name": "DateTime.IsInCurrentSecond", "Documentation": { - "Documentation.Name": "Cube.AddAndExpandDimensionColumn", - "Documentation.Description": "Merges the specified dimension table into the cube’s filter context and changes the dimensional granularity of the filter context by expanding the specified set of dimension attributes.", - "Documentation.LongDescription": "Merges the specified dimension table, dimensionSelector, into the cube’s, cube, filter context and changes the dimensional granularity by expanding the specified set, attributeNames, of dimension attributes. The dimension attributes are added to the tabular view with columns named newColumnNames, or attributeNames if not specified.", - "Documentation.Category": "Cube", - "Documentation.Examples": [] + "Documentation.Name": "DateTime.IsInCurrentSecond", + "Documentation.Description": "Indicates whether this datetime occurs during the current second, as determined by the current date and time on the system.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current second, as determined by the current date and time on the system.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Determine if the current system time is in the current second.", + "Code": "DateTime.IsInCurrentSecond(DateTime.FixedLocalNow())", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "cube": "table", - "dimensionSelector": "any", - "attributeNames": "list", - "newColumnNames": "any" + "dateTime": "any" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Cube.AddMeasureColumn", + "Name": "DateTime.IsInNextHour", "Documentation": { - "Documentation.Name": "Cube.AddMeasureColumn", - "Documentation.Description": "Adds a column to the cube that contains the results of the measure applied in the row context of each row.", - "Documentation.LongDescription": "Adds a column with the name column to the cube that contains the results of the measure measureSelector applied in the row context of each row. Measure application is affected by changes to dimension granularity and slicing. Measure values will be adjusted after certain cube operations are performed.", - "Documentation.Category": "Cube", - "Documentation.Examples": [] + "Documentation.Name": "DateTime.IsInNextHour", + "Documentation.Description": "Indicates whether this datetime occurs during the next hour, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next hour, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Determine if the hour after the current system time is in the next hour.", + "Code": "DateTime.IsInNextHour(DateTime.FixedLocalNow() + #duration(0, 1, 0, 0))", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "cube": "table", - "column": "text", - "measureSelector": "any" + "dateTime": "any" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "CustomerInsights.Contents", + "Name": "DateTime.IsInNextMinute", "Documentation": { - "Documentation.Name": "Dynamics 365 Customer Insights" + "Documentation.Name": "DateTime.IsInNextMinute", + "Documentation.Description": "Indicates whether this datetime occurs during the next minute, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next minute, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Determine if the minute after the current system time is in the next minute.", + "Code": "DateTime.IsInNextMinute(DateTime.FixedLocalNow() + #duration(0, 0, 1, 0))", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "0" - }, - { - "Name": "DataWorld.Contents", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Dynamics365BusinessCentral.ApiContents", + "Name": "DateTime.IsInNextSecond", "Documentation": { - "Documentation.Description": "Enter your Dynamics 365 Business Central environment and company.", - "Documentation.DisplayName": "Dynamics 365 Business Central", - "Documentation.Caption": "Dynamics365BusinessCentral.Contents", - "Documentation.Name": "Dynamics 365 Business Central", - "Documentation.LongDescription": "Returns a table with relevant Dynamics 365 Business Central data. " + "Documentation.Name": "DateTime.IsInNextSecond", + "Documentation.Description": "Indicates whether this datetime occurs during the next second, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next second, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Determine if the second after the current system time is in the next second.", + "Code": "DateTime.IsInNextSecond(DateTime.FixedLocalNow() + #duration(0, 0, 0, 1))", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "environment": "text", - "company": "text", - "apiRoute": "text" + "dateTime": "any" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Dynamics365BusinessCentral.ApiContentsWithOptions", + "Name": "DateTime.IsInPreviousHour", "Documentation": { - "Documentation.Description": "Enter your Dynamics 365 Business Central environment and company.", - "Documentation.DisplayName": "Dynamics 365 Business Central", - "Documentation.Caption": "Dynamics365BusinessCentral.Contents", - "Documentation.Name": "Dynamics 365 Business Central", - "Documentation.LongDescription": "Returns a table with relevant Dynamics 365 Business Central data. " - }, - "ReturnType": "table", - "Parameters": { - "environment": "text", - "company": "text", - "apiRoute": "text", - "options": "record" - }, - "RequiredParameters": "0" - }, - { - "Name": "Dynamics365BusinessCentral.Contents", - "Documentation": { - "Documentation.Description": "Enter your Dynamics 365 Business Central environment and company.", - "Documentation.DisplayName": "Dynamics 365 Business Central", - "Documentation.Caption": "Dynamics365BusinessCentral.Contents", - "Documentation.Name": "Dynamics 365 Business Central", - "Documentation.LongDescription": "Returns a table with relevant Dynamics 365 Business Central data. " + "Documentation.Name": "DateTime.IsInPreviousHour", + "Documentation.Description": "Indicates whether this datetime occurs during the previous hour, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous hour, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Determine if the hour before the current system time is in the previous hour.", + "Code": "DateTime.IsInPreviousHour(DateTime.FixedLocalNow() - #duration(0, 1, 0, 0))", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "company": "text" + "dateTime": "any" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Dynamics365BusinessCentral.EnvironmentContents", + "Name": "DateTime.IsInPreviousMinute", "Documentation": { - "Documentation.Description": "Enter your Dynamics 365 Business Central environment and company.", - "Documentation.DisplayName": "Dynamics 365 Business Central", - "Documentation.Caption": "Dynamics365BusinessCentral.Contents", - "Documentation.Name": "Dynamics 365 Business Central", - "Documentation.LongDescription": "Returns a table with relevant Dynamics 365 Business Central data. " + "Documentation.Name": "DateTime.IsInPreviousMinute", + "Documentation.Description": "Indicates whether this datetime occurs during the previous minute, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous minute, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Determine if the minute before the current system time is in the previous minute.", + "Code": "DateTime.IsInPreviousMinute(DateTime.FixedLocalNow() - #duration(0, 0, 1, 0))", + "Result": "true" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "environment": "text", - "company": "text" + "dateTime": "any" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Emigo.Contents", + "Name": "DateTime.IsInPreviousSecond", "Documentation": { - "Documentation.Name": "Emigo.Contents", - "Documentation.LongDescription": "The purpose of the method is to set parameters for odata feed data source calls, thus the non-function calls may be limited by, for example, the period", + "Documentation.Name": "DateTime.IsInPreviousSecond", + "Documentation.Description": "Indicates whether this datetime occurs during the previous second, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous second, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.\r\n ", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "The purpose of the function is set the feed call parametrs", - "Code": "let\r\n Source = Emigo.Contents(\"DAYS\", \"3\", \"exact\", null),\r\n emigoList = Source{[Key=\"emigoList\"]}[Data],\r\n Dziennik_table = emigoList{[Name=\"Dziennik\",Signature=\"table\"]}[Data],\r\n #\"Removed Columns\" = Table.RemoveColumns(Dziennik_table,{\"CzasWykonywaniaSekundy\", \"CzyCzasUKlienta\", \"CzyCzasDojazdu\", \"CzyZdjecia\", \"Odrzucona\", \"Obligatoryjna\", \"Wykonana\", \"DataCzasRozpoczecia\", \"DataGodzina\", \"Data\", \"Hierarchia\", \"IDCzynnosciTypy\", \"IDDziennikGrup\", \"IDGrupaDocelowa\", \"IDLogin\", \"IDKlient\", \"IdPrzOdm\", \"IDZadania\", \"IDTypZadania\", \"IDTME\", \"SekundyMiedzyCzynnosciami\", \"IloscZdjec\", \"OkresWykonywaniaSekundy\", \"CzyZadanieWykonane\", \"AnulowaneNaTME\", \"OdlegloscKlientKM\", \"IDKatZad\"}),\r\n #\"Filtered Rows\" = Table.SelectRows(#\"Removed Columns\", each true)\r\nin\r\n #\"Filtered Rows\"", - "Result": "\"#Filtered Rows\"({\"IDDZiennik\", \"DataNumerycznie\"}, {{132806, 20190220}, {132803, 20190220}})" + "Description": "Determine if the second before the current system time is in the previous second.", + "Code": "DateTime.IsInPreviousSecond(DateTime.FixedLocalNow() - #duration(0, 0, 0, 1))", + "Result": "true" } ] }, - "ReturnType": "table", - "Parameters": { - "DataRestrictionType": "text", - "DataRestrictionValue": "text", - "DataRestrictionMode": "text", - "AuthorizationMode": "text" - }, - "RequiredParameters": "0" - }, - { - "Name": "EmplifiMetrics.Contents", - "Documentation": {}, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "options": "record" + "dateTime": "any" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Excel.CurrentWorkbook", + "Name": "DateTime.Time", "Documentation": { - "Documentation.Name": "Excel.CurrentWorkbook", - "Documentation.Description": "Returns the contents of the current Excel workbook.", - "Documentation.LongDescription": "Returns the contents of the current Excel workbook. It returns tables, named ranges, and dynamic arrays. Unlike Excel.Workbook, it does not return sheets.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "DateTime.Time", + "Documentation.Description": "Returns the time part of the given datetime value.", + "Documentation.LongDescription": "Returns the time part of the given datetime value, dateTime.", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Find the time value of #datetime(2010, 12, 31, 11, 56, 02).", + "Code": "DateTime.Time(#datetime(2010, 12, 31, 11, 56, 02))", + "Result": "#time(11, 56, 2)" + } + ] }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "ReturnType": "time", + "Parameters": { + "dateTime": "any" + }, + "RequiredParameters": "1" }, { - "Name": "Exchange.Contents", + "Name": "DateTime.ToRecord", "Documentation": { - "Documentation.Name": "Exchange.Contents", - "Documentation.Description": "Returns a table of contents from a Microsoft Exchange account.", - "Documentation.LongDescription": "Returns a table of contents from the Microsoft Exchange account mailboxAddress. If mailboxAddress is not specified, the default account for the credential will be used.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "DateTime.ToRecord", + "Documentation.Description": "Returns a record containing the datetime value's parts.", + "Documentation.LongDescription": "Returns a record containing the parts of the given datetime value, dateTime.\r\n ", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Convert the #datetime(2011, 12, 31, 11, 56, 2) value into a record containing Date and Time values.", + "Code": "DateTime.ToRecord(#datetime(2011, 12, 31, 11, 56, 2))", + "Result": "[\r\n Year = 2011,\r\n Month = 12,\r\n Day = 31,\r\n Hour = 11,\r\n Minute = 56,\r\n Second = 2\r\n]" + } + ] }, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "mailboxAddress": "text" + "dateTime": "datetime" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Fabric.Warehouse", + "Name": "DateTime.ToText", "Documentation": { - "Documentation.Name": "Warehouse", - "Documentation.Caption": "Warehouse", - "Documentation.Description": "Imports data from Warehouse", - "Documentation.LongDescription": "Imports data from Warehouse" + "Documentation.Name": "DateTime.ToText", + "Documentation.Description": "Returns a textual representation of the datetime value.", + "Documentation.LongDescription": "Returns a textual representation of dateTime. An optional record parameter, options, may be provided to specify additional properties. culture is only used for legacy workflows. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options and culture may also be text values. This has the same behavior as if options = [Format = options, Culture = culture].", + "Documentation.Category": "DateTime", + "Documentation.Examples": [ + { + "Description": "Convert #datetime(2010, 12, 31, 01, 30, 25) into a text value. Result output may vary depending on current culture.", + "Code": "DateTime.ToText(#datetime(2010, 12, 31, 01, 30, 25))", + "Result": "\"12/31/2010 1:30:25 AM\"" + }, + { + "Description": "Convert using a custom format and the German culture.", + "Code": "DateTime.ToText(#datetime(2010, 12, 30, 2, 4, 50.36973), [Format=\"dd MMM yyyy HH:mm:ss.ffffff\", Culture=\"de-DE\"])", + "Result": "\"30 Dez 2010 02:04:50.369730\"" + }, + { + "Description": "Convert using the ISO 8601 pattern.", + "Code": "DateTime.ToText(#datetime(2000, 2, 8, 3, 45, 12),[Format=\"yyyy-MM-dd'T'HH:mm:ss'Z'\", Culture=\"en-US\"])", + "Result": "\"2000-02-08T03:45:12Z\"" + } + ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "options": "record" + "dateTime": "datetime", + "options": "any", + "culture": "text" }, - "RequiredParameters": "0" - }, - { - "Name": "FactSetAnalytics.Functions", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "FactSetRMS.Functions", - "Documentation": {}, - "ReturnType": "table", + "Name": "DateTimeZone.From", + "Documentation": { + "Documentation.Name": "DateTimeZone.From", + "Documentation.Description": "Creates a datetimezone from the given value.", + "Documentation.LongDescription": "Returns a datetimezone value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, DateTimeZone.From returns null. If the given value is datetimezone, value is returned. Values of the following types can be converted to a datetimezone value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [ + { + "Description": "Convert \"2020-10-30T01:30:00-08:00\" to a datetimezone value.", + "Code": "DateTimeZone.From(\"2020-10-30T01:30:00-08:00\")", + "Result": "#datetimezone(2020, 10, 30, 01, 30, 00, -8, 00)" + } + ] + }, + "ReturnType": "datetimezone", "Parameters": { - "options": "record" + "value": "any", + "culture": "text" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Funnel.Contents", + "Name": "DateTimeZone.FromFileTime", "Documentation": { - "Documentation.Name": "Navigational data", - "Documentation.LongDescription": "Returns a navigation table to help the user navigate their Workspaces and respective Data Shares." + "Documentation.Name": "DateTimeZone.FromFileTime", + "Documentation.Description": "Creates a datetimezone from a 64 bits long number.", + "Documentation.LongDescription": "Creates a datetimezone value from the fileTime value and converts it to the local time zone. The filetime is a Windows file time value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC).\r\n ", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [ + { + "Description": "Convert 129876402529842245 into a datetimezone value.", + "Code": "DateTimeZone.FromFileTime(129876402529842245)", + "Result": "#datetimezone(2012, 7, 24, 14, 50, 52.9842245, -7, 0)" + } + ] }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "ReturnType": "datetimezone", + "Parameters": { + "fileTime": "number" + }, + "RequiredParameters": "1" }, { - "Name": "GoogleAnalytics.Accounts", + "Name": "DateTimeZone.FromText", "Documentation": { - "Documentation.Name": "GoogleAnalytics.Accounts", - "Documentation.Description": "Returns Google Analytics accounts.", - "Documentation.LongDescription": "Returns Google Analytics accounts that are accessible from the current credential.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "DateTimeZone.FromText", + "Documentation.Description": "Creates a datetimezone from local, universal, and custom datetimezone formats.", + "Documentation.LongDescription": "Creates a datetimezone value from a textual representation, text. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options may also be a text value. This has the same behavior as if options = [Format = null, Culture = options].", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [ + { + "Description": "Convert \"2010-12-31T01:30:00-08:00\" into a datetimezone value.", + "Code": "DateTimeZone.FromText(\"2010-12-31T01:30:00-08:00\")", + "Result": "#datetimezone(2010, 12, 31, 1, 30, 0, -8, 0)" + }, + { + "Description": "Convert using a custom format and the German culture.", + "Code": "DateTimeZone.FromText(\"30 Dez 2010 02:04:50.369730 +02:00\", [Format=\"dd MMM yyyy HH:mm:ss.ffffff zzz\", Culture=\"de-DE\"])", + "Result": "#datetimezone(2010, 12, 30, 2, 4, 50.36973, 2, 0)" + }, + { + "Description": "Convert using ISO 8601.", + "Code": "DateTimeZone.FromText(\"2009-06-15T13:45:30.0000000-07:00\", [Format=\"O\", Culture=\"en-US\"])", + "Result": "#datetimezone(2009, 6, 15, 13, 45, 30, -7, 0)" + } + ] }, - "ReturnType": "table", + "ReturnType": "datetimezone", "Parameters": { - "options": "record" + "text": "text", + "options": "any" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "GoogleBigQuery.Database", + "Name": "DateTimeZone.RemoveZone", "Documentation": { - "Documentation.Name": "Google BigQuery", - "Documentation.Caption": "Google BigQuery", - "Documentation.Description": "Import data from a Google BigQuery database.", - "Documentation.LongDescription": "\r\n Returns a table listing the available projects in Google BigQuery. An optional record parameter, options, may be specified to control the following options:\r\n \r\n The record parameter is specified as [option1 = value1, option2 = value2...].\r\n ", + "Documentation.Name": "DateTimeZone.RemoveZone", + "Documentation.Description": "Removes timezone information from the given datetimezone value.", + "Documentation.LongDescription": "Returns a #datetime value from dateTimeZone with timezone information removed.", + "Documentation.Category": "DateTimeZone", "Documentation.Examples": [ { - "Description": "List the available projects in Google BigQuery", - "Code": "GoogleBigQuery.Database()" + "Description": "Remove timezone information from the value #datetimezone(2011, 12, 31, 9, 15, 36, -7, 0).", + "Code": "DateTimeZone.RemoveZone(#datetimezone(2011, 12, 31, 9, 15, 36, -7, 0))", + "Result": "#datetime(2011, 12, 31, 9, 15, 36)" } ] }, - "ReturnType": "table", + "ReturnType": "datetime", "Parameters": { - "options": "record" + "dateTimeZone": "datetimezone" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "IRIS.Database", - "Documentation": { - "Documentation.Name": "InterSystems IRIS", - "Documentation.LongDescription": "InterSystems IRIS", - "Documentation.Icon": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gkZDwUXQqFc8gAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAADzElEQVRYR8WXS4wUVRSGv1PV1cX0jCMjymR6xBCcUfBBgiGinYwLHWOERIyuNMbEuHTnhkjiDnWhGI2udOPehXF2KiYudDE+SBSNYIJgQkCNPAYyTtNddY+LW1Vdj9vdMyDhX1RVn3Puvf895z+3ukRVleuImr0pnU6UmDxHWMpRHL41QkHFENYDAERVVY1hevIAjdH19BbLjUBQNQ7f2iHAhfNn+fvCa3hemgGB0ZFRRhp1kMHLyNVzINZutkitZ7aWV/bNsfOBZl8SqoL0YWHV5C6T5ynff3uSN15fTKMByROwaN7aYPaOCYan27VQvzE29s/T/1Q8FQLieFo9ho2p+quS/z+K3Aeuhs8RGMb+2qBKYBUJGB4yPCJFRQOuc+i9n39APB8jiqfC8zPbGK+HfHjkMPg1DGrpK9w0NkrrlmmajXVUs6oVbpU2zPtto8A7vx2lHoYoEAvs3TzLeD3krd+PIbWAMoSfeHXbXTy75U4KJMQ+e9qz5faraImwoCjw5vZddKM2APtn72U8qGcRRg2PNTexe2qa3VNNNtQ8FMP+I4c5275cnC/Zkea2mcuAOBpAEJSnZmbY9+MiUoOnb59h3PMTvxJFMQd37MpNpNz/+QJdoxy7eJ7WuqmcR7MqpEu53jwlFNNSbiWlKKRT7TbtKCISZcT3cUGyS0mE5RLkIXjVRhWoBwFbP/0421GsEX4QcJsIOzZsLIaLHWO0l+0sA6qDzyDFYJKnng18FDRCJUYCqNVCWjeu55P5J/rMVESvBFIVYR554aQQhH87Mb88+QwLD+8BFQThwH0tbg6r3eFCRkCGnoQ2QnIiEABPiYGtYzdwT2OM2I948etDrEpelKIqJVB7OXrpInj256/Ly3TitBiaCUeBjx6ap26EPzoxX5w5U1WsAwPPgVSuez5bIKiHADz3zZf8dXnFutUj1YQAY36NFzbPosS8tPgVXUfZyhhyDlg8MjmJH4QYwAfCpL3mNzaJTbeQxpfv3s7plWU6xnDo1Eke37TFNWWGylFchqJ8MPeo0/f+g3MOq3JwZ8thz9wFFNrQheHiLEIGiK8g3/S9kJo8PxHTKoRzpUi34muc2RwiXNuOrwhClo5eCbIEXTsCheyW3wWiiigcP36OiYkgYZhSzd+TyZK78cAzFHaVQUg+aAA8Tpw4VxpdakOAd9/+jkEQwFxFkkSg46X/NJLvAgWWlpaJjY+l3SuJkgnWQtUadHCHqKQHlGSpF+zBubJ0KTnSxX4bAhiTz18x3U6oO+sZkuGilkxvRks+7bqMwPXCfx1BWTtnUBwAAAAAAElFTkSuQmCC" - }, - "ReturnType": "table", - "Parameters": { - "host": "text", - "port": "number", - "namespace": "text", - "ssl": "text", - "logs": "text" - }, - "RequiredParameters": "3" - }, - { - "Name": "IndustrialAppStore.NavigationTable", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Kyligence.Database", + "Name": "DateTimeZone.ToLocal", "Documentation": { - "Documentation.Name": "Kyligence", - "Documentation.LongDescription": "Connect your Kyligence" + "Documentation.Name": "DateTimeZone.ToLocal", + "Documentation.Description": "Converts the timezone component to the local timezone.", + "Documentation.LongDescription": "Changes timezone information of the datetimezone value dateTimeZone to the local timezone information.\r\n If dateTimeZone does not have a timezone component, the local timezone information is added.", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [ + { + "Description": "Change timezone information for #datetimezone(2010, 12, 31, 11, 56, 02, 7, 30) to local timezone (assuming PST).", + "Code": "DateTimeZone.ToLocal(#datetimezone(2010, 12, 31, 11, 56, 02, 7, 30))", + "Result": "#datetimezone(2010, 12, 31, 12, 26, 2, -8, 0)" + } + ] }, - "ReturnType": "table", + "ReturnType": "datetimezone", "Parameters": { - "Server": "text", - "Port": "text", - "Project": "text", - "options": "record" + "dateTimeZone": "datetimezone" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Lakehouse.Contents", + "Name": "DateTimeZone.ToRecord", "Documentation": { - "Documentation.Name": "Lakehouse", - "Documentation.Caption": "Import data from a Lakehouse", - "Documentation.Description": "Import data from a Lakehouse", - "Documentation.LongDescription": "Connect to all the Lakehouses you have access to, and choose the entities you'd like to use" - }, - "ReturnType": "table", - "Parameters": { - "options": "record" - }, - "RequiredParameters": "0" - }, - { - "Name": "Linkar.Contents", - "Documentation": {}, - "ReturnType": "table", - "Parameters": { - "server": "text", - "entrypoint": "text", - "port": "number", - "language": "text", - "freetext": "text", - "customvars": "text", - "FileName": "text", - "SelectClause": "text", - "DictClause": "text", - "SortClause": "text", - "sqlmode": "logical" + "Documentation.Name": "DateTimeZone.ToRecord", + "Documentation.Description": "Returns a record containing the datetimezone value's parts.", + "Documentation.LongDescription": "Returns a record containing the parts of the given datetimezone value, dateTimeZone.\r\n ", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [ + { + "Description": "Convert the #datetimezone(2011, 12, 31, 11, 56, 2, 8, 0) value into a record containing Date, Time, and Zone values.", + "Code": "DateTimeZone.ToRecord(#datetimezone(2011, 12, 31, 11, 56, 2, 8, 0))", + "Result": "[\r\n Year = 2011,\r\n Month = 12,\r\n Day = 31,\r\n Hour = 11,\r\n Minute = 56,\r\n Second = 2,\r\n ZoneHours = 8,\r\n ZoneMinutes = 0\r\n]" + } + ] }, - "RequiredParameters": "3" - }, - { - "Name": "LinkedIn.SalesContracts", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "LinkedIn.SalesContractsWithReportAccess", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "LinkedIn.SalesNavigatorAnalytics", - "Documentation": {}, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "contractName": "text", - "action": "text", - "startAt": "date", - "endAt": "date" + "dateTimeZone": "datetimezone" }, - "RequiredParameters": "4" - }, - { - "Name": "MailChimp.Tables", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "MailChimp.TablesV2", + "Name": "DateTimeZone.ToText", "Documentation": { - "Documentation.Description": "Returns a table with key MailChimp data.", - "Documentation.DisplayName": "MailChimp", - "Documentation.Caption": "MailChimp.Tables", - "Documentation.Name": "MailChimp", - "Documentation.LongDescription": "Returns a table with key MailChimp data.", + "Documentation.Name": "DateTimeZone.ToText", + "Documentation.Description": "Returns a textual representation of the datetimezone value.", + "Documentation.LongDescription": "Returns a textual representation of dateTimeZone. An optional record parameter, options, may be provided to specify additional properties. culture is only used for legacy workflows. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options and culture may also be text values. This has the same behavior as if options = [Format = options, Culture = culture].", + "Documentation.Category": "DateTimeZone", "Documentation.Examples": [ { - "Description": "Returns a table with key MailChimp data.", - "Code": "MailChimp.Tables()", - "Result": "A table with key MailChimp data." + "Description": "Convert #datetimezone(2010, 12, 31, 01, 30, 25, 2, 0) into a text value. Result output may vary depending on current culture.", + "Code": "DateTimeZone.ToText(#datetimezone(2010, 12, 31, 01, 30, 25, 2, 0))", + "Result": "\"12/31/2010 1:30:25 AM +02:00\"" + }, + { + "Description": "Convert using a custom format and the German culture.", + "Code": "DateTimeZone.ToText(#datetimezone(2010, 12, 30, 2, 4, 50.36973, -8,0), [Format=\"dd MMM yyyy HH:mm:ss.ffffff zzz\", Culture=\"de-DE\"])", + "Result": "\"30 Dez 2010 02:04:50.369730 -08:00\"" + }, + { + "Description": "Convert using the ISO 8601 pattern.", + "Code": "DateTimeZone.ToText(#datetimezone(2000, 2, 8, 3, 45, 12, 2, 0),[Format=\"O\", Culture=\"en-US\"])", + "Result": "\"2000-02-08T03:45:12.0000000+02:00\"" } ] }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "ReturnType": "text", + "Parameters": { + "dateTimeZone": "datetimezone", + "options": "any", + "culture": "text" + }, + "RequiredParameters": "1" }, { - "Name": "Marketo.Activities", + "Name": "DateTimeZone.ToUtc", "Documentation": { - "Documentation.Name": "Marketo.Activities", - "Documentation.DisplayName": "Marketo.Activities", - "Documentation.Caption": "Marketo.Activities", - "Documentation.Description": "Returns a table with lead activities.", - "Documentation.LongDescription": "Makes a call to the Marketo REST API endpoint at url/rest/v1/activities.json. All activities in list activityIds that have occurred since startTime are returned.", + "Documentation.Name": "DateTimeZone.ToUtc", + "Documentation.Description": "Converts the timezone component to UTC timezone.", + "Documentation.LongDescription": "Changes timezone information of the datetime value dateTimeZone to the UTC or Universal Time timezone information.\r\n If dateTimeZone does not have a timezone component, the UTC timezone information is added.", + "Documentation.Category": "DateTimeZone", "Documentation.Examples": [ { - "Description": "Pulls a table of \"Visit Webpage\" activities since November 1, 2015", - "Code": "Marketo.Activities(\"https://100-AAA-999.mktorest.com/rest\", #date(2015,11,1), {1})", - "Result": "A table with details of all \"Visit Webpage\" activities since November 1" + "Description": "Change timezone information for #datetimezone(2010, 12, 31, 11, 56, 02, 7, 30) to UTC timezone.", + "Code": "DateTimeZone.ToUtc(#datetimezone(2010, 12, 31, 11, 56, 02, 7, 30))", + "Result": "#datetimezone(2010, 12, 31, 4, 26, 2, 0, 0)" } ] }, - "ReturnType": "table", + "ReturnType": "datetimezone", "Parameters": { - "url": "text", - "startTime": "date", - "activityIds": "list" + "dateTimeZone": "datetimezone" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "MongoDBAtlasODBC.Query", + "Name": "DateTimeZone.ZoneHours", "Documentation": { - "Documentation.Name": "MongoDB Atlas SQL" + "Documentation.Name": "DateTimeZone.ZoneHours", + "Documentation.Description": "Changes the timezone of the value.", + "Documentation.LongDescription": "Changes the timezone of the value.", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "mongodbUri": "text", - "database": "text", - "query": "text", - "options": "record" + "dateTimeZone": "datetimezone" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "OpenSearchProject.Contents", + "Name": "DateTimeZone.ZoneMinutes", "Documentation": { - "Documentation.Name": "OpenSearch Project" + "Documentation.Name": "DateTimeZone.ZoneMinutes", + "Documentation.Description": "Changes the timezone of the value.", + "Documentation.LongDescription": "Changes the timezone of the value.", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "Server": "text", - "Port": "number", - "UseSSL": "logical" + "dateTimeZone": "datetimezone" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "PlanviewEnterprise.CallQueryService", + "Name": "Decimal.From", "Documentation": { - "Documentation.Description": "Enter the URL, database name associated with your Planview Portfolios account and a SQL query.", - "Documentation.DisplayName": "PlanviewEnterprise.CallQueryService", - "Documentation.Caption": "PlanviewEnterprise.CallQueryService", - "Documentation.Name": "Planview Portfolios", - "Documentation.LongDescription": "Returns a table with Planview Portfolios data.", + "Documentation.Name": "Decimal.From", + "Documentation.Description": "Creates a Decimal from the given value.", + "Documentation.LongDescription": "Returns a Decimal number value from the given value. If the given value is null, Decimal.From returns null. If the given value is number within the range of Decimal, value is returned, otherwise an error is returned. If value is of any other type, it will first be converted to a number using Number.FromText. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Returns a table with Planview Portfolios data.", - "Code": "PlanviewEnterprise.CallQueryService(\"https://contoso.com/planview\", \"pve\", \"select * from PV_Table\")", - "Result": "A table of Planview Portfolios data about database pve" + "Description": "Get the Decimal number value of \"4.5\".", + "Code": "Decimal.From(\"4.5\")", + "Result": "4.5" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "url": "text", - "database": "text", - "sqlQueryString": "text" + "value": "any", + "culture": "text" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "PowerBI.Dataflows", + "Name": "DeltaLake.Table", "Documentation": { - "Documentation.Name": "Power BI dataflows (Legacy)", - "Documentation.Caption": "Import data from a Power BI dataflow", - "Documentation.LongDescription": "Connect to all the Power BI dataflows you have access to, and choose the entities you’d like to use." + "Documentation.Name": "DeltaLake.Table", + "Documentation.Description": "Returns the contents of the Delta Lake table.", + "Documentation.LongDescription": "Returns the contents of the Delta Lake table.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { + "directory": "table", "options": "record" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "PowerBI.Datamarts", + "Name": "Double.From", "Documentation": { - "Documentation.Name": "Datamarts", - "Documentation.Caption": "Datamarts", - "Documentation.Description": "Imports data from Datamarts", - "Documentation.LongDescription": "Imports data from Datamarts" + "Documentation.Name": "Double.From", + "Documentation.Description": "Creates a Double from the given value.", + "Documentation.LongDescription": "Returns a Double number value from the given value. If the given value is null, Double.From returns null. If the given value is number within the range of Double, value is returned, otherwise an error is returned. If value is of any other type, it will first be converted to a number using Number.FromText. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Examples": [ + { + "Description": "Get the Double number value of \"4\".", + "Code": "Double.From(\"4.5\")", + "Result": "4.5" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "server": "text" + "value": "any", + "culture": "text" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "PowerPlatform.Dataflows", + "Name": "Duration.Days", "Documentation": { - "Documentation.Name": "Dataflows", - "Documentation.Caption": "Import data from a dataflow", - "Documentation.Description": "Import data from a dataflow", - "Documentation.LongDescription": "Connect to all the dataflows you have access to, and choose the entities you'd like to use" + "Documentation.Name": "Duration.Days", + "Documentation.Description": "Returns the days portion of a duration.", + "Documentation.LongDescription": "Returns the days portion of duration.", + "Documentation.Category": "Duration", + "Documentation.Examples": [ + { + "Description": "Extract the number of days between two dates.", + "Code": "Duration.Days(#date(2022, 3, 4) - #date(2022, 2, 25))", + "Result": "7" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "options": "record" + "duration": "duration" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "ProductInsights.Contents", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "QuickBooksOnline.Tables", + "Name": "Duration.From", "Documentation": { - "Documentation.Name": "QuickBooks Online", - "Documentation.Caption": "QuickBooks Online", - "Documentation.Description": "Import data from QuickBooks Online.", - "Documentation.LongDescription": "\r\n Returns a table listing the available tables in QuickBooks Online. An optional record parameter, options, may be specified to control the following options:\r\n \r\n The record parameter is specified as [option1 = value1, option2 = value2...].\r\n " + "Documentation.Name": "Duration.From", + "Documentation.Description": "Creates a duration from the given value.", + "Documentation.LongDescription": "Returns a duration value from the given value. If the given value is null, Duration.From returns null. If the given value is duration, value is returned. Values of the following types can be converted to a duration value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Category": "Duration", + "Documentation.Examples": [ + { + "Description": "Convert 2.525 into a duration value.", + "Code": "Duration.From(2.525)", + "Result": "#duration(2, 12, 36, 0)" + } + ] }, - "ReturnType": "table", + "ReturnType": "duration", "Parameters": { - "options": "record" + "value": "any" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Salesforce.Data", + "Name": "Duration.FromText", "Documentation": { - "Documentation.Name": "Salesforce.Data", - "Documentation.Description": "Returns the objects from the Salesforce account.", - "Documentation.LongDescription": "Returns the objects on the Salesforce account provided in the credentials. The account will be connected through the provided environment loginUrl. If no environment is provided then the account will connect to production (https://login.salesforce.com). An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Duration.FromText", + "Documentation.Description": "Returns a duration value from textual elapsed time forms (d.h:m:s).", + "Documentation.LongDescription": "Returns a duration value from the specified text, text. The following formats can be parsed by this function:\r\n \r\n
\r\n (All ranges are inclusive)
\r\n ddd: Number of days.
\r\n hh: Number of hours, between 0 and 23.
\r\n mm: Number of minutes, between 0 and 59.
\r\n ss: Number of seconds, between 0 and 59.
\r\n ff: Fraction of seconds, between 0 and 9999999.", + "Documentation.Category": "Duration", + "Documentation.Examples": [ + { + "Description": "Convert \"2.05:55:20\" into a duration value.", + "Code": "Duration.FromText(\"2.05:55:20\")", + "Result": "#duration(2, 5, 55, 20)" + } + ] }, - "ReturnType": "table", + "ReturnType": "duration", "Parameters": { - "loginUrl": "any", - "options": "record" + "text": "text" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Salesforce.Reports", + "Name": "Duration.Hours", "Documentation": { - "Documentation.Name": "Salesforce.Reports", - "Documentation.Description": "Returns the reports from the Salesforce account.", - "Documentation.LongDescription": "Returns the reports on the Salesforce account provided in the credentials. The account will be connected through the provided environment loginUrl. If no environment is provided then the account will connect to production (https://login.salesforce.com). An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Duration.Hours", + "Documentation.Description": "Returns the hours portion of a duration.", + "Documentation.LongDescription": "Returns the hours portion of duration.", + "Documentation.Category": "Duration", + "Documentation.Examples": [ + { + "Description": "Extract the hours from a duration value.", + "Code": "Duration.Hours(#duration(5, 4, 3, 2))", + "Result": "4" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "loginUrl": "text", - "options": "record" + "duration": "duration" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "SapBusinessWarehouse.Cubes", + "Name": "Duration.Minutes", "Documentation": { - "Documentation.Name": "SapBusinessWarehouse.Cubes", - "Documentation.Description": "Returns the InfoCubes and queries in an SAP Business Warehouse system grouped by InfoArea.", - "Documentation.LongDescription": "Returns a table of InfoCubes and queries grouped by InfoArea from an SAP Business Warehouse instance at server server with system number systemNumberOrSystemId and Client ID clientId. An optional record parameter, optionsOrLogonGroup, may be specified to control the following options:\r\n \r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Duration.Minutes", + "Documentation.Description": "Returns the minutes portion of a duration.", + "Documentation.LongDescription": "Returns the minutes portion of duration.", + "Documentation.Category": "Duration", + "Documentation.Examples": [ + { + "Description": "Extract the minutes from a duration value.", + "Code": "Duration.Minutes(#duration(5, 4, 3, 2))", + "Result": "3" + } + ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "server": "text", - "systemNumberOrSystemId": "text", - "clientId": "text", - "optionsOrLogonGroup": "any", - "options": "record" - }, - "RequiredParameters": "3" - }, - { - "Name": "ShortcutsBI.Contents", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Siteimprove.Contents", - "Documentation": { - "Documentation.Name": "Siteimprove", - "Documentation.LongDescription": "Siteimprove API connector" + "duration": "duration" }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Smartsheet.Tables", + "Name": "Duration.Seconds", "Documentation": { - "Documentation.Description": "Returns a table of sheets, reports, folders, and workspaces from the Smartsheet API", - "Documentation.DisplayName": "Smartsheet.Tables", - "Documentation.Caption": "Smartsheet.Tables", - "Documentation.Name": "Smartsheet.Tables", - "Documentation.LongDescription": "Returns a nested table of available sheets, reports, folders, and workspaces from the Smartsheet API.", + "Documentation.Name": "Duration.Seconds", + "Documentation.Description": "Returns the seconds portion of a duration.", + "Documentation.LongDescription": "Returns the seconds portion of duration.", + "Documentation.Category": "Duration", "Documentation.Examples": [ { - "Description": "Returns sheets, folders, reports, and workspaces available at the top level of the Smartsheet hierarchy", - "Code": "Smartsheet.Tables()", - "Result": "A table of folders, reports, and workspaces from the top level of the Smartsheet hierarchy" + "Description": "Extract the seconds from a duration value.", + "Code": "Duration.Seconds(#duration(5, 4, 3, 2))", + "Result": "2" } ] }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "SocialbakersMetrics.Contents", - "Documentation": {}, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "options": "record" + "duration": "duration" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "SoftOneBI.Contents", + "Name": "Duration.ToRecord", "Documentation": { - "Documentation.Name": "SoftOne BI", - "Documentation.LongDescription": "Retrieves all Soft1/Atlantis tables in the datalake", + "Documentation.Name": "Duration.ToRecord", + "Documentation.Description": "Returns a record containing the parts of the duration.", + "Documentation.LongDescription": "Returns a record containing the parts the duration value, duration.\r\n ", + "Documentation.Category": "Duration", "Documentation.Examples": [ { - "Description": "Returns a table of tables from the datalake", - "Code": "SoftOneBI.Contents()", - "Result": "#table({\"Name\"}, {\"ItemKind\"}, {\"ItemName\"}, {\"Data\"}, {\"IsLeaf\"}, {{\"Companies\"}, {\"Table\"}, {\"Table\"}, {\"Table\"}, {\"true\"}})" + "Description": "Convert #duration(2, 5, 55, 20) into a record of its parts including days, hours, minutes and seconds if applicable.", + "Code": "Duration.ToRecord(#duration(2, 5, 55, 20))", + "Result": "[\r\n Days = 2,\r\n Hours = 5,\r\n Minutes = 55,\r\n Seconds = 20\r\n]" } ] }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "ReturnType": "record", + "Parameters": { + "duration": "duration" + }, + "RequiredParameters": "1" }, { - "Name": "SparkPost.GetTable", + "Name": "Duration.ToText", "Documentation": { - "Documentation.Description": "Returns a table of available metrics from the SparkPost API v1", - "Documentation.DisplayName": "SparkPost.GetTable", - "Documentation.Caption": "SparkPost.GetTable", - "Documentation.Name": "SparkPost.GetTable", - "Documentation.LongDescription": "This function can be used to retrieve data from a particular \"Metrics\" endpoint of the SparkPost API v1. When refreshing these tables or making calls to the SparkPost API using this connector, keep in mind that the SparkPost API has a strict API rate limit. If you see a 429 status code being returned from the SparkPost server you have hit the rate limit and will need to wait a few moments before making more calls. When choosing a value for the Number of days parameter, note that the API only stores 6 months worth of data.", + "Documentation.Name": "Duration.ToText", + "Documentation.Description": "Returns the text of the form \"d.h:m:s\".", + "Documentation.LongDescription": "Returns a textual representation in the form \"day.hour:mins:sec\" of the given duration value, duration.\r\n ", + "Documentation.Category": "Duration", "Documentation.Examples": [ { - "Description": "Retrieves count_sent and count_rejected deliverability metrics for all campaign_ids aggregated over the last three days. ", - "Code": "Source = SparkPost.GetTable(3, \"count_sent,count_rejected\", \"campaign_id\", \"metrics/deliverability/campaign\")", - "Result": "table" + "Description": "Convert #duration(2, 5, 55, 20) into a text value.", + "Code": "Duration.ToText(#duration(2, 5, 55, 20))", + "Result": "\"2.05:55:20\"" } ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "DaysToAggregate": "number", - "MetricColumns": "text", - "NonMetricColumns": "text", - "Path": "text" + "duration": "duration", + "format": "text" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "Stripe.Method", + "Name": "Duration.TotalDays", "Documentation": { - "Documentation.Name": "Stripe.Method", - "Documentation.DisplayName": "Stripe.Method", - "Documentation.Caption": "Stripe.Method", - "Documentation.Description": "Makes a call to the Stripe API.", - "Documentation.LongDescription": "Makes a call to the Stripe API at https://api.stripe.com/v1/method, with record additionalParameters passed as additional parameters and list ColumnNames of expected column names. Stripe Version 2015-10-16 is used.", + "Documentation.Name": "Duration.TotalDays", + "Documentation.Description": "Returns the total days this duration spans.", + "Documentation.LongDescription": "Returns the total days spanned by duration.", + "Documentation.Category": "Duration", "Documentation.Examples": [ { - "Description": "Returns a table with events created after November 1, 2015", - "Code": "Stripe.Method(\"events\", [#\"created[gte]\"=1446374329], {\"id\", \"livemode\", \"created\", \"type\", \"data\", \"object\", \"pending_webhooks\", \"request\", \"api_version\"})", - "Result": "A table with the specified events for the current Stripe account" - }, - { - "Description": "Returns a table with all SKUs", - "Code": "Stripe.Method(\"skus\", [], {\"id\", \"created\", \"updated\", \"object\", \"livemode\", \"product\", \"image\", \"active\", \"price\", \"currency\", \"inventory\", \"attributes\", \"metadata\", \"package_dimensions\"})", - "Result": "A table with all SKUs for the current Stripe account" + "Description": "Find the total days spanned by a duration value.", + "Code": "Duration.TotalDays(#duration(5, 4, 3, 2))", + "Result": "5.1687731481481478" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "method": "text", - "additionalParameters": "record", - "ColumnNames": "list" - }, - "RequiredParameters": "3" - }, - { - "Name": "Stripe.Tables", - "Documentation": { - "Documentation.Name": "Stripe.Tables", - "Documentation.DisplayName": "Stripe.Tables", - "Documentation.Caption": "Stripe.Tables", - "Documentation.Description": "Returns a table listing the available Stripe tables and functions.", - "Documentation.LongDescription": "Returns a table listing the available Stripe tables and functions." + "duration": "duration" }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "SurveyMonkey.Contents", + "Name": "Duration.TotalHours", "Documentation": { - "Documentation.Name": "SurveyMonkey", - "Documentation.LongDescription": "A Navigation table showing all the surveys in the account related to the input access token.", + "Documentation.Name": "Duration.TotalHours", + "Documentation.Description": "Returns the total hours this duration spans.", + "Documentation.LongDescription": "Returns the total hours spanned by duration.", + "Documentation.Category": "Duration", "Documentation.Examples": [ { - "Description": "Returns the navigation table.", - "Code": "SurveyMonkey.Contents()" + "Description": "Find the total hours spanned by a duration value.", + "Code": "Duration.TotalHours(#duration(5, 4, 3, 2))", + "Result": "124.05055555555555" } ] }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Synapse.Contents", - "Documentation": { - "Documentation.Name": "Azure Synapse Analytics workspace", - "Documentation.Caption": "Azure Synapse Analytics workspace", - "Documentation.LongDescription": "PQ Connector for Azure Synapse Analytics workspace", - "Documentation.Examples": [] - }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "option": "record" + "duration": "duration" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "Table.AddColumn", + "Name": "Duration.TotalMinutes", "Documentation": { - "Documentation.Name": "Table.AddColumn", - "Documentation.Description": "Adds a column with the specified name. The value is computed using the specified selection function with each row taken as an input.", - "Documentation.LongDescription": "Adds a column named newColumnName to the table table. The values for the column are computed using the specified selection function columnGenerator with each row taken as an input.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Duration.TotalMinutes", + "Documentation.Description": "Returns the total minutes this duration spans.", + "Documentation.LongDescription": "Returns the total minutes spanned by duration.", + "Documentation.Category": "Duration", "Documentation.Examples": [ { - "Description": "Add a number column named \"TotalPrice\" to the table, with each value being the sum of the [Price] and [Shipping] columns.", - "Code": "Table.AddColumn(\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0, Shipping = 10.00],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0, Shipping = 15.00],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0, Shipping = 10.00]\r\n }),\r\n \"TotalPrice\",\r\n each [Price] + [Shipping],\r\n type number\r\n)", - "Result": "Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100, Shipping = 10, TotalPrice = 110],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5, Shipping = 15, TotalPrice = 20],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25, Shipping = 10, TotalPrice = 35]\r\n})" + "Description": "Find the total minutes spanned by a duration value.", + "Code": "Duration.TotalMinutes(#duration(5, 4, 3, 2))", + "Result": "7443.0333333333338" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "table": "table", - "newColumnName": "text", - "columnGenerator": "function", - "columnType": "type" + "duration": "duration" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.AddFuzzyClusterColumn", + "Name": "Duration.TotalSeconds", "Documentation": { - "Documentation.Name": "Table.AddFuzzyClusterColumn", - "Documentation.Description": "Adds a new column with representative values obtained by fuzzy grouping values of the specified column in the table.", - "Documentation.LongDescription": "Adds a new column newColumnName to table with representative values of columnName. The representatives are obtained by fuzzily matching values in columnName, for each row.\r\n

An optional set of options may be included to specify how to compare the key columns. Options include:\r\n

\r\n\r\n

\r\n ", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Duration.TotalSeconds", + "Documentation.Description": "Returns the total seconds this duration spans.", + "Documentation.LongDescription": "Returns the total seconds spanned by duration.", + "Documentation.Category": "Duration", "Documentation.Examples": [ { - "Description": "Find the representative values for the location of the employees.", - "Code": "Table.AddFuzzyClusterColumn(\r\n Table.FromRecords(\r\n {\r\n [EmployeeID = 1, Location = \"Seattle\"],\r\n [EmployeeID = 2, Location = \"seattl\"],\r\n [EmployeeID = 3, Location = \"Vancouver\"],\r\n [EmployeeID = 4, Location = \"Seatle\"],\r\n [EmployeeID = 5, Location = \"vancover\"],\r\n [EmployeeID = 6, Location = \"Seattle\"],\r\n [EmployeeID = 7, Location = \"Vancouver\"]\r\n },\r\n type table [EmployeeID = nullable number, Location = nullable text]\r\n ),\r\n \"Location\",\r\n \"Location_Cleaned\",\r\n [IgnoreCase = true, IgnoreSpace = true]\r\n)", - "Result": "Table.FromRecords(\r\n {\r\n [EmployeeID = 1, Location = \"Seattle\", Location_Cleaned = \"Seattle\"],\r\n [EmployeeID = 2, Location = \"seattl\", Location_Cleaned = \"Seattle\"],\r\n [EmployeeID = 3, Location = \"Vancouver\", Location_Cleaned = \"Vancouver\"],\r\n [EmployeeID = 4, Location = \"Seatle\", Location_Cleaned = \"Seattle\"],\r\n [EmployeeID = 5, Location = \"vancover\", Location_Cleaned = \"Vancouver\"],\r\n [EmployeeID = 6, Location = \"Seattle\", Location_Cleaned = \"Seattle\"],\r\n [EmployeeID = 7, Location = \"Vancouver\", Location_Cleaned = \"Vancouver\"]\r\n },\r\n type table [EmployeeID = nullable number, Location = nullable text, Location_Cleaned = nullable text]\r\n)" + "Description": "Find the total seconds spanned by a duration value.", + "Code": "Duration.TotalSeconds(#duration(5, 4, 3, 2))", + "Result": "446582" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "table": "table", - "columnName": "text", - "newColumnName": "text", - "options": "record" + "duration": "duration" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.AddJoinColumn", + "Name": "Error.Record", "Documentation": { - "Documentation.Name": "Table.AddJoinColumn", - "Documentation.Description": "Performs a join between tables on supplied columns and produces the join result in a new column.", - "Documentation.LongDescription": "Joins the rows of table1 with the rows of table2 based on the equality of the values of the key columns selected by key1 (for table1) and key2 (for table2). The results are entered into the column named newColumnName.\r\nThis function behaves similarly to Table.Join with a JoinKind of LeftOuter except that the join results are presented in a nested rather than flattened fashion.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Add a join column to ({[saleID = 1, item = \"Shirt\"], [saleID = 2, item = \"Hat\"]}) named \"price/stock\" from the table ({[saleID = 1, price = 20], [saleID = 2, price = 10]}) joined on [saleID].", - "Code": "Table.AddJoinColumn(\r\n Table.FromRecords({\r\n [saleID = 1, item = \"Shirt\"],\r\n [saleID = 2, item = \"Hat\"]\r\n }),\r\n \"saleID\",\r\n () => Table.FromRecords({\r\n [saleID = 1, price = 20, stock = 1234],\r\n [saleID = 2, price = 10, stock = 5643]\r\n }),\r\n \"saleID\",\r\n \"price\"\r\n)", - "Result": "Table.FromRecords({\r\n [\r\n saleID = 1,\r\n item = \"Shirt\",\r\n price = Table.FromRecords({[saleID = 1, price = 20, stock = 1234]})\r\n ],\r\n [\r\n saleID = 2,\r\n item = \"Hat\",\r\n price = Table.FromRecords({[saleID = 2, price = 10, stock = 5643]})\r\n ]\r\n})" - } - ] + "Documentation.Name": "Error.Record", + "Documentation.Description": "Returns an error record from the provided text values for reason, message and detail.", + "Documentation.LongDescription": "Returns an error record from the provided text values for reason, message and detail.", + "Documentation.Category": "Error", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "table1": "table", - "key1": "any", - "table2": "any", - "key2": "any", - "newColumnName": "text" + "reason": "text", + "message": "text", + "detail": "any", + "parameters": "list" }, - "RequiredParameters": "5" + "RequiredParameters": "1" }, { - "Name": "Table.AddKey", + "Name": "Excel.ShapeTable", "Documentation": { - "Documentation.Name": "Table.AddKey", - "Documentation.Description": "Adds a key to a table.", - "Documentation.LongDescription": "Adds a key to table, where columns is the list of column names that define the key, and isPrimary specifies whether the key is primary.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Add a single-column primary key to a table.", - "Code": "let\r\n table = Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n }),\r\n resultTable = Table.AddKey(table, {\"Id\"}, true)\r\nin\r\n resultTable", - "Result": "Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n})" - } - ] + "Documentation.Name": "Excel.ShapeTable", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Values.Implementation", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { "table": "table", - "columns": "list", - "isPrimary": "logical" + "options": "record" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.AddRankColumn", + "Name": "Expression.Constant", "Documentation": { - "Documentation.Name": "Table.AddRankColumn", - "Documentation.Description": "Appends a column with the ranking of one or more other columns.", - "Documentation.LongDescription": "Appends a column named newColumnName to the table with the ranking of one or more other columns described by comparisonCriteria.\r\nThe RankKind option in options can be used by advanced users to pick a more-specific ranking method.", - "Documentation.Category": "Table.Ordering", + "Documentation.Name": "Expression.Constant", + "Documentation.Description": "Returns the M source code representation of a constant value.", + "Documentation.LongDescription": "Returns the M source code representation of a constant value.", + "Documentation.Category": "Expression", "Documentation.Examples": [ { - "Description": "Add a column named \"RevenueRank\" to the table which ranks the \"Revenue\" column from highest to lowest.", - "Code": "Table.AddRankColumn(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Revenue = 200],\r\n [CustomerID = 2, Name = \"Jim\", Revenue = 100],\r\n [CustomerID = 3, Name = \"Paul\", Revenue = 200],\r\n [CustomerID = 4, Name = \"Ringo\", Revenue = 50]\r\n }),\r\n \"RevenueRank\",\r\n {\"Revenue\", Order.Descending},\r\n [RankKind = RankKind.Competition]\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Revenue = 200, RevenueRank = 1],\r\n [CustomerID = 3, Name = \"Paul\", Revenue = 200, RevenueRank = 1],\r\n [CustomerID = 2, Name = \"Jim\", Revenue = 100, RevenueRank = 3],\r\n [CustomerID = 4, Name = \"Ringo\", Revenue = 50, RevenueRank = 4]\r\n})" + "Description": "Get the M source code representation of a number value.", + "Code": "Expression.Constant(123)", + "Result": "\"123\"" + }, + { + "Description": "Get the M source code representation of a date value.", + "Code": "Expression.Constant(#date(2035, 01, 02))", + "Result": "\"#date(2035, 1, 2)\"" + }, + { + "Description": "Get the M source code representation of a text value.", + "Code": "Expression.Constant(\"abc\")", + "Result": "\"\"\"abc\"\"\"" } ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "table": "table", - "newColumnName": "text", - "comparisonCriteria": "any", - "options": "record" + "value": "any" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.AggregateTableColumn", + "Name": "Expression.Evaluate", "Documentation": { - "Documentation.Name": "Table.AggregateTableColumn", - "Documentation.Description": "Aggregates a column of tables into multiple columns in the containing table.", - "Documentation.LongDescription": "Aggregates tables in table[column] into multiple columns containing aggregate values for the tables. aggregations is used to specify the columns containing the tables to aggregate, the aggregation functions to apply to the tables to generate their values, and the names of the aggregate columns to create.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Expression.Evaluate", + "Documentation.Description": "Returns the result of evaluating an M expression.", + "Documentation.LongDescription": "Returns the result of evaluating an M expression document, with the available identifiers that can be referenced defined by environment.", + "Documentation.Category": "Expression", "Documentation.Examples": [ { - "Description": "Aggregate table columns in [t] in the table {[t = {[a=1, b=2, c=3], [a=2,b=4,c=6]}, b = 2]} into the sum of [t.a], the min and max of [t.b], and the count of values in [t.a].", - "Code": "Table.AggregateTableColumn(\r\n Table.FromRecords(\r\n {\r\n [\r\n t = Table.FromRecords({\r\n [a = 1, b = 2, c = 3],\r\n [a = 2, b = 4, c = 6]\r\n }),\r\n b = 2\r\n ]\r\n },\r\n type table [t = table [a = number, b = number, c = number], b = number]\r\n ),\r\n \"t\",\r\n {\r\n {\"a\", List.Sum, \"sum of t.a\"},\r\n {\"b\", List.Min, \"min of t.b\"},\r\n {\"b\", List.Max, \"max of t.b\"},\r\n {\"a\", List.Count, \"count of t.a\"}\r\n }\r\n)", - "Result": "Table.FromRecords({[#\"sum of t.a\" = 3, #\"min of t.b\" = 2, #\"max of t.b\" = 4, #\"count of t.a\" = 2, b = 2]})" + "Description": "Evaluate a simple sum.", + "Code": "Expression.Evaluate(\"1 + 1\")", + "Result": "2" + }, + { + "Description": "Evaluate a more complex sum.", + "Code": "Expression.Evaluate(\"List.Sum({1, 2, 3})\", [List.Sum = List.Sum])", + "Result": "6" + }, + { + "Description": "Evaluate the concatenation of a text value with an identifier.", + "Code": "Expression.Evaluate(Expression.Constant(\"\"\"abc\") & \" & \" & Expression.Identifier(\"x\"), [x = \"def\"\"\"])", + "Result": "\"\"\"abcdef\"\"\"" } ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "table": "table", - "column": "text", - "aggregations": "list" + "document": "text", + "environment": "record" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.AlternateRows", + "Name": "Expression.Identifier", "Documentation": { - "Documentation.Name": "Table.AlternateRows", - "Documentation.Description": "Keeps the initial offset then alternates taking and skipping the following rows.", - "Documentation.LongDescription": "Keeps the initial offset then alternates taking and skipping the following rows.\r\n \r\n ", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Expression.Identifier", + "Documentation.Description": "Returns the M source code representation of an identifier.", + "Documentation.LongDescription": "Returns the M source code representation of an identifier name.", + "Documentation.Category": "Expression", "Documentation.Examples": [ { - "Description": "Return a table from the table that, starting at the first row, skips 1 value and then keeps 1 value.", - "Code": "Table.AlternateRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n }),\r\n 1,\r\n 1,\r\n 1\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n})" + "Description": "Get the M source code representation of an identifier.", + "Code": "Expression.Identifier(\"MyIdentifier\")", + "Result": "\"MyIdentifier\"" + }, + { + "Description": "Get the M source code representation of an identifier that contains a space.", + "Code": "Expression.Identifier(\"My Identifier\")", + "Result": "\"#\"\"My Identifier\"\"\"" } ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "table": "table", - "offset": "number", - "skip": "number", - "take": "number" + "name": "text" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "Table.CombineColumns", + "Name": "File.Contents", "Documentation": { - "Documentation.Name": "Table.CombineColumns", - "Documentation.Description": "Combines the specified columns into a new column using the specified combiner function.", - "Documentation.LongDescription": "Combines the specified columns into a new column using the specified combiner function.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Combine the last and first names into a new column, separated by a comma.", - "Code": "Table.CombineColumns(\r\n Table.FromRecords({[FirstName = \"Bob\", LastName = \"Smith\"]}),\r\n {\"LastName\", \"FirstName\"},\r\n Combiner.CombineTextByDelimiter(\",\", QuoteStyle.None),\r\n \"FullName\"\r\n)", - "Result": "Table.FromRecords({[FullName = \"Smith,Bob\"]})" - } - ] + "Documentation.Name": "File.Contents", + "Documentation.Description": "Returns the contents of the specified file as binary.", + "Documentation.LongDescription": "Returns the contents of the file, path, as binary. The options parameter is currently intended for internal use only.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "table": "table", - "sourceColumns": "list", - "combiner": "function", - "column": "text" + "path": "text", + "options": "record" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "Table.CombineColumnsToRecord", + "Name": "Function.IsDataSource", "Documentation": { - "Documentation.Name": "Table.CombineColumnsToRecord", - "Documentation.Description": "Combines the specified columns into a new record-valued column where each record has field names and values corresponding to the column names and values of the columns that were combined.", - "Documentation.LongDescription": "Combines the specified columns of table into a new record-valued column named newColumnName where each record has field names and values corresponding to the column names and values of the columns that were combined. If a record is specified for options, the following options may be provided:\r\n \r\n ", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Function.IsDataSource", + "Documentation.Description": "Returns whether or not a particular function is considered a data source.", + "Documentation.LongDescription": "Returns whether or not function is considered a data source.", + "Documentation.Category": "Type", "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "table": "table", - "newColumnName": "text", - "sourceColumns": "list", - "options": "record" + "function": "function" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.DuplicateColumn", + "Name": "Geography.FromWellKnownText", "Documentation": { - "Documentation.Name": "Table.DuplicateColumn", - "Documentation.Description": "Duplicates a column with the specified name. Values and type are copied from the source column.", - "Documentation.LongDescription": "Duplicate the column named columnName to the table table. The values and type for the column newColumnName are copied from coulmn columnName.", - "Documentation.Category": "Table.Column operations", - "Documentation.Examples": [ - { - "Description": "Duplicate the column \"a\" to a column named \"copied column\" in the table ({[a = 1, b = 2], [a = 3, b = 4]}).", - "Code": "Table.DuplicateColumn(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n \"a\",\r\n \"copied column\"\r\n)", - "Result": "Table.FromRecords({\r\n [a = 1, b = 2, #\"copied column\" = 1],\r\n [a = 3, b = 4, #\"copied column\" = 3]\r\n})" - } - ] + "Documentation.Name": "Geography.FromWellKnownText", + "Documentation.Description": "Translates text representing a geographic value in Well-Known Text (WKT) format into a structured record.", + "Documentation.LongDescription": "Translates text representing a geographic value in Well-Known Text (WKT) format into a structured record. WKT is a standard format defined by the Open Geospatial Consortium (OGC) and is the typical serialization format used by databases including SQL Server.", + "Documentation.Category": "Record.Serialization", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "table": "table", - "columnName": "text", - "newColumnName": "text", - "columnType": "type" + "input": "text" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.ExpandRecordColumn", + "Name": "Geography.ToWellKnownText", "Documentation": { - "Documentation.Name": "Table.ExpandRecordColumn", - "Documentation.Description": "Expands a column of records into columns with each of the values.", - "Documentation.LongDescription": "Given the column of records in the input table, creates a table with a column for each field in the record. Optionally, newColumnNames may be specified to ensure unique names for the columns in the new table.\r\n ", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Expand column [a] in the table ({[a = [aa = 1, bb = 2, cc = 3], b = 2]}) into 3 columns \"aa\", \"bb\" and \"cc\".", - "Code": "Table.ExpandRecordColumn(\r\n Table.FromRecords({\r\n [\r\n a = [aa = 1, bb = 2, cc = 3],\r\n b = 2\r\n ]\r\n }),\r\n \"a\",\r\n {\"aa\", \"bb\", \"cc\"}\r\n)", - "Result": "Table.FromRecords({[aa = 1, bb = 2, cc = 3, b = 2]})" - } - ] + "Documentation.Name": "Geography.ToWellKnownText", + "Documentation.Description": "Translates a structured geographic point value into its Well-Known Text (WKT) representation.", + "Documentation.LongDescription": "Translates a structured geographic point value into its Well-Known Text (WKT) representation as defined by the Open Geospatial Consortium (OGC), also the serialization format used by many databases including SQL Server.", + "Documentation.Category": "Record.Serialization", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "table": "table", - "column": "text", - "fieldNames": "list", - "newColumnNames": "list" + "input": "record", + "omitSRID": "logical" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.ExpandTableColumn", + "Name": "Geometry.FromWellKnownText", "Documentation": { - "Documentation.Name": "Table.ExpandTableColumn", - "Documentation.Description": "Expands a column of records or a column of tables into multiple columns in the containing table.", - "Documentation.LongDescription": "Expands tables in table[column] into multiple rows and columns. columnNames is used to select the columns to expand from the inner table. Specify newColumnNames to avoid conflicts between existing columns and new columns.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Expand table columns in [a] in the table ({[t = {[a=1, b=2, c=3], [a=2,b=4,c=6]}, b = 2]}) into 3 columns [t.a], [t.b] and [t.c].", - "Code": "Table.ExpandTableColumn(\r\n Table.FromRecords({\r\n [\r\n t = Table.FromRecords({\r\n [a = 1, b = 2, c = 3],\r\n [a = 2, b = 4, c = 6]\r\n }),\r\n b = 2\r\n ]\r\n }),\r\n \"t\",\r\n {\"a\", \"b\", \"c\"},\r\n {\"t.a\", \"t.b\", \"t.c\"}\r\n)", - "Result": "Table.FromRecords({\r\n [t.a = 1, t.b = 2, t.c = 3, b = 2],\r\n [t.a = 2, t.b = 4, t.c = 6, b = 2]\r\n})" - } - ] + "Documentation.Name": "Geometry.FromWellKnownText", + "Documentation.Description": "Translates text representing a geometric value in Well-Known Text (WKT) format into a structured record.", + "Documentation.LongDescription": "Translates text representing a geometric value in Well-Known Text (WKT) format into a structured record. WKT is a standard format defined by the Open Geospatial Consortium (OGC) and is the typical serialization format used by databases including SQL Server.", + "Documentation.Category": "Record.Serialization", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "table": "table", - "column": "text", - "columnNames": "list", - "newColumnNames": "list" + "input": "text" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.FuzzyGroup", + "Name": "Geometry.ToWellKnownText", "Documentation": { - "Documentation.Name": "Table.FuzzyGroup", - "Documentation.Description": "Groups rows in the table based on fuzzy matching of keys.", - "Documentation.LongDescription": "Groups the rows of table by fuzzily matching values in the specified column, key, for each row.\r\n For each group, a record is constructed containing the key columns (and their values) along with any aggregated columns specified by aggregatedColumns.\r\n This function cannot guarantee to return a fixed order of rows.\r\n

An optional set of options may be included to specify how to compare the key columns. Options include:\r\n

\r\n\r\n

\r\n ", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Group the table adding an aggregate column [Count] which contains the number of employees in each location (\"each Table.RowCount(_))\").", - "Code": "Table.FuzzyGroup(\r\n Table.FromRecords(\r\n {\r\n [EmployeeID = 1, Location = \"Seattle\"],\r\n [EmployeeID = 2, Location = \"seattl\"],\r\n [EmployeeID = 3, Location = \"Vancouver\"],\r\n [EmployeeID = 4, Location = \"Seatle\"],\r\n [EmployeeID = 5, Location = \"vancover\"],\r\n [EmployeeID = 6, Location = \"Seattle\"],\r\n [EmployeeID = 7, Location = \"Vancouver\"]\r\n },\r\n type table [EmployeeID = nullable number, Location = nullable text]\r\n ),\r\n \"Location\",\r\n {\"Count\", each Table.RowCount(_)},\r\n [IgnoreCase = true, IgnoreSpace = true]\r\n)", - "Result": "Table.FromRecords({\r\n [Location = \"Seattle\", Count = 4],\r\n [Location = \"Vancouver\", Count = 3]\r\n})" - } - ] + "Documentation.Name": "Geometry.ToWellKnownText", + "Documentation.Description": "Translates a structured geometric point value into its Well-Known Text (WKT) representation.", + "Documentation.LongDescription": "Translates a structured geometric point value into its Well-Known Text (WKT) representation as defined by the Open Geospatial Consortium (OGC), also the serialization format used by many databases including SQL Server.", + "Documentation.Category": "Record.Serialization", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "table": "table", - "key": "any", - "aggregatedColumns": "list", - "options": "record" + "input": "record", + "omitSRID": "logical" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.FuzzyJoin", - "Documentation": { - "Documentation.Name": "Table.FuzzyJoin", - "Documentation.Description": "Joins the rows from the two tables that fuzzy match based on the given keys.", - "Documentation.LongDescription": "

Joins the rows of table1 with the rows of table2 based on a fuzzy matching of the values of the key columns selected by key1 (for table1) and key2 (for table2).

\r\n

Fuzzy matching is a comparison based on similarity of text rather than equality of text.

\r\n

By default, an inner join is performed, however an optional joinKind may be included to specify the type of join. Options include:\r\n

\r\n\r\n

\r\n

An optional set of joinOptions may be included to specify how to compare the key columns. Options include:\r\n

\r\n\r\n

\r\n ", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Left inner fuzzy join of two tables based on [FirstName]", - "Code": "Table.FuzzyJoin(\r\n\t Table.FromRecords(\r\n {\r\n\t\t [CustomerID = 1, FirstName1 = \"Bob\", Phone = \"555-1234\"],\r\n\t\t [CustomerID = 2, FirstName1 = \"Robert\", Phone = \"555-4567\"]\r\n\t },\r\n type table [CustomerID = nullable number, FirstName1 = nullable text, Phone = nullable text]\r\n ),\r\n\t {\"FirstName1\"},\r\n\t Table.FromRecords(\r\n {\r\n\t\t [CustomerStateID = 1, FirstName2 = \"Bob\", State = \"TX\"],\r\n\t\t [CustomerStateID = 2, FirstName2 = \"bOB\", State = \"CA\"]\r\n\t },\r\n type table [CustomerStateID = nullable number, FirstName2 = nullable text, State = nullable text]\r\n ),\r\n\t {\"FirstName2\"},\r\n\t JoinKind.LeftOuter,\r\n\t [IgnoreCase = true, IgnoreSpace = false]\r\n)", - "Result": "Table.FromRecords({\r\n [\r\n\t\t\t CustomerID = 1,\r\n\t\t\t FirstName1 = \"Bob\",\r\n\t\t\t Phone = \"555-1234\",\r\n\t\t\t CustomerStateID = 1,\r\n\t\t\t FirstName2 = \"Bob\",\r\n\t\t\t State = \"TX\"\r\n\t\t],\r\n [\r\n\t\t\t CustomerID = 1,\r\n\t\t\t FirstName1 = \"Bob\",\r\n\t\t\t Phone = \"555-1234\",\r\n\t\t\t CustomerStateID = 2,\r\n\t\t\t FirstName2 = \"bOB\",\r\n\t\t\t State = \"CA\"\r\n\t\t],\r\n [\r\n\t\t\t CustomerID = 2,\r\n\t\t\t FirstName1 = \"Robert\",\r\n\t\t\t Phone = \"555-4567\",\r\n\t\t\t CustomerStateID = null,\r\n\t\t\t FirstName2 = null,\r\n\t\t\t State = null\r\n\t\t]\r\n})" - } - ] + "Name": "Github.Contents", + "Documentation": {}, + "ReturnType": "any", + "Parameters": { + "url": "text" }, - "ReturnType": "table", + "RequiredParameters": "1" + }, + { + "Name": "Github.PagedTable", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "table1": "table", - "key1": "any", - "table2": "table", - "key2": "any", - "joinKind": "JoinKind.Type", - "joinOptions": "record" + "url": "text" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "Table.FuzzyNestedJoin", + "Name": "Graph.Nodes", "Documentation": { - "Documentation.Name": "Table.FuzzyNestedJoin", - "Documentation.Description": "Performs a fuzzy join between tables on supplied columns and produces the join result in a new column.", - "Documentation.LongDescription": "

Joins the rows of table1 with the rows of table2 based on a fuzzy matching of the values of the key columns selected by key1 (for table1) and key2 (for table2). The results are returned in a new column named newColumnName.

\r\n

Fuzzy matching is a comparison based on similarity of text rather than equality of text.

\r\n

The optional joinKind specifies the kind of join to perform. By default, a left outer join is performed if a joinKind is not specified. Options include:\r\n

\r\n\r\n

\r\n

An optional set of joinOptions may be included to specify how to compare the key columns. Options include:\r\n

\r\n\r\n

\r\n", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Left inner fuzzy join of two tables based on [FirstName]", - "Code": "Table.FuzzyNestedJoin(\r\n\t Table.FromRecords(\r\n {\r\n\t\t [CustomerID = 1, FirstName1 = \"Bob\", Phone = \"555-1234\"],\r\n\t\t [CustomerID = 2, FirstName1 = \"Robert\", Phone = \"555-4567\"]\r\n\t },\r\n type table [CustomerID = nullable number, FirstName1 = nullable text, Phone = nullable text]\r\n ),\r\n\t {\"FirstName1\"},\r\n\t Table.FromRecords(\r\n {\r\n\t\t [CustomerStateID = 1, FirstName2 = \"Bob\", State = \"TX\"],\r\n\t\t [CustomerStateID = 2, FirstName2 = \"bOB\", State = \"CA\"]\r\n\t },\r\n type table [CustomerStateID = nullable number, FirstName2 = nullable text, State = nullable text]\r\n ),\r\n\t {\"FirstName2\"},\r\n\t \"NestedTable\",\r\n\t JoinKind.LeftOuter,\r\n\t [IgnoreCase = true, IgnoreSpace = false]\r\n)", - "Result": "Table.FromRecords({\r\n [\r\n\t\t CustomerID = 1,\r\n\t\t FirstName1 = \"Bob\",\r\n\t\t Phone = \"555-1234\",\r\n\t\t NestedTable = Table.FromRecords({\r\n [\r\n\t\t\t\t CustomerStateID = 1,\r\n\t\t\t\t FirstName2 = \"Bob\",\r\n\t\t\t\t State = \"TX\"\r\n\t\t\t ],\r\n [\r\n\t\t\t\t CustomerStateID = 2,\r\n\t\t\t\t FirstName2 = \"bOB\",\r\n\t\t\t\t State = \"CA\"\r\n\t\t\t ]\r\n\t\t })\r\n\t ],\r\n [\r\n\t\t CustomerID = 2,\r\n\t\t FirstName1 = \"Robert\",\r\n\t\t Phone = \"555-4567\",\r\n\t\t NestedTable = Table.FromRecords({})\r\n\t ]\r\n})" - } - ] + "Documentation.Name": "Graph.Nodes", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Expression", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "list", "Parameters": { - "table1": "table", - "key1": "any", - "table2": "table", - "key2": "any", - "newColumnName": "text", - "joinKind": "JoinKind.Type", - "joinOptions": "record" + "graph": "record" }, - "RequiredParameters": "5" + "RequiredParameters": "1" }, { - "Name": "Table.Group", + "Name": "Guid.From", "Documentation": { - "Documentation.Name": "Table.Group", - "Documentation.Description": "Groups rows in the table that have the same key.", - "Documentation.LongDescription": "Groups the rows of table by the key columns defined by key. The key can either be a single column name, or a list of column names.\r\n For each group, a record is constructed containing the key columns (and their values), along with any aggregated columns specified by aggregatedColumns.\r\n Optionally, groupKind and comparer may also be specified.
\r\n
\r\n If the data is already sorted by the key columns, then a groupKind of GroupKind.Local can be provided. This may improve the performance of grouping in certain cases,\r\n since all the rows with a given set of key values are assumed to be contiguous.
\r\n
\r\n When passing a comparer, note that if it treats differing keys as equal, a row may be placed in a group whose keys differ from its own.
\r\n
\r\n This function does not guarantee the ordering of the rows it returns.\r\n ", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Guid.From", + "Documentation.Description": "Returns a guid value from the given value.", + "Documentation.LongDescription": "Returns a Guid.Type value from the given value. If the given value is null, Guid.From returns null. A check will be performed to determine if the given value is in an acceptable format. Acceptable formats provided in the examples.", + "Documentation.Category": "Text.Conversions from and to text", "Documentation.Examples": [ { - "Description": "Group the table adding an aggregate column [total] which contains the sum of prices (\"each List.Sum([price])\").", - "Code": "Table.Group(\r\n Table.FromRecords({\r\n [CustomerID = 1, price = 20],\r\n [CustomerID = 2, price = 10],\r\n [CustomerID = 2, price = 20],\r\n [CustomerID = 1, price = 10],\r\n [CustomerID = 3, price = 20],\r\n [CustomerID = 3, price = 5]\r\n }),\r\n \"CustomerID\",\r\n {\"total\", each List.Sum([price])}\r\n)", - "Result": "Table.FromRecords(\r\n {\r\n [CustomerID = 1, total = 30],\r\n [CustomerID = 2, total = 30],\r\n [CustomerID = 3, total = 25]\r\n },\r\n {\"CustomerID\", \"total\"}\r\n)" + "Description": "The Guid can be provided as 32 contiguous hexadecimal digits.", + "Code": "Guid.From(\"05FE1DADC8C24F3BA4C2D194116B4967\")", + "Result": "\"05fe1dad-c8c2-4f3b-a4c2-d194116b4967\"" + }, + { + "Description": "The Guid can be provided as 32 hexadecimal digits separated by hyphens into blocks of 8-4-4-4-12.", + "Code": "Guid.From(\"05FE1DAD-C8C2-4F3B-A4C2-D194116B4967\")", + "Result": "\"05fe1dad-c8c2-4f3b-a4c2-d194116b4967\"" + }, + { + "Description": "The Guid can be provided as 32 hexadecimal digits separated by hyphens and enclosed in braces.", + "Code": "Guid.From(\"{05FE1DAD-C8C2-4F3B-A4C2-D194116B4967}\")", + "Result": "\"05fe1dad-c8c2-4f3b-a4c2-d194116b4967\"" + }, + { + "Description": "The Guid can be provided as 32 hexadecimal digits separated by hyphens and enclosed by parentheses.", + "Code": "Guid.From(\"(05FE1DAD-C8C2-4F3B-A4C2-D194116B4967)\")", + "Result": "\"05fe1dad-c8c2-4f3b-a4c2-d194116b4967\"" } ] }, - "ReturnType": "table", + "ReturnType": "text", "Parameters": { - "table": "table", - "key": "any", - "aggregatedColumns": "list", - "groupKind": "GroupKind.Type", - "comparer": "function" + "value": "text" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.InsertRows", + "Name": "Int16.From", "Documentation": { - "Documentation.Name": "Table.InsertRows", - "Documentation.Description": "Inserts a list of rows into the table at the specified position.", - "Documentation.LongDescription": "Returns a table with the list of rows, rows, inserted into the table at the given position, offset. Each column in the row to insert must match the column types of the table.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Int16.From", + "Documentation.Description": "Creates a 16-bit integer from the given value.", + "Documentation.LongDescription": "Returns a 16-bit integer number value from the given value. If the given value is null, Int16.From returns null. If the given value is number within the range of 16-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Insert the row into the table at position 1.", - "Code": "Table.InsertRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n }),\r\n 1,\r\n {[CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]}\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n})" + "Description": "Get the 16-bit integer number value of \"4\".", + "Code": "Int64.From(\"4\")", + "Result": "4" }, { - "Description": "Insert two rows into the table at position 1.", - "Code": "Table.InsertRows(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n 1,\r\n {\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n }\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n})" + "Description": "Get the 16-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", + "Code": "Int16.From(\"4.5\", null, RoundingMode.AwayFromZero)", + "Result": "5" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "table": "table", - "offset": "number", - "rows": "list" + "value": "any", + "culture": "text", + "roundingMode": "RoundingMode.Type" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.Join", + "Name": "Int32.From", "Documentation": { - "Documentation.Name": "Table.Join", - "Documentation.Description": "Joins the rows from the two tables that match based on the given keys.", - "Documentation.LongDescription": "

Joins the rows of table1 with the rows of table2 based on the equality of the values of the key columns selected by key1 (for table1) and key2 (for table2).

\r\n

By default, an inner join is performed, however an optional joinKind may be included to specify the type of join. Options include:\r\n

\r\n\r\n

\r\n

An optional set of keyEqualityComparers may be included to specify how to compare the key columns. This parameter is currently intended for internal use only.

", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Int32.From", + "Documentation.Description": "Creates a 32-bit integer from the given value.", + "Documentation.LongDescription": "Returns a 32-bit integer number value from the given value. If the given value is null, Int32.From returns null. If the given value is number within the range of 32-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Join two tables using a single key column.", - "Code": "Table.Join(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"CustomerID\",\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200.0],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2.0],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20.0],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25]\r\n }),\r\n \"CustomerID\"\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", OrderID = 1, Item = \"Fishing rod\", Price = 100],\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", OrderID = 2, Item = \"1 lb. worms\", Price = 5],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\", OrderID = 3, Item = \"Fishing net\", Price = 25],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\", OrderID = 4, Item = \"Fish tazer\", Price = 200],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\", OrderID = 5, Item = \"Bandaids\", Price = 2],\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", OrderID = 6, Item = \"Tackle box\", Price = 20]\r\n})" + "Description": "Get the 32-bit integer number value of \"4\".", + "Code": "Int32.From(\"4\")", + "Result": "4" }, { - "Description": "Join two tables that have conflicting column names, using multiple key columns.", - "Code": "let\r\n customers = Table.FromRecords({\r\n [TenantID = 1, CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [TenantID = 1, CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n }),\r\n orders = Table.FromRecords({\r\n [TenantID = 1, OrderID = 1, CustomerID = 1, Name = \"Fishing rod\", Price = 100.0],\r\n [TenantID = 1, OrderID = 2, CustomerID = 1, Name = \"1 lb. worms\", Price = 5.0],\r\n [TenantID = 1, OrderID = 3, CustomerID = 2, Name = \"Fishing net\", Price = 25.0]\r\n })\r\nin\r\n Table.Join(\r\n customers,\r\n {\"TenantID\", \"CustomerID\"},\r\n Table.PrefixColumns(orders, \"Order\"),\r\n {\"Order.TenantID\", \"Order.CustomerID\"}\r\n )", - "Result": "Table.FromRecords({\r\n [TenantID = 1, CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Order.TenantID = 1, Order.OrderID = 1, Order.CustomerID = 1, Order.Name = \"Fishing rod\", Order.Price = 100],\r\n [TenantID = 1, CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Order.TenantID = 1, Order.OrderID = 2, Order.CustomerID = 1, Order.Name = \"1 lb. worms\", Order.Price = 5],\r\n [TenantID = 1, CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\", Order.TenantID = 1, Order.OrderID = 3, Order.CustomerID = 2, Order.Name = \"Fishing net\", Order.Price = 25]\r\n})" + "Description": "Get the 32-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", + "Code": "Int32.From(\"4.5\", null, RoundingMode.AwayFromZero)", + "Result": "5" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "table1": "table", - "key1": "any", - "table2": "table", - "key2": "any", - "joinKind": "JoinKind.Type", - "joinAlgorithm": "JoinAlgorithm.Type", - "keyEqualityComparers": "list" + "value": "any", + "culture": "text", + "roundingMode": "RoundingMode.Type" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "Table.MaxN", + "Name": "Int64.From", "Documentation": { - "Documentation.Name": "Table.MaxN", - "Documentation.Description": "Returns the largest row(s) using the given criteria.", - "Documentation.LongDescription": "Returns the largest row(s) in the table, given the comparisonCriteria.\r\n After the rows are sorted, the countOrCondition parameter must be specified to further filter the result. Note the sorting algorithm cannot guarantee a fixed sorted result. The countOrCondition parameter can take multiple forms:\r\n ", - "Documentation.Category": "Table.Ordering", + "Documentation.Name": "Int64.From", + "Documentation.Description": "Creates a 64-bit integer from the given value.", + "Documentation.LongDescription": "Returns a 64-bit integer number value from the given value. If the given value is null, Int64.From returns null. If the given value is number within the range of 64-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Find the row with the largest value in column [a] with the condition [a] > 0, in the table. The rows are sorted before the filter is applied.", - "Code": "Table.MaxN(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 0, b = 0],\r\n [a = 6, b = 2]\r\n }),\r\n \"a\",\r\n each [a] > 0\r\n)", - "Result": "Table.FromRecords({\r\n [a = 6, b = 2],\r\n [a = 2, b = 4]\r\n})" + "Description": "Get the 64-bit integer number value of \"4\".", + "Code": "Int64.From(\"4\")", + "Result": "4" }, { - "Description": "Find the row with the largest value in column [a] with the condition [b] > 0, in the table. The rows are sorted before the filter is applied.", - "Code": "Table.MaxN(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 8, b = 0],\r\n [a = 6, b = 2]\r\n }),\r\n \"a\",\r\n each [b] > 0\r\n)", - "Result": "Table.FromRecords({})" + "Description": "Get the 64-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", + "Code": "Int64.From(\"4.5\", null, RoundingMode.AwayFromZero)", + "Result": "5" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "table": "table", - "comparisonCriteria": "any", - "countOrCondition": "any" + "value": "any", + "culture": "text", + "roundingMode": "RoundingMode.Type" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.MinN", + "Name": "Int8.From", "Documentation": { - "Documentation.Name": "Table.MinN", - "Documentation.Description": "Returns the smallest row(s) using the given criteria.", - "Documentation.LongDescription": "Returns the smallest row(s) in the table, given the comparisonCriteria. After the rows are sorted, the countOrCondition parameter must be specified to further filter the result. Note the sorting algorithm cannot guarantee a fixed sorted result. The countOrCondition parameter can take multiple forms:\r\n ", - "Documentation.Category": "Table.Ordering", + "Documentation.Name": "Int8.From", + "Documentation.Description": "Creates a signed 8-bit integer from the given value.", + "Documentation.LongDescription": "Returns a signed 8-bit integer number value from the given value. If the given value is null, Int8.From returns null. If the given value is number within the range of signed 8-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Find the row with the smallest value in column [a] with the condition [a] < 3, in the table. The rows are sorted before the filter is applied.", - "Code": "Table.MinN(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 0, b = 0],\r\n [a = 6, b = 4]\r\n }),\r\n \"a\",\r\n each [a] < 3\r\n)", - "Result": "Table.FromRecords({\r\n [a = 0, b = 0],\r\n [a = 2, b = 4]\r\n})" + "Description": "Get the signed 8-bit integer number value of \"4\".", + "Code": "Int8.From(\"4\")", + "Result": "4" }, { - "Description": "Find the row with the smallest value in column [a] with the condition [b] < 0, in the table. The rows are sorted before the filter is applied.", - "Code": "Table.MinN(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 8, b = 0],\r\n [a = 6, b = 2]\r\n }),\r\n \"a\",\r\n each [b] < 0\r\n)", - "Result": "Table.FromRecords({})" + "Description": "Get the signed 8-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", + "Code": "Int8.From(\"4.5\", null, RoundingMode.AwayFromZero)", + "Result": "5" } ] }, - "ReturnType": "table", + "ReturnType": "number", "Parameters": { - "table": "table", - "comparisonCriteria": "any", - "countOrCondition": "any" + "value": "any", + "culture": "text", + "roundingMode": "RoundingMode.Type" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.NestedJoin", + "Name": "ItemExpression.From", "Documentation": { - "Documentation.Name": "Table.NestedJoin", - "Documentation.Description": "Performs a join between tables on supplied columns and produces the join result in a new column.", - "Documentation.LongDescription": "

Joins the rows of table1 with the rows of table2 based on the equality of the values of the key columns selected by key1 (for table1) and key2 (for table2). The results are entered into the column named newColumnName.

\r\n

The optional joinKind specifies the kind of join to perform. By default, a left outer join is performed if a joinKind is not specified.

\r\n

An optional set of keyEqualityComparers may be included to specify how to compare the key columns. This feature is currently intended for internal use only.

", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "ItemExpression.From", + "Documentation.Description": "Returns the abstract syntax tree (AST) for the body of a function.", + "Documentation.LongDescription": "

Returns the abstract syntax tree (AST) for the body of function, normalized into an item expression:\r\n

\r\n

\r\n

An error is raised if an item expression AST cannot be returned for the body of function.

", + "Documentation.Category": "Table.Table construction", "Documentation.Examples": [ { - "Description": "Join two tables using a single key column.", - "Code": "Table.NestedJoin(\r\n Table.FromRecords({\r\n [CustomerToCall = 1],\r\n [CustomerToCall = 3]\r\n }),\r\n {\"CustomerToCall\"},\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n {\"CustomerID\"},\r\n \"CustomerDetails\"\r\n)", - "Result": "Table.FromRecords({\r\n [CustomerToCall = 1, CustomerDetails = Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})],\r\n [CustomerToCall = 3, CustomerDetails = Table.FromRecords({[CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]})]\r\n})" + "Description": "Returns the AST for the body of the function each _ <> null", + "Code": "ItemExpression.From(each _ <> null)", + "Result": "[\r\n Kind = \"Binary\",\r\n Operator = \"NotEquals\",\r\n Left = ItemExpression.Item,\r\n Right =\r\n [\r\n Kind = \"Constant\",\r\n Value = null\r\n ]\r\n]" } ] }, - "ReturnType": "table", + "ReturnType": "record", "Parameters": { - "table1": "table", - "key1": "any", - "table2": "any", - "key2": "any", - "newColumnName": "text", - "joinKind": "JoinKind.Type", - "keyEqualityComparers": "list" + "function": "function" }, - "RequiredParameters": "5" + "RequiredParameters": "1" }, { - "Name": "Table.Pivot", + "Name": "Json.Document", "Documentation": { - "Documentation.Name": "Table.Pivot", - "Documentation.Description": "Given a pair of columns representing attribute-value pairs, rotates the data in the attribute column into a column headings.", - "Documentation.LongDescription": "Given a pair of columns representing attribute-value pairs, rotates the data in the attribute column into a column headings.", - "Documentation.Category": "Table.Column operations", - "Documentation.Examples": [ - { - "Description": "Take the values \"a\", \"b\", and \"c\" in the attribute column of table ({ [ key = \"x\", attribute = \"a\", value = 1 ], [ key = \"x\", attribute = \"c\", value = 3 ], [ key = \"y\", attribute = \"a\", value = 2 ], [ key = \"y\", attribute = \"b\", value = 4 ] }) and pivot them into their own column.", - "Code": "Table.Pivot(\r\n Table.FromRecords({\r\n [key = \"x\", attribute = \"a\", value = 1],\r\n [key = \"x\", attribute = \"c\", value = 3],\r\n [key = \"y\", attribute = \"a\", value = 2],\r\n [key = \"y\", attribute = \"b\", value = 4]\r\n }),\r\n {\"a\", \"b\", \"c\"},\r\n \"attribute\",\r\n \"value\"\r\n)", - "Result": "Table.FromRecords({\r\n [key = \"x\", a = 1, b = null, c = 3],\r\n [key = \"y\", a = 2, b = 4, c = null]\r\n})" - }, - { - "Description": "Take the values \"a\", \"b\", and \"c\" in the attribute column of table ({ [ key = \"x\", attribute = \"a\", value = 1 ], [ key = \"x\", attribute = \"c\", value = 3 ], [ key = \"x\", attribute = \"c\", value = 5 ], [ key = \"y\", attribute = \"a\", value = 2 ], [ key = \"y\", attribute = \"b\", value = 4 ] }) and pivot them into their own column. The attribute \"c\" for key \"x\" has multiple values associated with it, so use the function List.Max to resolve the conflict.", - "Code": "Table.Pivot(\r\n Table.FromRecords({\r\n [key = \"x\", attribute = \"a\", value = 1],\r\n [key = \"x\", attribute = \"c\", value = 3],\r\n [key = \"x\", attribute = \"c\", value = 5],\r\n [key = \"y\", attribute = \"a\", value = 2],\r\n [key = \"y\", attribute = \"b\", value = 4]\r\n }),\r\n {\"a\", \"b\", \"c\"},\r\n \"attribute\",\r\n \"value\",\r\n List.Max\r\n)", - "Result": "Table.FromRecords({\r\n [key = \"x\", a = 1, b = null, c = 5],\r\n [key = \"y\", a = 2, b = 4, c = null]\r\n})" - } - ] + "Documentation.Name": "Json.Document", + "Documentation.Description": "Returns the content of the JSON document.", + "Documentation.LongDescription": "Returns the content of the JSON document.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "table": "table", - "pivotValues": "list", - "attributeColumn": "text", - "valueColumn": "text", - "aggregationFunction": "function" + "jsonText": "any", + "encoding": "TextEncoding.Type" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "Table.ReplaceRows", + "Name": "Json.FromValue", "Documentation": { - "Documentation.Name": "Table.ReplaceRows", - "Documentation.Description": "Replaces the specified range of rows with the provided row(s).", - "Documentation.LongDescription": "Replaces a specified number of rows, count, in the input table with the specified rows, beginning after the offset. The rows parameter is a list of records.\r\n \r\n", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Json.FromValue", + "Documentation.Description": "Produces a JSON representation of a given value.", + "Documentation.LongDescription": "

Produces a JSON representation of a given value value with a text encoding specified by encoding. If encoding is omitted, UTF8 is used. Values are represented as follows:

\r\n \r\n ", + "Documentation.Category": "Text.Conversions from and to text", "Documentation.Examples": [ { - "Description": "Starting at position 1, replace 3 rows.", - "Code": "Table.ReplaceRows(\r\n Table.FromRecords({\r\n [Column1 = 1],\r\n [Column1 = 2],\r\n [Column1 = 3],\r\n [Column1 = 4],\r\n [Column1 = 5]\r\n }),\r\n 1,\r\n 3,\r\n {[Column1 = 6], [Column1 = 7]}\r\n)", - "Result": "Table.FromRecords({\r\n [Column1 = 1],\r\n [Column1 = 6],\r\n [Column1 = 7],\r\n [Column1 = 5]\r\n})" + "Description": "Convert a complex value to JSON.", + "Code": "Text.FromBinary(Json.FromValue([A = {1, true, \"3\"}, B = #date(2012, 3, 25)]))", + "Result": "\"{\"\"A\"\":[1,true,\"\"3\"\"],\"\"B\"\":\"\"2012-03-25\"\"}\"" } ] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "table": "table", - "offset": "number", - "count": "number", - "rows": "list" + "value": "any", + "encoding": "TextEncoding.Type" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "Table.ReplaceValue", - "Documentation": { - "Documentation.Name": "Table.ReplaceValue", - "Documentation.Description": "Replaces one value with another in the specified columns.", - "Documentation.LongDescription": "Replaces oldValue with newValue in the specified columns of the table.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Replace the text \"goodbye\" with \"world\" in column B, matching only the entire value.", - "Code": "Table.ReplaceValue(\r\n Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 2, B = \"goodbye\"],\r\n [A = 3, B = \"goodbyes\"]\r\n }),\r\n \"goodbye\",\r\n \"world\",\r\n Replacer.ReplaceValue,\r\n {\"B\"}\r\n)", - "Result": "Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 2, B = \"world\"],\r\n [A = 3, B = \"goodbyes\"]\r\n})" - }, - { - "Description": "Replace the text \"ur\" with \"or\" in column B, matching any part of the value.", - "Code": "Table.ReplaceValue(\r\n Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 2, B = \"wurld\"]\r\n }),\r\n \"ur\",\r\n \"or\",\r\n Replacer.ReplaceText,\r\n {\"B\"}\r\n)", - "Result": "Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 2, B = \"world\"]\r\n})" - }, - { - "Description": "Anonymize the names of US employees.", - "Code": "Table.ReplaceValue(\r\n Table.FromRecords({\r\n [Name = \"Cindy\", Country = \"US\"],\r\n [Name = \"Bob\", Country = \"CA\"]\r\n }),\r\n each if [Country] = \"US\" then [Name] else false,\r\n each Text.Repeat(\"*\", Text.Length([Name])),\r\n Replacer.ReplaceValue,\r\n {\"Name\"}\r\n)", - "Result": "Table.FromRecords({\r\n [Name = \"*****\", Country = \"US\"],\r\n [Name = \"Bob\", Country = \"CA\"]\r\n})" - }, - { - "Description": "Anonymize all columns of US employees.", - "Code": "Table.ReplaceValue(\r\n Table.FromRecords({\r\n [Name = \"Cindy\", Country = \"US\"],\r\n [Name = \"Bob\", Country = \"CA\"]\r\n }),\r\n each [Country] = \"US\",\r\n \"?\",\r\n (currentValue, isUS, replacementValue) =>\r\n if isUS then\r\n Text.Repeat(replacementValue, Text.Length(currentValue))\r\n else\r\n currentValue,\r\n {\"Name\", \"Country\"}\r\n)", - "Result": "Table.FromRecords({\r\n [Name = \"?????\", Country = \"??\"],\r\n [Name = \"Bob\", Country = \"CA\"]\r\n})" - } - ] - }, - "ReturnType": "table", + "Name": "Kusto.Databases", + "Documentation": {}, + "ReturnType": "list", "Parameters": { - "table": "table", - "oldValue": "any", - "newValue": "any", - "replacer": "function", - "columnsToSearch": "list" + "cluster": "text", + "options": "record" }, - "RequiredParameters": "5" + "RequiredParameters": "1" }, { - "Name": "Table.SplitColumn", + "Name": "Lines.FromBinary", "Documentation": { - "Documentation.Name": "Table.SplitColumn", - "Documentation.Description": "Splits the specified columns into a set of additional columns using the specified splitter function.", - "Documentation.LongDescription": "Splits the specified columns into a set of additional columns using the specified splitter function.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Split the [Name] column at position of \"i\" into two columns", - "Code": "let\r\n Customers = Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Cristina\", Phone = \"232-1550\"]\r\n })\r\nin\r\n Table.SplitColumn(Customers, \"Name\", Splitter.SplitTextByDelimiter(\"i\"), 2)", - "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name.1 = \"Bob\", Name.2 = null, Phone = \"123-4567\"],\r\n [CustomerID = 2, Name.1 = \"J\", Name.2 = \"m\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name.1 = \"Paul\", Name.2 = null, Phone = \"543-7890\"],\r\n [CustomerID = 4, Name.1 = \"Cr\", Name.2 = \"st\", Phone = \"232-1550\"]\r\n})" - } - ] + "Documentation.Name": "Lines.FromBinary", + "Documentation.Description": "Converts a binary value to a list of text values split at lines breaks. If a quote style is specified, then line breaks may appear within quotes. If includeLineSeparators is true, then the line break characters are included in the text.", + "Documentation.LongDescription": "Converts a binary value to a list of text values split at lines breaks. If a quote style is specified, then line breaks may appear within quotes. If includeLineSeparators is true, then the line break characters are included in the text.", + "Documentation.Category": "Lines", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "list", "Parameters": { - "table": "table", - "sourceColumn": "text", - "splitter": "function", - "columnNamesOrNumber": "any", - "default": "any", - "extraColumns": "any" + "binary": "binary", + "quoteStyle": "QuoteStyle.Type", + "includeLineSeparators": "logical", + "encoding": "TextEncoding.Type" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Table.Unpivot", + "Name": "Lines.FromText", "Documentation": { - "Documentation.Name": "Table.Unpivot", - "Documentation.Description": "Translates a set of columns in a table into attribute-value pairs.", - "Documentation.LongDescription": "Translates a set of columns in a table into attribute-value pairs, combined with the rest of the values in each row.", - "Documentation.Category": "Table.Column operations", - "Documentation.Examples": [ - { - "Description": "Take the columns \"a\", \"b\", and \"c\" in the table ({[ key = \"x\", a = 1, b = null, c = 3 ], [ key = \"y\", a = 2, b = 4, c = null ]}) and unpivot them into attribute-value pairs.", - "Code": "Table.Unpivot(\r\n Table.FromRecords({\r\n [key = \"x\", a = 1, b = null, c = 3],\r\n [key = \"y\", a = 2, b = 4, c = null]\r\n }),\r\n {\"a\", \"b\", \"c\"},\r\n \"attribute\",\r\n \"value\"\r\n)", - "Result": "Table.FromRecords({\r\n [key = \"x\", attribute = \"a\", value = 1],\r\n [key = \"x\", attribute = \"c\", value = 3],\r\n [key = \"y\", attribute = \"a\", value = 2],\r\n [key = \"y\", attribute = \"b\", value = 4]\r\n})" - } - ] + "Documentation.Name": "Lines.FromText", + "Documentation.Description": "Converts a text value to a list of text values split at lines breaks. If includeLineSeparators is true, then the line break characters are included in the text.", + "Documentation.LongDescription": "Converts a text value to a list of text values split at lines breaks. If includeLineSeparators is true, then the line break characters are included in the text.\r\n
\r\n \r\n
\r\n ", + "Documentation.Category": "Lines", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "list", "Parameters": { - "table": "table", - "pivotColumns": "list", - "attributeColumn": "text", - "valueColumn": "text" + "text": "text", + "quoteStyle": "QuoteStyle.Type", + "includeLineSeparators": "logical" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "Table.UnpivotOtherColumns", + "Name": "Lines.ToBinary", "Documentation": { - "Documentation.Name": "Table.UnpivotOtherColumns", - "Documentation.Description": "Translates all columns other than a specified set into attribute-value pairs.", - "Documentation.LongDescription": "Translates all columns other than a specified set into attribute-value pairs, combined with the rest of the values in each row.", - "Documentation.Category": "Table.Column operations", - "Documentation.Examples": [ - { - "Description": "Translates all columns other than a specified set into attribute-value pairs, combined with the rest of the values in each row.", - "Code": "Table.UnpivotOtherColumns(\r\n Table.FromRecords({\r\n [key = \"key1\", attribute1 = 1, attribute2 = 2, attribute3 = 3],\r\n [key = \"key2\", attribute1 = 4, attribute2 = 5, attribute3 = 6]\r\n }),\r\n {\"key\"},\r\n \"column1\",\r\n \"column2\"\r\n)", - "Result": "Table.FromRecords({\r\n [key = \"key1\", column1 = \"attribute1\", column2 = 1],\r\n [key = \"key1\", column1 = \"attribute2\", column2 = 2],\r\n [key = \"key1\", column1 = \"attribute3\", column2 = 3],\r\n [key = \"key2\", column1 = \"attribute1\", column2 = 4],\r\n [key = \"key2\", column1 = \"attribute2\", column2 = 5],\r\n [key = \"key2\", column1 = \"attribute3\", column2 = 6]\r\n})" - } - ] + "Documentation.Name": "Lines.ToBinary", + "Documentation.Description": "Converts a list of text into a binary value using the specified encoding and lineSeparator.The specified lineSeparator is appended to each line. If not specified then the carriage return and line feed characters are used.", + "Documentation.LongDescription": "Converts a list of text into a binary value using the specified encoding and lineSeparator.The specified lineSeparator is appended to each line. If not specified then the carriage return and line feed characters are used.", + "Documentation.Category": "Lines", + "Documentation.Examples": [] }, - "ReturnType": "table", + "ReturnType": "binary", "Parameters": { - "table": "table", - "pivotColumns": "list", - "attributeColumn": "text", - "valueColumn": "text" + "lines": "list", + "lineSeparator": "text", + "encoding": "TextEncoding.Type", + "includeByteOrderMark": "logical" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "TeamsAnalytics.Contents", + "Name": "Lines.ToText", "Documentation": { - "Documentation.Name": "Microsoft Teams Personal Analytics", - "Documentation.LongDescription": "

The Teams Analytics connector enables you to get insights into your usage of Teams. Data is available for both your personal activity in Teams as well as the activity in Teams you are a member of.

\r\n

Data is available for prior 90 days.

\r\n

For details of the types of data available, please refer to the following help documentation:

\r\n" + "Documentation.Name": "Lines.ToText", + "Documentation.Description": "Converts a list of text into a single text. The specified lineSeparator is appended to each line. If not specified then the carriage return and line feed characters are used.", + "Documentation.LongDescription": "Converts a list of text into a single text. The specified lineSeparator is appended to each line. If not specified then the carriage return and line feed characters are used.", + "Documentation.Category": "Lines", + "Documentation.Examples": [] }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "ReturnType": "text", + "Parameters": { + "lines": "list", + "lineSeparator": "text" + }, + "RequiredParameters": "1" }, { - "Name": "Tenforce.Contents", + "Name": "List.AllTrue", "Documentation": { - "Documentation.Name": "Tenforce (Smart)List", - "Documentation.LongDescription": "Selection data" + "Documentation.Name": "List.AllTrue", + "Documentation.Description": "Returns true if all expressions are true.", + "Documentation.LongDescription": "Returns true if all expressions in the list list are true.", + "Documentation.Category": "List.Membership functions", + "Documentation.Examples": [ + { + "Description": "Determine if all the expressions in the list {true, true, 2 > 0} are true.", + "Code": "List.AllTrue({true, true, 2 > 0})", + "Result": "true" + }, + { + "Description": "Determine if all the expressions in the list {true, true, 2 < 0} are true.", + "Code": "List.AllTrue({true, false, 2 < 0})", + "Result": "false" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "ApplicationUrl": "text", - "ListId": "text", - "DataType": "text" + "list": "list" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "VSTS.Views", + "Name": "List.AnyTrue", "Documentation": { - "Documentation.Description": "Enter organization and project names.", - "Documentation.DisplayName": "VSTS.Views", - "Documentation.Caption": "VSTS.Views", - "Documentation.Name": "Azure DevOps Services", - "Documentation.LongDescription": "Returns a table of OData feeds offered by Azure DevOps." + "Documentation.Name": "List.AnyTrue", + "Documentation.Description": "Returns true if any expression is true.", + "Documentation.LongDescription": "Returns true if any expression in the list list is true.", + "Documentation.Category": "List.Membership functions", + "Documentation.Examples": [ + { + "Description": "Determine if any of the expressions in the list {true, false, 2 > 0} are true.", + "Code": "List.AnyTrue({true, false, 2>0})", + "Result": "true" + }, + { + "Description": "Determine if any of the expressions in the list {2 = 0, false, 2 < 0} are true.", + "Code": "List.AnyTrue({2 = 0, false, 2 < 0})", + "Result": "false" + } + ] }, - "ReturnType": "table", + "ReturnType": "logical", "Parameters": { - "url": "text", - "project": "text", - "areaPath": "text", - "options": "record" + "list": "list" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "WebtrendsAnalytics.Tables", + "Name": "List.Average", "Documentation": { - "Documentation.Description": "Enter the Profile ID associated with your Webtrends account.", - "Documentation.DisplayName": "Webtrends", - "Documentation.Caption": "Tables", - "Documentation.Name": "Webtrends Analytics", - "Documentation.LongDescription": "Returns a table with relevant Webtrends data." + "Documentation.Name": "List.Average", + "Documentation.Description": "Returns the average of the values. Works with number, date, datetime, datetimezone and duration values.", + "Documentation.LongDescription": "Returns the average value for the items in the list, list. The result is given in the same datatype as the values in the list. Only works with number, date, time, datetime, datetimezone and duration values.\r\n If the list is empty null is returned.", + "Documentation.Category": "List.Averages", + "Documentation.Examples": [ + { + "Description": "Find the average of the list of numbers, {3, 4, 6}.", + "Code": "List.Average({3, 4, 6})", + "Result": "4.333333333333333" + }, + { + "Description": "Find the average of the date values January 1, 2011, January 2, 2011 and January 3, 2011.", + "Code": "List.Average({#date(2011, 1, 1), #date(2011, 1, 2), #date(2011, 1, 3)})", + "Result": "#date(2011, 1, 2)" + } + ] }, - "ReturnType": "table", + "ReturnType": "any", "Parameters": { - "ProfileId": "text", - "Period": "text", - "reportType": "text", - "startDate": "date", - "endDate": "date", - "startPeriod": "text", - "endPeriod": "text" + "list": "list", + "precision": "Precision.Type" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "Wrike.Contents", + "Name": "List.Buffer", "Documentation": { - "Documentation.Name": "Wrike", - "Documentation.LongDescription": " Shared function and first entry point to Connector. Display initial Navigation hierarchy.", - "Documentation.Examples": [] + "Documentation.Name": "List.Buffer", + "Documentation.Description": "Buffers a list.", + "Documentation.LongDescription": "Buffers the list list in memory. The result of this call is a stable list.", + "Documentation.Category": "List.Selection", + "Documentation.Examples": [ + { + "Description": "Create a stable copy of the list {1..10}.", + "Code": "List.Buffer({1..10})", + "Result": "{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}" + } + ] }, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "appFigures.Tables", - "Documentation": {}, - "ReturnType": "table", - "Parameters": {}, - "RequiredParameters": "0" + "ReturnType": "list", + "Parameters": { + "list": "list" + }, + "RequiredParameters": "1" }, { - "Name": "eWayCRM.Contents", - "Documentation": {}, - "ReturnType": "table", + "Name": "List.Combine", + "Documentation": { + "Documentation.Name": "List.Combine", + "Documentation.Description": "Returns a single list by combining multiple lists.", + "Documentation.LongDescription": "Takes a list of lists, lists, and merges them into a single new list.", + "Documentation.Category": "List.Transformation functions", + "Documentation.Examples": [ + { + "Description": "Combine the two simple lists {1, 2} and {3, 4}.", + "Code": "List.Combine({{1, 2}, {3, 4}})", + "Result": "{\r\n 1,\r\n 2,\r\n 3,\r\n 4\r\n}" + }, + { + "Description": "Combine the two lists, {1, 2} and {3, {4, 5}}, one of which contains a nested list.", + "Code": "List.Combine({{1, 2}, {3, {4, 5}}})", + "Result": "{\r\n 1,\r\n 2,\r\n 3,\r\n {4, 5}\r\n}" + } + ] + }, + "ReturnType": "list", "Parameters": { - "IncludeRelations": "logical" + "lists": "list" }, - "RequiredParameters": "0" + "RequiredParameters": "1" }, { - "Name": "AI.ExecuteInternal", - "Documentation": {}, - "ReturnType": "any", + "Name": "List.Count", + "Documentation": { + "Documentation.Name": "List.Count", + "Documentation.Description": "Returns the number of items in the list.", + "Documentation.LongDescription": "Returns the number of items in the list list.", + "Documentation.Category": "List.Information", + "Documentation.Examples": [ + { + "Description": "Find the number of values in the list {1, 2, 3}.", + "Code": "List.Count({1, 2, 3})", + "Result": "3" + } + ] + }, + "ReturnType": "number", "Parameters": { - "uri": "text", - "capacityobjectid": "text", - "params": "record" + "list": "list" }, - "RequiredParameters": "3" + "RequiredParameters": "1" }, { - "Name": "AI.GetAutoMLEntity", - "Documentation": {}, - "ReturnType": "any", + "Name": "List.Distinct", + "Documentation": { + "Documentation.Name": "List.Distinct", + "Documentation.Description": "Returns a list of values with duplicates removed.", + "Documentation.LongDescription": "Returns a list that contains all the values in list list with duplicates removed. If the list is empty, the result is an empty list.", + "Documentation.Category": "List.Selection", + "Documentation.Examples": [ + { + "Description": "Remove the duplicates from the list {1, 1, 2, 3, 3, 3}.", + "Code": "List.Distinct({1, 1, 2, 3, 3, 3})", + "Result": "{1, 2, 3}" + } + ] + }, + "ReturnType": "list", "Parameters": { - "modelDataflowId": "text", - "entityName": "text", - "partitionUri": "text", - "entityAttributes": "text" + "list": "list", + "equationCriteria": "any" }, - "RequiredParameters": "4" + "RequiredParameters": "1" }, { - "Name": "AI.SampleStratifiedWithHoldout", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "strata": "text", - "totalSize": "number", - "data": "table", - "targetSampleSize": "number", - "holdoutRatio": "number", - "stratifyTrainingSet": "logical" - }, - "RequiredParameters": "3" - }, - { - "Name": "AI.TestConnection", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "AIFunctions.Capacities", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "AIFunctions.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "AIFunctions.ExecuteInternal", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "uri": "text", - "capacityobjectid": "text", - "params": "record" - }, - "RequiredParameters": "3" - }, - { - "Name": "AIFunctions.GetAutoMLEntity", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "modelDataflowId": "text", - "entityName": "text", - "partitionUri": "text", - "entityAttributes": "text" - }, - "RequiredParameters": "4" - }, - { - "Name": "AIFunctions.PostProcess", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "input": "table", - "columnName": "text", - "functionName": "text" - }, - "RequiredParameters": "3" - }, - { - "Name": "AIInsights.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "AIInsights.ContentsGenerator", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "AML.Execute", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "uri": "text", - "key": "text", - "payload": "text", - "version": "number", - "dataframeName": "text" - }, - "RequiredParameters": "5" - }, - { - "Name": "AML.ExecuteBatch", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "uri": "text", - "key": "text", - "inputTable": "table", - "version": "number", - "dataframeName": "text" - }, - "RequiredParameters": "5" - }, - { - "Name": "Acterys.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "AzureMLFunctions.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "AzureMLFunctions.Execute", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "uri": "text", - "key": "text", - "payload": "text", - "version": "number", - "dataframeName": "text" - }, - "RequiredParameters": "5" - }, - { - "Name": "AzureMLFunctions.ExecuteBatch", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "uri": "text", - "key": "text", - "inputTable": "table", - "version": "number", - "dataframeName": "text" - }, - "RequiredParameters": "5" - }, - { - "Name": "BQECore.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "BinaryFormat.Binary", - "Documentation": { - "Documentation.Name": "BinaryFormat.Binary", - "Documentation.Description": "Returns a binary format that reads a binary value.", - "Documentation.LongDescription": "Returns a binary format that reads a binary value. If length is specified, the binary value will contain that many bytes. If length is not specified, the binary value will contain the remaining bytes. The length can be specified either as a number, or as a binary format of the length that precedes the binary data.", - "Documentation.Category": "Binary Formats.Reading binary data", - "Documentation.Examples": [] - }, - "ReturnType": "function", - "Parameters": { - "length": "any" - }, - "RequiredParameters": "0" - }, - { - "Name": "BitSightSecurityRatings.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "company_guid": "text", - "affects_rating_findings": "logical" - }, - "RequiredParameters": "0" - }, - { - "Name": "Comparer.Equals", - "Documentation": { - "Documentation.Name": "Comparer.Equals", - "Documentation.Description": "Returns a logical value based on the equality check over the two given values.", - "Documentation.LongDescription": "Returns a logical value based on the equality check over the two given values, x and y, using the provided comparer.\r\n
\r\n comparer is a Comparer which is used to control the comparison.\r\n A comparer is a function that accepts two arguments and returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.\r\n Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n ", - "Documentation.Category": "Comparer", - "Documentation.Examples": [ - { - "Description": "Compare \"1\" and \"A\" using \"en-US\" locale to determine if the values are equal.", - "Code": "Comparer.Equals(Comparer.FromCulture(\"en-US\"), \"1\", \"A\")", - "Result": "false" - } - ] - }, - "ReturnType": "logical", - "Parameters": { - "comparer": "function", - "x": "any", - "y": "any" - }, - "RequiredParameters": "3" - }, - { - "Name": "DateTime.FixedLocalNow", - "Documentation": { - "Documentation.Name": "DateTime.FixedLocalNow", - "Documentation.Description": "Returns the current date and time in the local timezone. This value is fixed and will not change with successive calls.", - "Documentation.LongDescription": "Returns a datetime value set to the current date and time on the system. This value is fixed and will not change with successive calls, unlike DateTime.LocalNow, which may return different values over the course of execution of an expression.", - "Documentation.Category": "DateTime", - "Documentation.Examples": [] - }, - "ReturnType": "datetime", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "DateTime.LocalNow", - "Documentation": { - "Documentation.Name": "DateTime.LocalNow", - "Documentation.Description": "Returns the current date and time in the local timezone.", - "Documentation.LongDescription": "Returns a datetime value set to the current date and time on the system.", - "Documentation.Category": "DateTime", - "Documentation.Examples": [] - }, - "ReturnType": "datetime", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "DateTimeZone.FixedLocalNow", - "Documentation": { - "Documentation.Name": "DateTimeZone.FixedLocalNow", - "Documentation.Description": "Returns the current date & time in the local timezone. This value is fixed and will not change with successive calls.", - "Documentation.LongDescription": "Returns a datetime value set to the current date and time on the system. The returned value contains timezone information representing the local timezone. This value is fixed and will not change with successive calls, unlike DateTimeZone.LocalNow, which may return different values over the course of execution of an expression.", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [] - }, - "ReturnType": "datetimezone", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "DateTimeZone.FixedUtcNow", - "Documentation": { - "Documentation.Name": "DateTimeZone.FixedUtcNow", - "Documentation.Description": "Returns the current date and time in UTC (the GMT timezone). This value is fixed and will not change with successive calls.", - "Documentation.LongDescription": "Returns the current date and time in UTC (the GMT timezone). This value is fixed and will not change with successive calls.", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [] - }, - "ReturnType": "datetimezone", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "DateTimeZone.LocalNow", - "Documentation": { - "Documentation.Name": "DateTimeZone.LocalNow", - "Documentation.Description": "Returns the current date & time in the local timezone.", - "Documentation.LongDescription": "Returns a datetimezone value set to the current date and time on the system.\r\n The returned value contains timezone information representing the local timezone.", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [] - }, - "ReturnType": "datetimezone", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "DateTimeZone.UtcNow", - "Documentation": { - "Documentation.Name": "DateTimeZone.UtcNow", - "Documentation.Description": "Returns the current date and time in UTC (the GMT timezone).", - "Documentation.LongDescription": "Returns the current date and time in UTC (the GMT timezone).", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [ - { - "Description": "Get the current date & time in UTC.", - "Code": "DateTimeZone.UtcNow()", - "Result": "#datetimezone(2011, 8, 16, 23, 34, 37.745, 0, 0)" - } - ] - }, - "ReturnType": "datetimezone", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Diagnostics.ActivityId", - "Documentation": { - "Documentation.Name": "Diagnostics.ActivityId", - "Documentation.Description": "Returns an opaque identifier for the currently-running evaluation.", - "Documentation.LongDescription": "Returns an opaque identifier for the currently-running evaluation.", - "Documentation.Category": "Diagnostics", - "Documentation.Examples": [] - }, - "ReturnType": "text", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Diagnostics.Trace", - "Documentation": { - "Documentation.Name": "Diagnostics.Trace", - "Documentation.Description": "Writes a trace entry, if tracing is enabled, and returns the value.", - "Documentation.LongDescription": "Writes a trace message, if tracing is enabled, and returns value. An optional parameter delayed specifies whether to delay the evaluation of value until the message is traced. traceLevel can take one of the following values:\r\n TraceLevel.Critical\r\n TraceLevel.Error,\r\n TraceLevel.Warning,\r\n TraceLevel.Information,\r\n TraceLevel.Verbose.\r\n ", - "Documentation.Category": "Diagnostics", - "Documentation.Examples": [ - { - "Description": "Trace the message before invoking Text.From function and return the result.", - "Code": "Diagnostics.Trace(TraceLevel.Information, \"TextValueFromNumber\", () => Text.From(123), true)", - "Result": "\"123\"" - } - ] - }, - "ReturnType": "any", - "Parameters": { - "traceLevel": "number", - "message": "any", - "value": "any", - "delayed": "logical" - }, - "RequiredParameters": "3" - }, - { - "Name": "EntersoftBusinessSuite.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "FactSetAnalytics.AuthenticationCheck", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "HexagonSmartApi.ApplyUnitsOfMeasure", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "serviceRoot": "text", - "unitsOfMeasureTarget": "any", - "unitCategory": "text", - "fromUnit": "text", - "toUnit": "text", - "precision": "number" - }, - "RequiredParameters": "6" - }, - { - "Name": "HexagonSmartApi.ExecuteParametricFilterOnFilterUrl", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "url": "text", - "filterTarget": "text", - "parameterNames": "record", - "objectHierarchyNameInput": "text", - "objectHierarchyResourceIdsInput": "text", - "objectTypesInput": "text", - "queryExpressionInput": "text" - }, - "RequiredParameters": "3" - }, - { - "Name": "IdentityProvider.Default", - "Documentation": { - "Documentation.Name": "IdentityProvider.Default", - "Documentation.Description": "The default identity provider for the current host.", - "Documentation.LongDescription": "The default identity provider for the current host.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] - }, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "LinkedIn.SalesNavigatorAnalyticsImpl", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "contractName": "text", - "action": "text", - "startAt": "date", - "endAt": "date" - }, - "RequiredParameters": "4" - }, - { - "Name": "List.Accumulate", - "Documentation": { - "Documentation.Name": "List.Accumulate", - "Documentation.Description": "Accumulates a summary value from the items in the list.", - "Documentation.LongDescription": "Accumulates a summary value from the items in the list list, using accumulator.\r\n An optional seed parameter, seed, may be set.", - "Documentation.Category": "List.Transformation functions", - "Documentation.Examples": [ - { - "Description": "Accumulates the summary value from the items in the list {1, 2, 3, 4, 5} using ((state, current) => state + current ).", - "Code": "List.Accumulate({1, 2, 3, 4, 5}, 0, (state, current) => state + current)", - "Result": "15" - } - ] - }, - "ReturnType": "any", - "Parameters": { - "list": "list", - "seed": "any", - "accumulator": "function" - }, - "RequiredParameters": "3" - }, - { - "Name": "List.DateTimeZones", - "Documentation": { - "Documentation.Name": "List.DateTimeZones", - "Documentation.Description": "Generates a list of datetimezone values given an initial value, count, and incremental duration value.", - "Documentation.LongDescription": "Returns a list of datetimezone values of size count, starting at start. The given increment, step, is a duration value that is added to every value.", - "Documentation.Category": "List.Generators", - "Documentation.Examples": [ - { - "Description": "Create a list of 10 values starting from 5 minutes before New Year's Day (#datetimezone(2011, 12, 31, 23, 55, 0, -8, 0)) incrementing by 1 minute (#duration(0, 0, 1, 0)).", - "Code": "List.DateTimeZones(#datetimezone(2011, 12, 31, 23, 55, 0, -8, 0), 10, #duration(0, 0, 1, 0))", - "Result": "{\r\n #datetimezone(2011, 12, 31, 23, 55, 0, -8, 0),\r\n #datetimezone(2011, 12, 31, 23, 56, 0, -8, 0),\r\n #datetimezone(2011, 12, 31, 23, 57, 0, -8, 0),\r\n #datetimezone(2011, 12, 31, 23, 58, 0, -8, 0),\r\n #datetimezone(2011, 12, 31, 23, 59, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 0, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 1, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 2, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 3, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 4, 0, -8, 0)\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "start": "datetimezone", - "count": "number", - "step": "duration" - }, - "RequiredParameters": "3" - }, - { - "Name": "List.DateTimes", - "Documentation": { - "Documentation.Name": "List.DateTimes", - "Documentation.Description": "Generates a list of datetime values given an initial value, count, and incremental duration value.", - "Documentation.LongDescription": "Returns a list of datetime values of size count, starting at start. The given increment, step, is a duration value that is added to every value.", - "Documentation.Category": "List.Generators", - "Documentation.Examples": [ - { - "Description": "Create a list of 10 values starting from 5 minutes before New Year's Day (#datetime(2011, 12, 31, 23, 55, 0)) incrementing by 1 minute (#duration(0, 0, 1, 0)).", - "Code": "List.DateTimes(#datetime(2011, 12, 31, 23, 55, 0), 10, #duration(0, 0, 1, 0))", - "Result": "{\r\n #datetime(2011, 12, 31, 23, 55, 0),\r\n #datetime(2011, 12, 31, 23, 56, 0),\r\n #datetime(2011, 12, 31, 23, 57, 0),\r\n #datetime(2011, 12, 31, 23, 58, 0),\r\n #datetime(2011, 12, 31, 23, 59, 0),\r\n #datetime(2012, 1, 1, 0, 0, 0),\r\n #datetime(2012, 1, 1, 0, 1, 0),\r\n #datetime(2012, 1, 1, 0, 2, 0),\r\n #datetime(2012, 1, 1, 0, 3, 0),\r\n #datetime(2012, 1, 1, 0, 4, 0)\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "start": "datetime", - "count": "number", - "step": "duration" - }, - "RequiredParameters": "3" - }, - { - "Name": "List.Dates", - "Documentation": { - "Documentation.Name": "List.Dates", - "Documentation.Description": "Generates a list of date values given an initial value, count, and incremental duration value.", - "Documentation.LongDescription": "Returns a list of date values of size count, starting at start. The given increment, step, is a duration value that is added to every value.", - "Documentation.Category": "List.Generators", - "Documentation.Examples": [ - { - "Description": "Create a list of 5 values starting from New Year's Eve (#date(2011, 12, 31)) incrementing by 1 day(#duration(1, 0, 0, 0)).", - "Code": "List.Dates(#date(2011, 12, 31), 5, #duration(1, 0, 0, 0))", - "Result": "{\r\n #date(2011, 12, 31),\r\n #date(2012, 1, 1),\r\n #date(2012, 1, 2),\r\n #date(2012, 1, 3),\r\n #date(2012, 1, 4)\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "start": "date", - "count": "number", - "step": "duration" - }, - "RequiredParameters": "3" - }, - { - "Name": "List.Durations", - "Documentation": { - "Documentation.Name": "List.Durations", - "Documentation.Description": "Generates a list of duration values given an initial value, count, and incremental duration value.", - "Documentation.LongDescription": "Returns a list of count duration values, starting at start and incremented by the given duration step.", - "Documentation.Category": "List.Generators", - "Documentation.Examples": [ - { - "Description": "Create a list of 5 values starting with 1 hour and incrementing by an hour.", - "Code": "List.Durations(#duration(0, 1, 0, 0), 5, #duration(0, 1, 0, 0))", - "Result": "{\r\n #duration(0, 1, 0, 0),\r\n #duration(0, 2, 0, 0),\r\n #duration(0, 3, 0, 0),\r\n #duration(0, 4, 0, 0),\r\n #duration(0, 5, 0, 0)\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "start": "duration", - "count": "number", - "step": "duration" - }, - "RequiredParameters": "3" - }, - { - "Name": "List.Generate", - "Documentation": { - "Documentation.Name": "List.Generate", - "Documentation.Description": "Generates a list of values.", - "Documentation.LongDescription": "Generates a list of values using the provided functions. The initial function generates a starting candidate value, which is then tested against condition.\r\n If the candidate value is approved, then it's returned as part of the resulting list, and the next candidate value is generated by passing the newly approved value to next.\r\n Once a candidate value fails to match condition, the list generation process stops.\r\n An optional parameter, selector, may also be provided to transform the items in the resulting list.", - "Documentation.Category": "List.Generators", - "Documentation.Examples": [ - { - "Description": "Create a list by starting at ten, repeatedly decrementing by one, and ensuring each item is greater than zero.", - "Code": "List.Generate(() => 10, each _ > 0, each _ - 1)", - "Result": "{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}" - }, - { - "Description": "Generate a list of records containing x and y, where x is a value and y is a list. x should remain less than 10 and represent the number of items in the list y. After the list is generated, return only the x values.", - "Code": "List.Generate(\r\n () => [x = 1, y = {}],\r\n each [x] < 10,\r\n each [x = List.Count([y]), y = [y] & {x}],\r\n each [x]\r\n)", - "Result": "{1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "initial": "function", - "condition": "function", - "next": "function", - "selector": "function" - }, - "RequiredParameters": "3" - }, - { - "Name": "List.InsertRange", - "Documentation": { - "Documentation.Name": "List.InsertRange", - "Documentation.Description": "Inserts values into a list at the given index.", - "Documentation.LongDescription": "Returns a new list produced by inserting the values in values into list at index. The first position in the list is at index 0.\r\n ", - "Documentation.Category": "List.Selection", - "Documentation.Examples": [ - { - "Description": "Insert the list ({3, 4}) into the target list ({1, 2, 5}) at index 2.", - "Code": "List.InsertRange({1, 2, 5}, 2, {3, 4})", - "Result": "{\r\n 1,\r\n 2,\r\n 3,\r\n 4,\r\n 5\r\n}" - }, - { - "Description": "Insert a list with a nested list ({1, {1.1, 1.2}}) into a target list ({2, 3, 4}) at index 0.", - "Code": "List.InsertRange({2, 3, 4}, 0, {1, {1.1, 1.2}})", - "Result": "{\r\n 1,\r\n {\r\n 1.1,\r\n 1.2\r\n },\r\n 2,\r\n 3,\r\n 4\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "list": "list", - "index": "number", - "values": "list" - }, - "RequiredParameters": "3" - }, - { - "Name": "List.ReplaceRange", - "Documentation": { - "Documentation.Name": "List.ReplaceRange", - "Documentation.Description": "Replaces count number of values starting at position with the replacement values.", - "Documentation.LongDescription": "Replaces count values in the list with the list replaceWith, starting at specified position, index.", - "Documentation.Category": "List.Transformation functions", - "Documentation.Examples": [ - { - "Description": "Replace {7, 8, 9} in the list {1, 2, 7, 8, 9, 5} with {3, 4}.", - "Code": "List.ReplaceRange({1, 2, 7, 8, 9, 5}, 2, 3, {3, 4})", - "Result": "{1, 2, 3, 4, 5}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "list": "list", - "index": "number", - "count": "number", - "replaceWith": "list" - }, - "RequiredParameters": "4" - }, - { - "Name": "List.ReplaceValue", - "Documentation": { - "Documentation.Name": "List.ReplaceValue", - "Documentation.Description": "Searches a list for the specified value and replaces it.", - "Documentation.LongDescription": "Searches a list of values, list, for the value oldValue and replaces each occurrence with the replacement value newValue.", - "Documentation.Category": "List.Transformation functions", - "Documentation.Examples": [ - { - "Description": "Replace all the \"a\" values in the list {\"a\", \"B\", \"a\", \"a\"} with \"A\".", - "Code": "List.ReplaceValue({\"a\", \"B\", \"a\", \"a\"}, \"a\", \"A\", Replacer.ReplaceText)", - "Result": "{\"A\", \"B\", \"A\", \"A\"}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "list": "list", - "oldValue": "any", - "newValue": "any", - "replacer": "function" - }, - "RequiredParameters": "4" - }, - { - "Name": "List.Times", - "Documentation": { - "Documentation.Name": "List.Times", - "Documentation.Description": "Generates a list of time values given an initial value, count, and incremental duration value.", - "Documentation.LongDescription": "Returns a list of time values of size count, starting at start. The given increment, step, is a duration value that is added to every value.", - "Documentation.Category": "List.Generators", - "Documentation.Examples": [ - { - "Description": "Create a list of 4 values starting from noon (#time(12, 0, 0)) incrementing by one hour (#duration(0, 1, 0, 0)).", - "Code": "List.Times(#time(12, 0, 0), 4, #duration(0, 1, 0, 0))", - "Result": "{\r\n #time(12, 0, 0),\r\n #time(13, 0, 0),\r\n #time(14, 0, 0),\r\n #time(15, 0, 0)\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "start": "time", - "count": "number", - "step": "duration" - }, - "RequiredParameters": "3" - }, - { - "Name": "List.TransformMany", - "Documentation": { - "Documentation.Name": "List.TransformMany", - "Documentation.Description": "Returns a list whose elements are transformed from the input list using specified functions.", - "Documentation.LongDescription": "Returns a list whose elements are projected from the input list.
\r\n
\r\n The collectionTransform function transforms each element into an intermediate list, and the resultTransform function receives the original element as well as an item from the intermediate list in order to construct the final result.
\r\n
\r\n The collectionTransform function has the signature (x as any) as list => ..., where x is an element in list.\r\n The resultTransform function projects the shape of the result and has the signature (x as any, y as any) as any => ..., where x is an element in list and y is an element from the list generated by passing x to collectionTransform.", - "Documentation.Category": "List.Transformation functions", - "Documentation.Examples": [ - { - "Description": "Flatten a list of people and their pets.", - "Code": "List.TransformMany(\r\n {\r\n [Name = \"Alice\", Pets = {\"Scruffy\", \"Sam\"}],\r\n [Name = \"Bob\", Pets = {\"Walker\"}]\r\n },\r\n each [Pets],\r\n (person, pet) => [Name = person[Name], Pet = pet]\r\n)", - "Result": "{\r\n [Name = \"Alice\", Pet = \"Scruffy\"],\r\n [Name = \"Alice\", Pet = \"Sam\"],\r\n [Name = \"Bob\", Pet = \"Walker\"]\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "list": "list", - "collectionTransform": "function", - "resultTransform": "function" - }, - "RequiredParameters": "3" - }, - { - "Name": "Mixpanel.Funnels", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Mixpanel.Segmentation", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "event": "text", - "fromDate": "text", - "toDate": "text", - "whereClause": "text", - "unit": "text", - "interval": "number", - "countType": "text", - "onProperty": "text", - "limit": "number", - "where": "text" - }, - "RequiredParameters": "3" - }, - { - "Name": "Mixpanel.Tables", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Number.Random", - "Documentation": { - "Documentation.Name": "Number.Random", - "Documentation.Description": "Returns a random number.", - "Documentation.LongDescription": "Returns a random number between 0 and 1.", - "Documentation.Category": "Number.Random", - "Documentation.Examples": [ - { - "Description": "Get a random number.", - "Code": "Number.Random()", - "Result": "0.919303" - } - ] - }, - "ReturnType": "number", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Progress.DataSourceProgress", - "Documentation": { - "Documentation.Name": "Progress.DataSourceProgress", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Values.Implementation", - "Documentation.Examples": [] - }, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "QuickBooks.Tables", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Record.AddField", - "Documentation": { - "Documentation.Name": "Record.AddField", - "Documentation.Description": "Adds a field to a record.", - "Documentation.LongDescription": "Adds a field to a record record, given the name of the field fieldName and the value value.", - "Documentation.Category": "Record.Transformations", - "Documentation.Examples": [ - { - "Description": "Add the field Address to the record.", - "Code": "Record.AddField([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"], \"Address\", \"123 Main St.\")", - "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Address = \"123 Main St.\"]" - } - ] - }, - "ReturnType": "record", - "Parameters": { - "record": "record", - "fieldName": "text", - "value": "any", - "delayed": "logical" - }, - "RequiredParameters": "3" - }, - { - "Name": "Replacer.ReplaceText", - "Documentation": { - "Documentation.Name": "Replacer.ReplaceText", - "Documentation.Description": "Replaces text within the provided input.", - "Documentation.LongDescription": "Replaces the old text in the original text with the new text. This replacer function can be used in List.ReplaceValue and Table.ReplaceValue.", - "Documentation.Category": "Replacer", - "Documentation.Examples": [ - { - "Description": "Replace the text \"hE\" with \"He\" in the string \"hEllo world\".", - "Code": "Replacer.ReplaceText(\"hEllo world\", \"hE\", \"He\")", - "Result": "\"Hello world\"" - } - ] - }, - "ReturnType": "text", - "Parameters": { - "text": "text", - "old": "text", - "new": "text" - }, - "RequiredParameters": "3" - }, - { - "Name": "Replacer.ReplaceValue", - "Documentation": { - "Documentation.Name": "Replacer.ReplaceValue", - "Documentation.Description": "Replaces values within the provided input.", - "Documentation.LongDescription": "Replaces the old value in the original value with the new value. This replacer function can be used in List.ReplaceValue and Table.ReplaceValue.", - "Documentation.Category": "Replacer", - "Documentation.Examples": [ - { - "Description": "Replace the value 11 with the value 10.", - "Code": "Replacer.ReplaceValue(11, 11, 10)", - "Result": "10" - } - ] - }, - "ReturnType": "any", - "Parameters": { - "value": "any", - "old": "any", - "new": "any" - }, - "RequiredParameters": "3" - }, - { - "Name": "Roamler.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Smartsheet.Query", - "Documentation": { - "Documentation.Description": "Returns a JSON result from the Smartsheet API", - "Documentation.DisplayName": "Smartsheet.Query", - "Documentation.Caption": "Smartsheet.Query", - "Documentation.Name": "Smartsheet.Query", - "Documentation.LongDescription": "Makes a call to the Smartsheet 2.0 REST API at the specified endpoint and returns results as a JSON record.", - "Documentation.Examples": [ - { - "Description": "Pulls data from the sheets Smartsheet API endpoint with additional arguments specified", - "Code": "Smartsheet.Content(\"sheets\", \"include=ownerInfo&includeAll=true\", [])", - "Result": "A table with sheets information as returned by the Smartsheet API" - } - ] - }, - "ReturnType": "any", - "Parameters": { - "endpoint": "text", - "args": "text", - "headers": "record" - }, - "RequiredParameters": "3" - }, - { - "Name": "SolarWindsServiceDesk.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "SolarWindsServiceDesk.TestContents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Splitter.SplitByNothing", - "Documentation": { - "Documentation.Name": "Splitter.SplitByNothing", - "Documentation.Description": "Returns a function that does no splitting, returning its argument as a single element list.", - "Documentation.LongDescription": "Returns a function that does no splitting, returning its argument as a single element list.", - "Documentation.Category": "Splitter", - "Documentation.Examples": [] - }, - "ReturnType": "function", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Splitter.SplitTextByWhitespace", - "Documentation": { - "Documentation.Name": "Splitter.SplitTextByWhitespace", - "Documentation.Description": "Returns a function that splits text into a list of text at whitespace.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text at whitespace.", - "Documentation.Category": "Splitter", - "Documentation.Examples": [ - { - "Description": "Split the input by whitespace characters, treating quotes like any other character.", - "Code": "Splitter.SplitTextByWhitespace(QuoteStyle.None)(\"a b#(tab)c\")", - "Result": "{\"a\", \"b\", \"c\"}" - } - ] - }, - "ReturnType": "function", - "Parameters": { - "quoteStyle": "QuoteStyle.Type" - }, - "RequiredParameters": "0" - }, - { - "Name": "SweetIQ.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "clientId": "text", - "path": "text", - "optionalParameter": "text" - }, - "RequiredParameters": "0" - }, - { - "Name": "SweetIQ.Tables", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Table.Partition", - "Documentation": { - "Documentation.Name": "Table.Partition", - "Documentation.Description": "Partitions the table into a list of tables based on the number of groups and column specified.", - "Documentation.LongDescription": "Partitions the table into a list of groups number of tables, based on the value of the column and a hash function.\r\n The hash function is applied to the value of the column row to obtain a hash value for the row. The hash value modulo groups determines in which of the returned tables the row will be placed.\r\n \r\n ", - "Documentation.Category": "Table.Row operations", - "Documentation.Examples": [ - { - "Description": "Partition the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}) into 2 tables on column [a], using the value of the columns as the hash function.", - "Code": "Table.Partition(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n \"a\",\r\n 2,\r\n each _\r\n)", - "Result": "{\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 2, b = 4]\r\n }),\r\n Table.FromRecords({\r\n [a = 1, b = 4],\r\n [a = 1, b = 4]\r\n })\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "table": "table", - "column": "text", - "groups": "number", - "hash": "function" - }, - "RequiredParameters": "4" - }, - { - "Name": "Text.BetweenDelimiters", - "Documentation": { - "Documentation.Name": "Text.BetweenDelimiters", - "Documentation.Description": "Text.BetweenDelimiters", - "Documentation.LongDescription": "Returns the portion of text between the specified startDelimiter and endDelimiter.\r\n An optional numeric startIndex indicates which occurrence of the startDelimiter should be considered.\r\n An optional list startIndex indicates which occurrence of the startDelimiter should be considered, as well as whether indexing should be done from the start or end of the input.\r\n The endIndex is similar, except that indexing is done relative to the startIndex.", - "Documentation.Category": "Text.Transformations", - "Documentation.Examples": [ - { - "Description": "Get the portion of \"111 (222) 333 (444)\" between the (first) open parenthesis and the (first) closed parenthesis that follows it.", - "Code": "Text.BetweenDelimiters(\"111 (222) 333 (444)\", \"(\", \")\")", - "Result": "\"222\"" - }, - { - "Description": "Get the portion of \"111 (222) 333 (444)\" between the second open parenthesis and the first closed parenthesis that follows it.", - "Code": "Text.BetweenDelimiters(\"111 (222) 333 (444)\", \"(\", \")\", 1, 0)", - "Result": "\"444\"" - }, - { - "Description": "Get the portion of \"111 (222) 333 (444)\" between the second open parenthesis from the end and the second closed parenthesis that follows it.", - "Code": "Text.BetweenDelimiters(\"111 (222) 333 (444)\", \"(\", \")\", {1, RelativePosition.FromEnd}, {1, RelativePosition.FromStart})", - "Result": "\"222) 333 (444\"" - } - ] - }, - "ReturnType": "any", - "Parameters": { - "text": "text", - "startDelimiter": "text", - "endDelimiter": "text", - "startIndex": "any", - "endIndex": "any" - }, - "RequiredParameters": "3" - }, - { - "Name": "Text.Insert", - "Documentation": { - "Documentation.Name": "Text.Insert", - "Documentation.Description": "Inserts one text value into another at a given position.", - "Documentation.LongDescription": "Returns the result of inserting text value newText into the text value text at position offset. Positions start at number 0.", - "Documentation.Category": "Text.Modification", - "Documentation.Examples": [ - { - "Description": "Insert \"C\" between \"B\" and \"D\" in \"ABD\".", - "Code": "Text.Insert(\"ABD\", 2, \"C\")", - "Result": "\"ABCD\"" - } - ] - }, - "ReturnType": "text", - "Parameters": { - "text": "text", - "offset": "number", - "newText": "text" - }, - "RequiredParameters": "3" - }, - { - "Name": "Text.NewGuid", - "Documentation": { - "Documentation.Name": "Text.NewGuid", - "Documentation.Description": "Returns a new, random globally unique identifier (GUID).", - "Documentation.LongDescription": "Returns a new, random globally unique identifier (GUID).", - "Documentation.Category": "Text.Conversions from and to text", - "Documentation.Examples": [] - }, - "ReturnType": "text", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Text.Replace", - "Documentation": { - "Documentation.Name": "Text.Replace", - "Documentation.Description": "Replaces all occurrences of the given substring in the text.", - "Documentation.LongDescription": "Returns the result of replacing all occurrences of text value old in text value text with text value new. This function is case sensitive.", - "Documentation.Category": "Text.Modification", - "Documentation.Examples": [ - { - "Description": "Replace every occurrence of \"the\" in a sentence with \"a\".", - "Code": "Text.Replace(\"the quick brown fox jumps over the lazy dog\", \"the\", \"a\")", - "Result": "\"a quick brown fox jumps over a lazy dog\"" - } - ] - }, - "ReturnType": "text", - "Parameters": { - "text": "text", - "old": "text", - "new": "text" - }, - "RequiredParameters": "3" - }, - { - "Name": "Text.ReplaceRange", - "Documentation": { - "Documentation.Name": "Text.ReplaceRange", - "Documentation.Description": "Removes a range of characters and inserts a new value at a specified position.", - "Documentation.LongDescription": "Returns the result of removing a number of characters, count, from text value text beginning at position offset and then inserting the text value newText at the same position in text.", - "Documentation.Category": "Text.Modification", - "Documentation.Examples": [ - { - "Description": "Replace a single character at position 2 in text value \"ABGF\" with new text value \"CDE\".", - "Code": "Text.ReplaceRange(\"ABGF\", 2, 1, \"CDE\")", - "Result": "\"ABCDEF\"" - } - ] - }, - "ReturnType": "text", - "Parameters": { - "text": "text", - "offset": "number", - "count": "number", - "newText": "text" - }, - "RequiredParameters": "4" - }, - { - "Name": "Type.AddTableKey", - "Documentation": { - "Documentation.Name": "Type.AddTableKey", - "Documentation.Description": "Adds a key to the given table type.", - "Documentation.LongDescription": "Adds a key to the given table type.", - "Documentation.Category": "Type", - "Documentation.Examples": [] - }, - "ReturnType": "type", - "Parameters": { - "table": "type", - "columns": "list", - "isPrimary": "logical" - }, - "RequiredParameters": "3" - }, - { - "Name": "VesselInsight.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "Webtrends.Profile", - "Documentation": {}, - "ReturnType": "any", - "Parameters": {}, - "RequiredParameters": "0" - }, - { - "Name": "WorkforceDimensions.Contents", - "Documentation": { - "Documentation.Name": "Workforce Dimensions Connector Configuration", - "Documentation.LongDescription": "Configuration to access OAuth server as well as default date range settigns." - }, - "ReturnType": "text", - "Parameters": { - "configurationServer": "text", - "workForceDimensionsServer": "text", - "symbolicPeriod": "text", - "startDate": "date", - "endDate": "date" - }, - "RequiredParameters": "3" - }, - { - "Name": "ZohoCreator.Contents", - "Documentation": { - "Documentation.Name": "Zoho Creator", - "Documentation.LongDescription": "This connector will fetch data only from Zoho Creator application reports", - "Documentation.Examples": [ - { - "Description": "To fetches data from US account, scope 'jack', application 'task-management', report 'Task_Details'", - "Code": "ZohoCreator.Contents(\"zoho.com\", \"jack\", \"zylker-management\", \"Employee_Details\")", - "Result": "#table({\"Column1\"}, {{\"Column2\"}, {\"Column3\"}})" - } - ] - }, - "ReturnType": "any", - "Parameters": { - "creatordomain": "text", - "scopname": "text", - "applinkname": "text", - "reportlinkname": "text" - }, - "RequiredParameters": "4" - }, - { - "Name": "AI.ExecuteInProc", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "methodName": "text", - "params": "record" - }, - "RequiredParameters": "2" - }, - { - "Name": "AI.ExternalSort", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "data": "table", - "sortColumnName": "text", - "maxBufferRows": "number" - }, - "RequiredParameters": "2" - }, - { - "Name": "AccessControlEntry.ConditionToIdentities", - "Documentation": { - "Documentation.Name": "AccessControlEntry.ConditionToIdentities", - "Documentation.Description": "Returns a list of identities that the condition will accept.", - "Documentation.LongDescription": "

Using the specified identityProvider, converts the condition into the list of identities for which condition would return true in all authorization contexts with identityProvider as the identity provider. An error is raised if it is not possible to convert condition into a list of identities, for example if condition consults attributes other than user or group identities to make a decision.

\r\n

Note that the list of identities represents the identities as they appear in condition and no normalization (such as group expansion) is performed on them.

\r\n", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] - }, - "ReturnType": "list", - "Parameters": { - "identityProvider": "function", - "condition": "function" - }, - "RequiredParameters": "2" - }, - { - "Name": "Actian.Contents", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "server": "text", - "database": "text" - }, - "RequiredParameters": "2" - }, - { - "Name": "Binary.Compress", - "Documentation": { - "Documentation.Name": "Binary.Compress", - "Documentation.Description": "Compresses a binary value using the given compression type.", - "Documentation.LongDescription": "Compresses a binary value using the given compression type. The result of this call is a compressed copy of the input. Compression types include:\r\n ", - "Documentation.Category": "Binary", - "Documentation.Examples": [ - { - "Description": "Compress the binary value.", - "Code": "Binary.Compress(Binary.FromList(List.Repeat({10}, 1000)), Compression.Deflate)", - "Result": "#binary({227, 226, 26, 5, 163, 96, 20, 12, 119, 0, 0})" - } - ] - }, - "ReturnType": "binary", - "Parameters": { - "binary": "binary", - "compressionType": "Compression.Type" - }, - "RequiredParameters": "2" - }, - { - "Name": "Binary.Decompress", - "Documentation": { - "Documentation.Name": "Binary.Decompress", - "Documentation.Description": "Decompresses a binary value using the given compression type.", - "Documentation.LongDescription": "Decompresses a binary value using the given compression type. The result of this call is a decompressed copy of the input. Compression types include:\r\n ", - "Documentation.Category": "Binary", - "Documentation.Examples": [ - { - "Description": "Decompress the binary value.", - "Code": "Binary.Decompress(#binary({115, 103, 200, 7, 194, 20, 134, 36, 134, 74, 134, 84, 6, 0}), Compression.Deflate)", - "Result": "#binary({71, 0, 111, 0, 111, 0, 100, 0, 98, 0, 121, 0, 101, 0})" - } - ] - }, - "ReturnType": "binary", - "Parameters": { - "binary": "binary", - "compressionType": "Compression.Type" - }, - "RequiredParameters": "2" - }, - { - "Name": "Binary.Range", - "Documentation": { - "Documentation.Name": "Binary.Range", - "Documentation.Description": "Returns a subset of the binary value beginning at an offset.", - "Documentation.LongDescription": "Returns a subset of the binary value beginning at the offset binary. An optional parameter, offset, sets the maximum length of the subset.", - "Documentation.Category": "Binary", - "Documentation.Examples": [ - { - "Description": "Returns a subset of the binary value starting at offset 6.", - "Code": "Binary.Range(#binary({0..10}), 6)", - "Result": "#binary({6, 7, 8, 9, 10})" - }, - { - "Description": "Returns a subset of length 2 from offset 6 of the binary value.", - "Code": "Binary.Range(#binary({0..10}), 6, 2)", - "Result": "#binary({6, 7})" - } - ] - }, - "ReturnType": "binary", - "Parameters": { - "binary": "binary", - "offset": "number", - "count": "number" - }, - "RequiredParameters": "2" - }, - { - "Name": "Binary.Split", - "Documentation": { - "Documentation.Name": "Binary.Split", - "Documentation.Description": "Splits the specified binary into a list of binaries using the specified page size.", - "Documentation.LongDescription": "Splits binary into a list of binaries where the first element of the output list is a binary containing the first pageSize bytes from\r\n the source binary, the next element of the output list is a binary containing the next pageSize bytes from the source binary, and so on.", - "Documentation.Category": "Binary", - "Documentation.Examples": [] - }, - "ReturnType": "list", - "Parameters": { - "binary": "binary", - "pageSize": "number" - }, - "RequiredParameters": "2" - }, - { - "Name": "Binary.View", - "Documentation": { - "Documentation.Name": "Binary.View", - "Documentation.Description": "Creates or extends a binary with user-defined handlers for query and action operations.", - "Documentation.LongDescription": "

Returns a view of binary where the functions specified in handlers are used in lieu of the default behavior of an operation when the operation is applied to the view.

\r\n

If binary is provided, all handler functions are optional. If binary isn't provided, the GetStream handler function is required. If a handler function isn't specified for an operation, the default behavior of the operation is applied to binary instead (except in the case of GetExpression).

\r\n

Handler functions must return a value that is semantically equivalent to the result of applying the operation against binary (or the resulting view in the case of GetExpression).

\r\n

If a handler function raises an error, the default behavior of the operation is applied to the view.

\r\n

Binary.View can be used to implement folding to a data source – the translation of M queries into source-specific operations (for example, to download a section of a file).

\r\n

Refer to the published Power Query custom connector documentation for a more complete description of Binary.View.

", - "Documentation.Category": "Binary", - "Documentation.Examples": [ - { - "Description": "Create a basic view that doesn't require accessing the data in order to determine the length.", - "Code": "Binary.View(\r\n null,\r\n [\r\n GetLength = () => 12,\r\n GetStream = () => Text.ToBinary(\"hello world!\")\r\n ]\r\n)", - "Result": "Text.ToBinary(\"hello world!\")" - } - ] - }, - "ReturnType": "binary", - "Parameters": { - "binary": "binary", - "handlers": "record" - }, - "RequiredParameters": "2" - }, - { - "Name": "BinaryFormat.ByteOrder", - "Documentation": { - "Documentation.Name": "BinaryFormat.ByteOrder", - "Documentation.Description": "Returns a binary format with the byte order specified by a function.", - "Documentation.LongDescription": "Returns a binary format with the byte order specified by binaryFormat. The default byte order is ByteOrder.BigEndian.", - "Documentation.Category": "Binary Formats.Controlling byte order", - "Documentation.Examples": [] - }, - "ReturnType": "function", - "Parameters": { - "binaryFormat": "function", - "byteOrder": "ByteOrder.Type" - }, - "RequiredParameters": "2" - }, - { - "Name": "BinaryFormat.Choice", - "Documentation": { - "Documentation.Name": "BinaryFormat.Choice", - "Documentation.Description": "Returns a binary format that chooses the next binary format based on a value that has already been read.", - "Documentation.LongDescription": "Returns a binary format that chooses the next binary format based on a value that has already been read. The binary format value produced by this function works in stages:The optional type parameter indicates the type of binary format that will be returned by the choice function. Either type any, type list, or type binary may be specified. If the type parameter is not specified, then type any is used. If type list or type binary is used, then the system may be able to return a streaming binary or list value instead of a buffered one, which may reduce the amount of memory necessary to read the format.", - "Documentation.Category": "Binary Formats.Controlling what comes next", - "Documentation.Examples": [ - { - "Description": "Read a list of bytes where the number of elements is determined by the first byte.", - "Code": "let\r\n binaryData = #binary({2, 3, 4, 5}),\r\n listFormat = BinaryFormat.Choice(\r\n BinaryFormat.Byte,\r\n (length) => BinaryFormat.List(BinaryFormat.Byte, length)\r\n )\r\nin\r\n listFormat(binaryData)", - "Result": "{3, 4}" - }, - { - "Description": "Read a list of bytes where the number of elements is determined by the first byte, and preserve the first byte read.", - "Code": "let\r\n binaryData = #binary({2, 3, 4, 5}),\r\n listFormat = BinaryFormat.Choice(\r\n BinaryFormat.Byte,\r\n (length) => BinaryFormat.Record([\r\n length = length,\r\n list = BinaryFormat.List(BinaryFormat.Byte, length)\r\n ])\r\n )\r\nin\r\n listFormat(binaryData)", - "Result": "[length = 2, list = {3, 4}]" - }, - { - "Description": "Read a list of bytes where the number of elements is determined by the first byte using a streaming list.", - "Code": "let\r\n binaryData = #binary({2, 3, 4, 5}),\r\n listFormat = BinaryFormat.Choice(\r\n BinaryFormat.Byte,\r\n (length) => BinaryFormat.List(BinaryFormat.Byte, length),\r\n type list\r\n )\r\nin\r\n listFormat(binaryData)", - "Result": "{3, 4}" - } - ] - }, - "ReturnType": "function", - "Parameters": { - "binaryFormat": "function", - "chooseFunction": "function", - "type": "type", - "combineFunction": "function" - }, - "RequiredParameters": "2" - }, - { - "Name": "BinaryFormat.Group", - "Documentation": { - "Documentation.Name": "BinaryFormat.Group", - "Documentation.Description": "Returns a binary format that reads a group of items.", - "Documentation.LongDescription": "The parameters are as follows:\r\n\r\nThe group parameter specifies a list of item definitions. Each item definition is a list, containing 3-5 values, as follows:\r\n", - "Documentation.Category": "Binary Formats.Reading a group of items", - "Documentation.Examples": [ - { - "Description": "The following assumes a key value that is a single byte, with 4 expected items in the group, all of which have a byte of data following the key. The items appear in the input as follows:\r\n", - "Code": "let\r\n b = #binary({\r\n 1, 11,\r\n 2, 22,\r\n 2, 22,\r\n 5, 55,\r\n 1, 11\r\n }),\r\n f = BinaryFormat.Group(\r\n BinaryFormat.Byte,\r\n {\r\n {1, BinaryFormat.Byte, BinaryOccurrence.Required},\r\n {2, BinaryFormat.Byte, BinaryOccurrence.Repeating},\r\n {3, BinaryFormat.Byte, BinaryOccurrence.Optional},\r\n {4, BinaryFormat.Byte, BinaryOccurrence.Repeating}\r\n },\r\n (extra) => BinaryFormat.Byte\r\n )\r\nin\r\n f(b)", - "Result": "{11, {22, 22}, null, {}}" - }, - { - "Description": "The following example illustrates the item value transform and default item value. The repeating item with key 1 sums the list of values read using List.Sum. The optional item with key 2 has a default value of 123 instead of null.", - "Code": "let\r\n b = #binary({\r\n 1, 101,\r\n 1, 102\r\n }),\r\n f = BinaryFormat.Group(\r\n BinaryFormat.Byte,\r\n {\r\n {1, BinaryFormat.Byte, BinaryOccurrence.Repeating,\r\n 0, (list) => List.Sum(list)},\r\n {2, BinaryFormat.Byte, BinaryOccurrence.Optional, 123}\r\n }\r\n )\r\nin\r\n f(b)", - "Result": "{203, 123}" - } - ] - }, - "ReturnType": "function", - "Parameters": { - "binaryFormat": "function", - "group": "list", - "extra": "function", - "lastKey": "any" - }, - "RequiredParameters": "2" - }, - { - "Name": "BinaryFormat.Length", + "Name": "List.First", "Documentation": { - "Documentation.Name": "BinaryFormat.Length", - "Documentation.Description": "Returns a binary format that limits the amount of data that can be read.", - "Documentation.LongDescription": "Returns a binary format that limits the amount of data that can be read. Both BinaryFormat.List and BinaryFormat.Binary can be used to read until end of the data. BinaryFormat.Length can be used to limit the number of bytes that are read. The binaryFormat parameter specifes the binary format to limit. The length parameter specifies the number of bytes to read. The length parameter may either be a number value, or a binary format value that specifies the format of the length value that appears that precedes the value being read.", - "Documentation.Category": "Binary Formats.Limiting input", + "Documentation.Name": "List.First", + "Documentation.Description": "Returns the first value of the list or the specified default if empty.", + "Documentation.LongDescription": "Returns the first item in the list list, or the optional default value, defaultValue, if the list is empty.\r\n If the list is empty and a default value is not specified, the function returns null.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Limit the number of bytes read to 2 when reading a list of bytes.", - "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.Length(\r\n BinaryFormat.List(BinaryFormat.Byte),\r\n 2\r\n )\r\nin\r\n listFormat(binaryData)", - "Result": "{1, 2}" + "Description": "Find the first value in the list {1, 2, 3}.", + "Code": "List.First({1, 2, 3})", + "Result": "1" }, { - "Description": "Limit the number of byte read when reading a list of bytes to the byte value preceding the list.", - "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.Length(\r\n BinaryFormat.List(BinaryFormat.Byte),\r\n BinaryFormat.Byte\r\n )\r\nin\r\n listFormat(binaryData)", - "Result": "{2}" - } - ] - }, - "ReturnType": "function", - "Parameters": { - "binaryFormat": "function", - "length": "any" - }, - "RequiredParameters": "2" - }, - { - "Name": "BinaryFormat.Transform", - "Documentation": { - "Documentation.Name": "BinaryFormat.Transform", - "Documentation.Description": "Returns a binary format that will transform the values read by another binary format.", - "Documentation.LongDescription": "Returns a binary format that will transform the values read by another binary format. The binaryFormat parameter specifies the binary format that will be used to read the value. The function is invoked with the value read, and returns the transformed value.", - "Documentation.Category": "Binary Formats.Transforming what was read", - "Documentation.Examples": [ - { - "Description": "Read a byte and add one to it.", - "Code": "let\r\n binaryData = #binary({1}),\r\n transformFormat = BinaryFormat.Transform(\r\n BinaryFormat.Byte,\r\n (x) => x + 1\r\n )\r\nin\r\n transformFormat(binaryData)", - "Result": "2" + "Description": "Find the first value in the list {}. If the list is empty, return -1.", + "Code": "List.First({}, -1)", + "Result": "-1" } ] }, - "ReturnType": "function", + "ReturnType": "any", "Parameters": { - "binaryFormat": "function", - "function": "function" + "list": "list", + "defaultValue": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Comparer.Ordinal", + "Name": "List.Intersect", "Documentation": { - "Documentation.Name": "Comparer.Ordinal", - "Documentation.Description": "Returns a comparer function which uses Ordinal rules to compare values.", - "Documentation.LongDescription": "Returns a comparer function which uses Ordinal rules to compare the provided values x and y.
\r\n
\r\n A comparer function accepts two arguments and returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.\r\n ", - "Documentation.Category": "Comparer", + "Documentation.Name": "List.Intersect", + "Documentation.Description": "Returns the intersection of the list values found in the input.", + "Documentation.LongDescription": "Returns the intersection of the list values found in the input list lists. An optional parameter, equationCriteria, can be specified.", + "Documentation.Category": "List.Set operations", "Documentation.Examples": [ { - "Description": "Using Ordinal rules, compare if \"encyclopædia\" and \"encyclopaedia\" are equivalent. Note these are equivalent using Comparer.FromCulture(\"en-US\"). ", - "Code": "Comparer.Equals(Comparer.Ordinal, \"encyclopædia\", \"encyclopaedia\")", - "Result": "false" + "Description": "Find the intersection of the lists {1..5}, {2..6}, {3..7}.", + "Code": "List.Intersect({{1..5}, {2..6}, {3..7}})", + "Result": "{3, 4, 5}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "x": "any", - "y": "any" + "lists": "list", + "equationCriteria": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Comparer.OrdinalIgnoreCase", + "Name": "List.IsDistinct", "Documentation": { - "Documentation.Name": "Comparer.OrdinalIgnoreCase", - "Documentation.Description": "Returns a case-insensitive comparer function which uses Ordinal rules to compare values.", - "Documentation.LongDescription": "Returns a case-insensitive comparer function which uses Ordinal rules to compare the provided values x and y.
\r\n
\r\n A comparer function accepts two arguments and returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.\r\n ", - "Documentation.Category": "Comparer", + "Documentation.Name": "List.IsDistinct", + "Documentation.Description": "Indicates whether there are duplicates in the list.", + "Documentation.LongDescription": "Returns a logical value whether there are duplicates in the list list; true if the list is distinct, false if there are duplicate values. ", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Using case-insensitive Ordinal rules, compare \"Abc\" with \"abc\". Note \"Abc\" is less than \"abc\" using Comparer.Ordinal. ", - "Code": "Comparer.OrdinalIgnoreCase(\"Abc\", \"abc\")", - "Result": "0" + "Description": "Find if the list {1, 2, 3} is distinct (i.e. no duplicates).", + "Code": "List.IsDistinct({1, 2, 3})", + "Result": "true" + }, + { + "Description": "Find if the list {1, 2, 3, 3} is distinct (i.e. no duplicates).", + "Code": "List.IsDistinct({1, 2, 3, 3})", + "Result": "false" } ] }, - "ReturnType": "number", - "Parameters": { - "x": "any", - "y": "any" - }, - "RequiredParameters": "2" - }, - { - "Name": "Cube.AttributeMemberProperty", - "Documentation": { - "Documentation.Name": "Cube.AttributeMemberProperty", - "Documentation.Description": "Returns a property of a dimension attribute.", - "Documentation.LongDescription": "Returns the property propertyName of dimension attribute attribute.", - "Documentation.Category": "Cube", - "Documentation.Examples": [] - }, - "ReturnType": "any", - "Parameters": { - "attribute": "any", - "propertyName": "text" - }, - "RequiredParameters": "2" - }, - { - "Name": "Cube.MeasureProperty", - "Documentation": { - "Documentation.Name": "Cube.MeasureProperty", - "Documentation.Description": "Returns a property of a measure (cell property).", - "Documentation.LongDescription": "Returns the property propertyName of measure measure.", - "Documentation.Category": "Cube", - "Documentation.Examples": [] - }, - "ReturnType": "any", - "Parameters": { - "measure": "any", - "propertyName": "text" - }, - "RequiredParameters": "2" - }, - { - "Name": "Databricks.Query", - "Documentation": { - "Documentation.Name": "Databricks SQL Query Source", - "Documentation.LongDescription": "Define a Databricks data source for running SQL queries" - }, - "ReturnType": "Databricks SQL Query", - "Parameters": { - "host": "text", - "httpPath": "text", - "options": "record" - }, - "RequiredParameters": "2" - }, - { - "Name": "DatabricksMultiCloud.Query", - "Documentation": { - "Documentation.Name": "Databricks SQL Query Source", - "Documentation.LongDescription": "Define a Databricks data source for running SQL queries" - }, - "ReturnType": "Databricks SQL Query", + "ReturnType": "logical", "Parameters": { - "host": "text", - "httpPath": "text", - "options": "record" + "list": "list", + "equationCriteria": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.AddDays", + "Name": "List.IsEmpty", "Documentation": { - "Documentation.Name": "Date.AddDays", - "Documentation.Description": "Adds the specified days to the date.", - "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result from adding numberOfDays days to the datetime value dateTime.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.IsEmpty", + "Documentation.Description": "Returns true if the list is empty.", + "Documentation.LongDescription": "Returns true if the list, list, contains no values (length 0). If the list contains values (length > 0), returns false.", + "Documentation.Category": "List.Information", "Documentation.Examples": [ { - "Description": "Add 5 days to the date, datetime, or datetimezone value representing the date 5/14/2011.", - "Code": "Date.AddDays(#date(2011, 5, 14), 5)", - "Result": "#date(2011, 5, 19)" + "Description": "Find if the list {} is empty.", + "Code": "List.IsEmpty({})", + "Result": "true" + }, + { + "Description": "Find if the list {1, 2} is empty.", + "Code": "List.IsEmpty({1, 2})", + "Result": "false" } ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "dateTime": "any", - "numberOfDays": "number" + "list": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.AddMonths", + "Name": "List.Last", "Documentation": { - "Documentation.Name": "Date.AddMonths", - "Documentation.Description": "Adds the specified months to the date.", - "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result from adding numberOfMonths months to the datetime value dateTime.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Last", + "Documentation.Description": "Returns the last value of the list or the specified default if empty.", + "Documentation.LongDescription": "Returns the last item in the list list, or the optional default value, defaultValue, if the list is empty.\r\n If the list is empty and a default value is not specified, the function returns null.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Add 5 months to the date, datetime, or datetimezone value representing the date 5/14/2011.", - "Code": "Date.AddMonths(#date(2011, 5, 14), 5)", - "Result": "#date(2011, 10, 14)" + "Description": "Find the last value in the list {1, 2, 3}.", + "Code": "List.Last({1, 2, 3})", + "Result": "3" }, { - "Description": "Add 18 months to the date, datetime, or datetimezone value representing the date and time of 5/14/2011 08:15:22 AM.", - "Code": "Date.AddMonths(#datetime(2011, 5, 14, 8, 15, 22), 18)", - "Result": "#datetime(2012, 11, 14, 8, 15, 22)" + "Description": "Find the last value in the list {} or -1 if it empty.", + "Code": "List.Last({}, -1)", + "Result": "-1" } ] }, "ReturnType": "any", "Parameters": { - "dateTime": "any", - "numberOfMonths": "number" + "list": "list", + "defaultValue": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.AddQuarters", + "Name": "List.LastN", "Documentation": { - "Documentation.Name": "Date.AddQuarters", - "Documentation.Description": "Adds the specified quarters to the date.", - "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result from adding numberOfQuarters quarters to the datetime value dateTime.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.LastN", + "Documentation.Description": "Returns the last value in the list. Can optionally specify how many values to return or a qualifying condition.", + "Documentation.LongDescription": "Returns the last item of the list list. If the list is empty, an exception is thrown.\r\n This function takes an optional parameter, countOrCondition, to support gathering multiple items or filtering items. countOrCondition can be specified in three ways:\r\n ", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Add 1 quarter to the date, datetime, or datetimezone value representing the date 5/14/2011.", - "Code": "Date.AddQuarters(#date(2011, 5, 14), 1)", - "Result": "#date(2011, 8, 14)" + "Description": "Find the last value in the list {3, 4, 5, -1, 7, 8, 2}.", + "Code": "List.LastN({3, 4, 5, -1, 7, 8, 2}, 1)", + "Result": "{2}" + }, + { + "Description": "Find the last values in the list {3, 4, 5, -1, 7, 8, 2} that are greater than 0.", + "Code": "List.LastN({3, 4, 5, -1, 7, 8, 2}, each _ > 0)", + "Result": "{7, 8, 2}" } ] }, "ReturnType": "any", "Parameters": { - "dateTime": "any", - "numberOfQuarters": "number" + "list": "list", + "countOrCondition": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.AddWeeks", + "Name": "List.Max", "Documentation": { - "Documentation.Name": "Date.AddWeeks", - "Documentation.Description": "Adds the specified weeks to the date.", - "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result from adding numberOfWeeks weeks to the datetime value dateTime.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Max", + "Documentation.Description": "Returns the maximum value or the default value for an empty list.", + "Documentation.LongDescription": "Returns the maximum item in the list list, or the optional default value default if the list is empty.\r\n An optional comparisonCriteria value, comparisonCriteria, may be specified to determine how to compare the items in the list. If this parameter is null, the default comparer is used.", + "Documentation.Category": "List.Ordering", "Documentation.Examples": [ { - "Description": "Add 2 weeks to the date, datetime, or datetimezone value representing the date 5/14/2011.", - "Code": "Date.AddWeeks(#date(2011, 5, 14), 2)", - "Result": "#date(2011, 5, 28)" + "Description": "Find the max in the list {1, 4, 7, 3, -2, 5}.", + "Code": "List.Max({1, 4, 7, 3, -2, 5}, 1)", + "Result": "7" + }, + { + "Description": "Find the max in the list {} or return -1 if it is empty. ", + "Code": "List.Max({}, -1)", + "Result": "-1" } ] }, "ReturnType": "any", "Parameters": { - "dateTime": "any", - "numberOfWeeks": "number" + "list": "list", + "default": "any", + "comparisonCriteria": "any", + "includeNulls": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.AddYears", + "Name": "List.Median", "Documentation": { - "Documentation.Name": "Date.AddYears", - "Documentation.Description": "Adds the specified years to the date.", - "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result of adding numberOfYears to a datetime value dateTime.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Median", + "Documentation.Description": "Returns the median value in the list.", + "Documentation.LongDescription": "Returns the median item of the list list. This function returns null if the list contains no non-null values.\r\n If there is an even number of items, the function chooses the smaller of the two median items unless the list is\r\n comprised entirely of datetimes, durations, numbers or times, in which case it returns the average of the two items.", + "Documentation.Category": "List.Ordering", "Documentation.Examples": [ { - "Description": "Add 4 years to the date, datetime, or datetimezone value representing the date 5/14/2011.", - "Code": "Date.AddYears(#date(2011, 5, 14), 4)", - "Result": "#date(2015, 5, 14)" - }, - { - "Description": "Add 10 years to the date, datetime, or datetimezone value representing the date and time of 5/14/2011 08:15:22 AM.", - "Code": "Date.AddYears(#datetime(2011, 5, 14, 8, 15, 22), 10)", - "Result": "#datetime(2021, 5, 14, 8, 15, 22)" + "Description": "Find the median of the list {5, 3, 1, 7, 9}.", + "Code": "List.Median({5, 3, 1, 7, 9})", + "Result": "5" } ] }, "ReturnType": "any", "Parameters": { - "dateTime": "any", - "numberOfYears": "number" + "list": "list", + "comparisonCriteria": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, - { - "Name": "Date.IsInNextNDays", - "Documentation": { - "Documentation.Name": "Date.IsInNextNDays", - "Documentation.Description": "Indicates whether this date occurs during the next number of days, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of days, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.\r\n ", - "Documentation.Category": "Date", + { + "Name": "List.Min", + "Documentation": { + "Documentation.Name": "List.Min", + "Documentation.Description": "Returns the minimum value or the default value for an empty list.", + "Documentation.LongDescription": "Returns the minimum item in the list list, or the optional default value default if the list is empty.\r\n An optional comparisonCriteria value, comparisonCriteria, may be specified to determine how to compare the items in the list. If this parameter is null, the default comparer is used.", + "Documentation.Category": "List.Ordering", "Documentation.Examples": [ { - "Description": "Determine if the day after the current system time is in the next two days.", - "Code": "Date.IsInNextNDays(Date.AddDays(DateTime.FixedLocalNow(), 1), 2)", - "Result": "true" + "Description": "Find the min in the list {1, 4, 7, 3, -2, 5}.", + "Code": "List.Min({1, 4, 7, 3, -2, 5})", + "Result": "-2" + }, + { + "Description": "Find the min in the list {} or return -1 if it is empty. ", + "Code": "List.Min({}, -1)", + "Result": "-1" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "dateTime": "any", - "days": "number" + "list": "list", + "default": "any", + "comparisonCriteria": "any", + "includeNulls": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInNextNMonths", + "Name": "List.Mode", "Documentation": { - "Documentation.Name": "Date.IsInNextNMonths", - "Documentation.Description": "Indicates whether this date occurs during the next number of months, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of months, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Mode", + "Documentation.Description": "Returns the most frequent value in the list.", + "Documentation.LongDescription": "Returns the item that appears most frequently in the list, list. If the list is empty an exception is thrown. If multiple items appear with the same maximum frequency, the last one is chosen.\r\n An optional comparisonCriteria value, equationCriteria, can be specified to control equality testing. ", + "Documentation.Category": "List.Averages", "Documentation.Examples": [ { - "Description": "Determine if the month after the current system time is in the next two months.", - "Code": "Date.IsInNextNMonths(Date.AddMonths(DateTime.FixedLocalNow(), 1), 2)", - "Result": "true" + "Description": "Find the item that appears most frequently in the list {\"A\", 1, 2, 3, 3, 4, 5}.", + "Code": "List.Mode({\"A\", 1, 2, 3, 3, 4, 5})", + "Result": "3" + }, + { + "Description": "Find the item that appears most frequently in the list {\"A\", 1, 2, 3, 3, 4, 5, 5}.", + "Code": "List.Mode({\"A\", 1, 2, 3, 3, 4, 5, 5})", + "Result": "5" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "dateTime": "any", - "months": "number" + "list": "list", + "equationCriteria": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInNextNQuarters", + "Name": "List.Modes", "Documentation": { - "Documentation.Name": "Date.IsInNextNQuarters", - "Documentation.Description": "Indicates whether this date occurs during the next number of quarters, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of quarters, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Modes", + "Documentation.Description": "Returns a list of the most frequent values in the list.", + "Documentation.LongDescription": "Returns the item that appears most frequently in the list, list. If the list is empty an exception is thrown. If multiple items appear with the same maximum frequency, the last one is chosen.\r\n An optional comparisonCriteria value, equationCriteria, can be specified to control equality testing. ", + "Documentation.Category": "List.Averages", "Documentation.Examples": [ { - "Description": "Determine if the quarter after the current system time is in the next two quarters.", - "Code": "Date.IsInNextNQuarters(Date.AddQuarters(DateTime.FixedLocalNow(), 1), 2)", - "Result": "true" + "Description": "Find the items that appears most frequently in the list {\"A\", 1, 2, 3, 3, 4, 5, 5}.", + "Code": "List.Modes({\"A\", 1, 2, 3, 3, 4, 5, 5})", + "Result": "{3, 5}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "quarters": "number" + "list": "list", + "equationCriteria": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInNextNWeeks", + "Name": "List.NonNullCount", "Documentation": { - "Documentation.Name": "Date.IsInNextNWeeks", - "Documentation.Description": "Indicates whether this date occurs during the next number of weeks, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of weeks, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.\r\n ", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Determine if the week after the current system time is in the next two weeks.", - "Code": "Date.IsInNextNWeeks(Date.AddDays(DateTime.FixedLocalNow(), 7), 2)", - "Result": "true" - } - ] + "Documentation.Name": "List.NonNullCount", + "Documentation.Description": "Returns the number of non-null items in the list.", + "Documentation.LongDescription": "Returns the number of non-null items in the list list.", + "Documentation.Category": "List.Information", + "Documentation.Examples": [] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "dateTime": "any", - "weeks": "number" + "list": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInNextNYears", + "Name": "List.Positions", "Documentation": { - "Documentation.Name": "Date.IsInNextNYears", - "Documentation.Description": "Indicates whether this date occurs during the next number of years, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of years, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Positions", + "Documentation.Description": "Returns a list of offsets for the input.", + "Documentation.LongDescription": "Returns a list of offsets for the input list list.\r\n When using List.Transform to change a list, the list of positions can be used to give the transform access to the position.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Determine if the year after the current system time is in the next two years.", - "Code": "Date.IsInNextNYears(Date.AddYears(DateTime.FixedLocalNow(), 1), 2)", - "Result": "true" + "Description": "Find the offsets of values in the list {1, 2, 3, 4, null, 5}.", + "Code": "List.Positions({1, 2, 3, 4, null, 5})", + "Result": "{0, 1, 2, 3, 4, 5}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "years": "number" + "list": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInPreviousNDays", + "Name": "List.Product", "Documentation": { - "Documentation.Name": "Date.IsInPreviousNDays", - "Documentation.Description": "Indicates whether this date occurs during the previous number of days, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of days, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Product", + "Documentation.Description": "Returns the product of the numbers in the list.", + "Documentation.LongDescription": "Returns the product of the non-null numbers in the list, numbersList. Returns null if there are no non-null values in the list.", + "Documentation.Category": "List.Numerics", "Documentation.Examples": [ { - "Description": "Determine if the day before the current system time is in the previous two days.", - "Code": "Date.IsInPreviousNDays(Date.AddDays(DateTime.FixedLocalNow(), -1), 2)", - "Result": "true" + "Description": "Find the product of the numbers in the list {1, 2, 3, 3, 4, 5, 5}.", + "Code": "List.Product({1, 2, 3, 3, 4, 5, 5})", + "Result": "1800" } ] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "dateTime": "any", - "days": "number" + "numbersList": "list", + "precision": "Precision.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInPreviousNMonths", + "Name": "List.Random", "Documentation": { - "Documentation.Name": "Date.IsInPreviousNMonths", - "Documentation.Description": "Indicates whether this date occurs during the previous number of months, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of months, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Random", + "Documentation.Description": "Returns a list of random numbers.", + "Documentation.LongDescription": "Returns a list of random numbers between 0 and 1, given the number of values to generate and an optional seed value.\r\n", + "Documentation.Category": "List.Generators", "Documentation.Examples": [ { - "Description": "Determine if the month before the current system time is in the previous two months.", - "Code": "Date.IsInPreviousNMonths(Date.AddMonths(DateTime.FixedLocalNow(), -1), 2)", - "Result": "true" + "Description": "Create a list of 3 random numbers.", + "Code": "List.Random(3)", + "Result": "{0.992332, 0.132334, 0.023592}" + }, + { + "Description": "Create a list of 3 random numbers, specifying seed value.", + "Code": "List.Random(3, 2)", + "Result": "{0.883002, 0.245344, 0.723212}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "months": "number" + "count": "number", + "seed": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInPreviousNQuarters", + "Name": "List.RemoveFirstN", "Documentation": { - "Documentation.Name": "Date.IsInPreviousNQuarters", - "Documentation.Description": "Indicates whether this date occurs during the previous number of quarters, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of quarters, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.RemoveFirstN", + "Documentation.Description": "Returns a list that skips the specified number of elements at the beginning of the list.", + "Documentation.LongDescription": "Returns a list that removes the first element of list list. If list is an empty list an empty list is returned.\r\nThis function takes an optional parameter, countOrCondition, to support removing multiple values as listed below.\r\n ", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Determine if the quarter before the current system time is in the previous two quarters.", - "Code": "Date.IsInPreviousNQuarters(Date.AddQuarters(DateTime.FixedLocalNow(), -1), 2)", - "Result": "true" + "Description": "Create a list from {1, 2, 3, 4, 5} without the first 3 numbers.", + "Code": "List.RemoveFirstN({1, 2, 3, 4, 5}, 3)", + "Result": "{4, 5}" + }, + { + "Description": "Create a list from {5, 4, 2, 6, 1} that starts with a number less than 3.", + "Code": "List.RemoveFirstN({5, 4, 2, 6, 1}, each _ > 3)", + "Result": "{2, 6, 1}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "quarters": "number" + "list": "list", + "countOrCondition": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInPreviousNWeeks", + "Name": "List.RemoveLastN", "Documentation": { - "Documentation.Name": "Date.IsInPreviousNWeeks", - "Documentation.Description": "Indicates whether this date occurs during the previous number of weeks, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of weeks, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.RemoveLastN", + "Documentation.Description": "Returns a list that removes the specified number of elements from the end of the list.", + "Documentation.LongDescription": "Returns a list that removes the last countOrCondition elements from the end of list list. If list has less than countOrCondition elements, an empty list is returned.\r\n ", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Determine if the week before the current system time is in the previous two weeks.", - "Code": "Date.IsInPreviousNWeeks(Date.AddDays(DateTime.FixedLocalNow(), -7), 2)", - "Result": "true" + "Description": "Create a list from {1, 2, 3, 4, 5} without the last 3 numbers.", + "Code": "List.RemoveLastN({1, 2, 3, 4, 5}, 3)", + "Result": "{1, 2}" + }, + { + "Description": "Create a list from {5, 4, 2, 6, 4} that ends with a number less than 3.", + "Code": "List.RemoveLastN({5, 4, 2, 6, 4}, each _ > 3)", + "Result": "{5, 4, 2}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "weeks": "number" + "list": "list", + "countOrCondition": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Date.IsInPreviousNYears", + "Name": "List.RemoveNulls", "Documentation": { - "Documentation.Name": "Date.IsInPreviousNYears", - "Documentation.Description": "Indicates whether this date occurs during the previous number of years, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of years, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.RemoveNulls", + "Documentation.Description": "Removes all \"null\" values from the specified list.", + "Documentation.LongDescription": "Removes all occurrences of \"null\" values in the list. If there are no 'null' values in the list, the original list is returned.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Determine if the year before the current system time is in the previous two years.", - "Code": "Date.IsInPreviousNYears(Date.AddYears(DateTime.FixedLocalNow(), -1), 2)", - "Result": "true" + "Description": "Remove the \"null\" values from the list {1, 2, 3, null, 4, 5, null, 6}.", + "Code": "List.RemoveNulls({1, 2, 3, null, 4, 5, null, 6})", + "Result": "{1, 2, 3, 4, 5, 6}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "years": "number" + "list": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DateTime.AddZone", + "Name": "List.Reverse", "Documentation": { - "Documentation.Name": "DateTime.AddZone", - "Documentation.Description": "Adds timezone information to the datetime value.", - "Documentation.LongDescription": "Adds timezone information to the dateTime value. The timezone information includes timezoneHours and optionally timezoneMinutes, which specify the desired offset from UTC time.", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Reverse", + "Documentation.Description": "Reverses the order of values in the list.", + "Documentation.LongDescription": "Returns a list with the values in the list list in reversed order.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Set the timezone to UTC+7:30 (7 hours and 30 minutes past UTC).", - "Code": "DateTime.AddZone(#datetime(2010, 12, 31, 11, 56, 02), 7, 30)", - "Result": "#datetimezone(2010, 12, 31, 11, 56, 2, 7, 30)" + "Description": "Create a list from {1..10} in reverse order.", + "Code": "List.Reverse({1..10})", + "Result": "{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}" } ] }, - "ReturnType": "datetimezone", + "ReturnType": "list", "Parameters": { - "dateTime": "datetime", - "timezoneHours": "number", - "timezoneMinutes": "number" + "list": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DateTime.IsInNextNHours", + "Name": "List.Single", "Documentation": { - "Documentation.Name": "DateTime.IsInNextNHours", - "Documentation.Description": "Indicates whether this datetime occurs during the next number of hours, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of hours, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Single", + "Documentation.Description": "Returns the one list item for a list of length one, otherwise throws an exception.", + "Documentation.LongDescription": "If there is only one item in the list list, returns that item.\r\n If there is more than one item or the list is empty, the function throws an exception.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Determine if the hour after the current system time is in the next two hours.", - "Code": "DateTime.IsInNextNHours(DateTime.FixedLocalNow() + #duration(0, 2, 0, 0), 2)", - "Result": "true" + "Description": "Find the single value in the list {1}.", + "Code": "List.Single({1})", + "Result": "1" + }, + { + "Description": "Find the single value in the list {1, 2, 3}.", + "Code": "List.Single({1, 2, 3})", + "Result": "[Expression.Error] There were too many elements in the enumeration to complete the operation." } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "dateTime": "any", - "hours": "number" + "list": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DateTime.IsInNextNMinutes", + "Name": "List.SingleOrDefault", "Documentation": { - "Documentation.Name": "DateTime.IsInNextNMinutes", - "Documentation.Description": "Indicates whether this datetime occurs during the next number of minutes, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of minutes, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.SingleOrDefault", + "Documentation.Description": "Returns the one list item for a list of length one and the default value for an empty list.", + "Documentation.LongDescription": "If there is only one item in the list list, returns that item.\r\n If the list is empty, the function returns null unless an optional default is specified. If there is more than one item in the list, the function returns an error.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Determine if the minute after the current system time is in the next two minutes.", - "Code": "DateTime.IsInNextNMinutes(DateTime.FixedLocalNow() + #duration(0, 0, 2, 0), 2)", - "Result": "true" + "Description": "Find the single value in the list {1}.", + "Code": "List.SingleOrDefault({1})", + "Result": "1" + }, + { + "Description": "Find the single value in the list {}.", + "Code": "List.SingleOrDefault({})", + "Result": "null" + }, + { + "Description": "Find the single value in the list {}. If is empty, return -1.", + "Code": "List.SingleOrDefault({}, -1)", + "Result": "-1" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "dateTime": "any", - "minutes": "number" + "list": "list", + "default": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DateTime.IsInNextNSeconds", + "Name": "List.Skip", "Documentation": { - "Documentation.Name": "DateTime.IsInNextNSeconds", - "Documentation.Description": "Indicates whether this datetime occurs during the next number of seconds, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of seconds, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Skip", + "Documentation.Description": "Returns a list that skips the specified number of elements at the beginning of the list.", + "Documentation.LongDescription": "Returns a list that skips the first element of list list. If list is an empty list an empty list is returned.\r\nThis function takes an optional parameter, countOrCondition, to support skipping multiple values as listed below.\r\n ", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Determine if the second after the current system time is in the next two seconds.", - "Code": "DateTime.IsInNextNSeconds(DateTime.FixedLocalNow() + #duration(0, 0, 0, 2), 2)", - "Result": "true" + "Description": "Create a list from {1, 2, 3, 4, 5} without the first 3 numbers.", + "Code": "List.Skip({1, 2, 3, 4, 5}, 3)", + "Result": "{4, 5}" + }, + { + "Description": "Create a list from {5, 4, 2, 6, 1} that starts with a number less than 3.", + "Code": "List.Skip({5, 4, 2, 6, 1}, each _ > 3)", + "Result": "{2, 6, 1}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "seconds": "number" + "list": "list", + "countOrCondition": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DateTime.IsInPreviousNHours", + "Name": "List.Sort", "Documentation": { - "Documentation.Name": "DateTime.IsInPreviousNHours", - "Documentation.Description": "Indicates whether this datetime occurs during the previous number of hours, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of hours, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Sort", + "Documentation.Description": "Sorts a list of data according to the criteria specified.", + "Documentation.LongDescription": "Sorts a list of data, list, according to the optional criteria specified.\r\n An optional parameter, comparisonCriteria, can be specified as the comparison criterion. This can take the following values:\r\n ", + "Documentation.Category": "List.Ordering", "Documentation.Examples": [ { - "Description": "Determine if the hour before the current system time is in the previous two hours.", - "Code": "DateTime.IsInPreviousNHours(DateTime.FixedLocalNow() - #duration(0, 2, 0, 0), 2)", - "Result": "true" + "Description": "Sort the list {2, 3, 1}.", + "Code": "List.Sort({2, 3, 1})", + "Result": "{1, 2, 3}" + }, + { + "Description": "Sort the list {2, 3, 1} in descending order.", + "Code": "List.Sort({2, 3, 1}, Order.Descending)", + "Result": "{3, 2, 1}" + }, + { + "Description": "Sort the list {2, 3, 1} in descending order using the Value.Compare method.", + "Code": "List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))", + "Result": "{3, 2, 1}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "hours": "number" + "list": "list", + "comparisonCriteria": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DateTime.IsInPreviousNMinutes", + "Name": "List.StandardDeviation", "Documentation": { - "Documentation.Name": "DateTime.IsInPreviousNMinutes", - "Documentation.Description": "Indicates whether this datetime occurs during the previous number of minutes, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of minutes, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.StandardDeviation", + "Documentation.Description": "Returns a sample based estimate of the standard deviation.", + "Documentation.LongDescription": "Returns a sample based estimate of the standard deviation of the values in the list, numbersList.\r\n If numbersList is a list of numbers, a number is returned.\r\n An exception is thrown on an empty list or a list of items that is not type number.", + "Documentation.Category": "List.Averages", "Documentation.Examples": [ { - "Description": "Determine if the minute before the current system time is in the previous two minutes.", - "Code": "DateTime.IsInPreviousNMinutes(DateTime.FixedLocalNow() - #duration(0, 0, 2, 0), 2)", - "Result": "true" + "Description": "Find the standard deviation of the numbers 1 through 5.", + "Code": "List.StandardDeviation({1..5})", + "Result": "1.5811388300841898" } ] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "dateTime": "any", - "minutes": "number" + "numbersList": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DateTime.IsInPreviousNSeconds", + "Name": "List.Sum", "Documentation": { - "Documentation.Name": "DateTime.IsInPreviousNSeconds", - "Documentation.Description": "Indicates whether this datetime occurs during the previous number of seconds, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of seconds, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Sum", + "Documentation.Description": "Returns the sum of the items in the list.", + "Documentation.LongDescription": "Returns the sum of the non-null values in the list, list. Returns null if there are no non-null values in the list.", + "Documentation.Category": "List.Addition", "Documentation.Examples": [ { - "Description": "Determine if the second before the current system time is in the previous two seconds.", - "Code": "DateTime.IsInPreviousNSeconds(DateTime.FixedLocalNow() - #duration(0, 0, 0, 2), 2)", - "Result": "true" + "Description": "Find the sum of the numbers in the list {1, 2, 3}.", + "Code": "List.Sum({1, 2, 3})", + "Result": "6" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "dateTime": "any", - "seconds": "number" + "list": "list", + "precision": "Precision.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "DateTimeZone.SwitchZone", + "Name": "List.Union", "Documentation": { - "Documentation.Name": "DateTimeZone.SwitchZone", - "Documentation.Description": "Changes the timezone of the value.", - "Documentation.LongDescription": "Changes timezone information to on the datetimezone value dateTimeZone to the new timezone information provided by timezoneHours and optionally timezoneMinutes.\r\n If dateTimeZone does not have a timezone component, an exception is thrown.", - "Documentation.Category": "DateTimeZone", + "Documentation.Name": "List.Union", + "Documentation.Description": "Returns the union of the list values found in the input.", + "Documentation.LongDescription": "Takes a list of lists lists, unions the items in the individual lists and returns them in the output list. As a result, the returned list contains all items in any input lists.\r\n This operation maintains traditional bag semantics, so duplicate values are matched as part of the Union.\r\n An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", + "Documentation.Category": "List.Set operations", "Documentation.Examples": [ { - "Description": "Change timezone information for #datetimezone(2010, 12, 31, 11, 56, 02, 7, 30) to 8 hours.", - "Code": "DateTimeZone.SwitchZone(#datetimezone(2010, 12, 31, 11, 56, 02, 7, 30), 8)", - "Result": "#datetimezone(2010, 12, 31, 12, 26, 2, 8, 0)" - }, - { - "Description": "Change timezone information for #datetimezone(2010, 12, 31, 11, 56, 02, 7, 30) to -30 minutes.", - "Code": "DateTimeZone.SwitchZone(#datetimezone(2010, 12, 31, 11, 56, 02, 7, 30), 0, -30)", - "Result": "#datetimezone(2010, 12, 31, 3, 56, 2, 0, -30)" + "Description": "Create a union of the list {1..5}, {2..6}, {3..7}.", + "Code": "List.Union({{1..5}, {2..6}, {3..7}})", + "Result": "{1, 2, 3, 4, 5, 6, 7}" } ] }, - "ReturnType": "datetimezone", - "Parameters": { - "dateTimeZone": "datetimezone", - "timezoneHours": "number", - "timezoneMinutes": "number" - }, - "RequiredParameters": "2" - }, - { - "Name": "Embedded.Value", - "Documentation": { - "Documentation.Name": "Embedded.Value", - "Documentation.Description": "Accesses a value by name in an embedded mashup.", - "Documentation.LongDescription": "Accesses a value by name in an embedded mashup.", - "Documentation.Category": "Values.Implementation", - "Documentation.Examples": [] - }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "value": "any", - "path": "text" + "lists": "list", + "equationCriteria": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Function.From", - "Documentation": { - "Documentation.Name": "Function.From", - "Documentation.Description": "Creates a function with a specific parameter signature on top of a function that takes a single list argument", - "Documentation.LongDescription": "Takes a unary function function and creates a new function with the type functionType that constructs a list out of its arguments and passes it to function.", - "Documentation.Category": "Function", + "Name": "List.Zip", + "Documentation": { + "Documentation.Name": "List.Zip", + "Documentation.Description": "Returns a list of lists by combining items at the same position in multiple lists.", + "Documentation.LongDescription": "Takes a list of lists, lists, and returns a list of lists combining items at the same position.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Converts List.Sum into a two-argument function whose arguments are added together", - "Code": "Function.From(type function (a as number, b as number) as number, List.Sum)(2, 1)", - "Result": "3" + "Description": "Zips the two simple lists {1, 2} and {3, 4}.", + "Code": "List.Zip({{1, 2}, {3, 4}})", + "Result": "{\r\n {1, 3},\r\n {2, 4}\r\n}" }, { - "Description": "Converts a function taking a list into a two-argument function", - "Code": "Function.From(type function (a as text, b as text) as text, (list) => list{0} & list{1})(\"2\", \"1\")", - "Result": "\"21\"" + "Description": "Zips the two simple lists of different lengths {1, 2} and {3}.", + "Code": "List.Zip({{1, 2}, {3}})", + "Result": "{\r\n {1, 3},\r\n {2, null}\r\n}" } ] }, - "ReturnType": "function", + "ReturnType": "list", "Parameters": { - "functionType": "type", - "function": "function" + "lists": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Function.Invoke", + "Name": "Logical.From", "Documentation": { - "Documentation.Name": "Function.Invoke", - "Documentation.Description": "Invokes the given function", - "Documentation.LongDescription": "Invokes the given function using the specified list of arguments and returns the result.", - "Documentation.Category": "Function", + "Documentation.Name": "Logical.From", + "Documentation.Description": "Creates a logical from the given value.", + "Documentation.LongDescription": "Returns a logical value from the given value. If the given value is null, Logical.From returns null. If the given value is logical, value is returned. Values of the following types can be converted to a logical value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Category": "Logical", "Documentation.Examples": [ { - "Description": "Invokes Record.FieldNames with one argument [A=1,B=2]", - "Code": "Function.Invoke(Record.FieldNames, {[A = 1, B = 2]})", - "Result": "{\"A\", \"B\"}" + "Description": "Convert 2 to a logical value.", + "Code": "Logical.From(2)", + "Result": "true" } ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "function": "function", - "args": "list" + "value": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Function.InvokeAfter", + "Name": "Logical.FromText", "Documentation": { - "Documentation.Name": "Function.InvokeAfter", - "Documentation.Description": "Invokes the given function after the specified duration has passed.", - "Documentation.LongDescription": "Returns the result of invoking function after duration delay has passed.", - "Documentation.Category": "Function", - "Documentation.Examples": [] + "Documentation.Name": "Logical.FromText", + "Documentation.Description": "Creates a logical value from the text values \"true\" and \"false\".", + "Documentation.LongDescription": "Creates a logical value from the text value text, either \"true\" or \"false\". If text contains a different string, an exception is thrown. The text value text is case insensitive.", + "Documentation.Category": "Logical", + "Documentation.Examples": [ + { + "Description": "Create a logical value from the text string \"true\".", + "Code": "Logical.FromText(\"true\")", + "Result": "true" + }, + { + "Description": "Create a logical value from the text string \"a\".", + "Code": "Logical.FromText(\"a\")", + "Result": "[Expression.Error] Could not convert to a logical." + } + ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "function": "function", - "delay": "duration" + "text": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Function.ScalarVector", + "Name": "Logical.ToText", "Documentation": { - "Documentation.Name": "Function.ScalarVector", - "Documentation.Description": "Creates a scalar function on top of a vector function, batching multiple invocations.", - "Documentation.LongDescription": "

Returns a scalar function of type scalarFunctionType that invokes vectorFunction with a single row of arguments and returns its single output. Additionally, when the scalar function is repeatedly applied for each row of a table of inputs, such as in Table.AddColumn, instead vectorFunction will be applied once for all inputs.

\r\n

vectorFunction will be passed a table whose columns match in name and position the parameters of scalarFunctionType. Each row of this table contains the arguments for one call to the scalar function, with the columns corresponding to the parameters of scalarFunctionType.

\r\n

vectorFunction must return a list of the same length as the input table, whose item at each position must be the same result as evaluating the scalar function on the input row of the same position.

\r\n

The input table is expected to be streamed in, so vectorFunction is expected to stream its output as input comes in, only working with one chunk of input at a time. In particular, vectorFunction must not enumerate its input table more than once.

", - "Documentation.Category": "Function", - "Documentation.Examples": [] + "Documentation.Name": "Logical.ToText", + "Documentation.Description": "Returns the text \"true\" or \"false\" given a logical value.", + "Documentation.LongDescription": "Creates a text value from the logical value logicalValue, either true or false. If logicalValue is not a logical value, an exception is thrown.", + "Documentation.Category": "Logical", + "Documentation.Examples": [ + { + "Description": "Create a text value from the logical true.", + "Code": "Logical.ToText(true)", + "Result": "\"true\"" + } + ] }, - "ReturnType": "function", + "ReturnType": "text", "Parameters": { - "scalarFunctionType": "type", - "vectorFunction": "function" + "logicalValue": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "GeographyPoint.From", - "Documentation": { - "Documentation.Name": "GeographyPoint.From", - "Documentation.Description": "Creates a record representing a geographic point from parts.", - "Documentation.LongDescription": "Creates a record representing a geographic point from its constituent parts, such as longitude, latitude, and if present, elevation (Z) and measure (M). An optional spatial reference identifier (SRID) can be given if different from the default value (4326).", - "Documentation.Category": "Record.Serialization", - "Documentation.Examples": [] - }, - "ReturnType": "record", + "Name": "MicrosoftAzureConsumptionInsights.Test", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "longitude": "number", - "latitude": "number", - "z": "number", - "m": "number", - "srid": "number" + "enrollmentNumber": "any", + "parameters": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "GeometryPoint.From", - "Documentation": { - "Documentation.Name": "GeometryPoint.From", - "Documentation.Description": "Creates a record representing a geometric point from parts.", - "Documentation.LongDescription": "Creates a record representing a geometric point from its constituent parts, such as X coordinate, Y coordinate, and if present, Z coordinate and measure (M). An optional spatial reference identifier (SRID) can be given if different from the default value (0).", - "Documentation.Category": "Record.Serialization", - "Documentation.Examples": [] - }, - "ReturnType": "record", + "Name": "Mixpanel.Contents", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "x": "number", - "y": "number", - "z": "number", - "m": "number", - "srid": "number" + "url": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "HexagonSmartApi.ExecuteParametricFilterOnFilterRecord", + "Name": "Mixpanel.FunnelById", "Documentation": {}, "ReturnType": "any", "Parameters": { - "url": "text", - "filter": "record", - "objectHierarchyName": "text", - "objectHierarchyResourceIds": "text", - "objectTypes": "text", - "queryExpression": "text" + "funnelId": "number", + "fromDate": "text", + "toDate": "text", + "length": "number", + "interval": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "HexagonSmartApi.GenerateParametricFilterByFilterSourceType", + "Name": "Mixpanel.FunnelByName", "Documentation": {}, "ReturnType": "any", "Parameters": { - "serviceRoot": "text", - "inputFilterSource": "any" + "funnelName": "text", + "fromDate": "text", + "toDate": "text", + "length": "number", + "interval": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "HexagonSmartApi.Typecast", + "Name": "Number.Abs", "Documentation": { - "Documentation.Name": "Typecast", - "Documentation.LongDescription": "Function to return a table representing an OData entity typecast from the target entity. The target is a table with column with select list attribute, or an individual table row or an individual record with select list attribute." + "Documentation.Name": "Number.Abs", + "Documentation.Description": "Returns the absolute value of the number.", + "Documentation.LongDescription": "Returns the absolute value of number. If number is null, Number.Abs returns null.\r\n ", + "Documentation.Category": "Number.Operations", + "Documentation.Examples": [ + { + "Description": "Absolute value of -3.", + "Code": "Number.Abs(-3)", + "Result": "3" + } + ] }, - "ReturnType": "function", + "ReturnType": "number", "Parameters": { - "typecastTarget": "any", - "outputType": "text" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Identity.From", + "Name": "Number.Acos", "Documentation": { - "Documentation.Name": "Identity.From", - "Documentation.Description": "Creates an identity.", - "Documentation.LongDescription": "Creates an identity.", - "Documentation.Category": "Accessing data", + "Documentation.Name": "Number.Acos", + "Documentation.Description": "Returns the arccosine of the number.", + "Documentation.LongDescription": "Returns the arccosine of number.", + "Documentation.Category": "Number.Trigonometry", "Documentation.Examples": [] }, - "ReturnType": "record", + "ReturnType": "number", "Parameters": { - "identityProvider": "function", - "value": "any" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Identity.IsMemberOf", + "Name": "Number.Asin", "Documentation": { - "Documentation.Name": "Identity.IsMemberOf", - "Documentation.Description": "Determines whether an identity is a member of an identity collection.", - "Documentation.LongDescription": "Determines whether an identity is a member of an identity collection.", - "Documentation.Category": "Accessing data", + "Documentation.Name": "Number.Asin", + "Documentation.Description": "Returns the arcsine of the number.", + "Documentation.LongDescription": "Returns the arcsine of number.", + "Documentation.Category": "Number.Trigonometry", "Documentation.Examples": [] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "identity": "record", - "collection": "record" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Alternate", + "Name": "Number.Atan", "Documentation": { - "Documentation.Name": "List.Alternate", - "Documentation.Description": "Returns a list comprised of all the odd numbered offset elements in a list.", - "Documentation.LongDescription": "Returns a list comprised of all the odd numbered offset elements in a list. Alternates between taking and skipping values from the list list depending on the parameters.\r\n ", - "Documentation.Category": "List.Selection", - "Documentation.Examples": [ - { - "Description": "Create a list from {1..10} that skips the first number.", - "Code": "List.Alternate({1..10}, 1)", - "Result": "{2, 3, 4, 5, 6, 7, 8, 9, 10}" - }, - { - "Description": "Create a list from {1..10} that skips every other number.", - "Code": "List.Alternate({1..10}, 1, 1)", - "Result": "{2, 4, 6, 8, 10}" - }, - { - "Description": "Create a list from {1..10} that starts at 1 and skips every other number.", - "Code": "List.Alternate({1..10}, 1, 1, 1)", - "Result": "{1, 3, 5, 7, 9}" - }, + "Documentation.Name": "Number.Atan", + "Documentation.Description": "Returns the arctangent of the number.", + "Documentation.LongDescription": "Returns the arctangent of number.", + "Documentation.Category": "Number.Trigonometry", + "Documentation.Examples": [] + }, + "ReturnType": "number", + "Parameters": { + "number": "number" + }, + "RequiredParameters": "1" + }, + { + "Name": "Number.BitwiseNot", + "Documentation": { + "Documentation.Name": "Number.BitwiseNot", + "Documentation.Description": "Returns a byte where each bit is the opposite of the input.", + "Documentation.LongDescription": "Returns the result of performing a bitwise \"Not\" operation on number.", + "Documentation.Category": "Number.Bytes", + "Documentation.Examples": [] + }, + "ReturnType": "any", + "Parameters": { + "number": "any" + }, + "RequiredParameters": "1" + }, + { + "Name": "Number.Cos", + "Documentation": { + "Documentation.Name": "Number.Cos", + "Documentation.Description": "Returns the cosine of the number.", + "Documentation.LongDescription": "Returns the cosine of number.", + "Documentation.Category": "Number.Trigonometry", + "Documentation.Examples": [ { - "Description": "Create a list from {1..10} that starts at 1, skips one value, keeps two values, and so on.", - "Code": "List.Alternate({1..10}, 1, 2, 1)", - "Result": "{1, 3, 4, 6, 7, 9, 10}" + "Description": "Find the cosine of the angle 0.", + "Code": "Number.Cos(0)", + "Result": "1" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list": "list", - "count": "number", - "repeatInterval": "number", - "offset": "number" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Contains", + "Name": "Number.Cosh", "Documentation": { - "Documentation.Name": "List.Contains", - "Documentation.Description": "Indicates whether the list contains the value.", - "Documentation.LongDescription": "Indicates whether the list list contains the value value.\r\n Returns true if value is found in the list, false otherwise. An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", - "Documentation.Category": "List.Membership functions", + "Documentation.Name": "Number.Cosh", + "Documentation.Description": "Returns the hyperbolic cosine of the number.", + "Documentation.LongDescription": "Returns the hyperbolic cosine of number.", + "Documentation.Category": "Number.Trigonometry", + "Documentation.Examples": [] + }, + "ReturnType": "number", + "Parameters": { + "number": "number" + }, + "RequiredParameters": "1" + }, + { + "Name": "Number.Exp", + "Documentation": { + "Documentation.Name": "Number.Exp", + "Documentation.Description": "Raises e to the given power.", + "Documentation.LongDescription": "Returns the result of raising e to the power of number (exponential function).\r\n ", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Find if the list {1, 2, 3, 4, 5} contains 3.", - "Code": "List.Contains({1, 2, 3, 4, 5}, 3)", - "Result": "true" - }, - { - "Description": "Find if the list {1, 2, 3, 4, 5} contains 6.", - "Code": "List.Contains({1, 2, 3, 4, 5}, 6)", - "Result": "false" + "Description": "Raise e to the power of 3.", + "Code": "Number.Exp(3)", + "Result": "20.085536923187668" } ] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "list": "list", - "value": "any", - "equationCriteria": "any" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.ContainsAll", + "Name": "Number.Factorial", "Documentation": { - "Documentation.Name": "List.ContainsAll", - "Documentation.Description": "Indicates where a list includes all the values in another list.", - "Documentation.LongDescription": "Indicates whether the list list includes all the values in another list, values.\r\n Returns true if value is found in the list, false otherwise. An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", - "Documentation.Category": "List.Membership functions", + "Documentation.Name": "Number.Factorial", + "Documentation.Description": "Returns the factorial of the number.", + "Documentation.LongDescription": "Returns the factorial of the number number.", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Find out if the list {1, 2, 3, 4, 5} contains 3 and 4.", - "Code": "List.ContainsAll({1, 2, 3, 4, 5}, {3, 4})", - "Result": "true" - }, - { - "Description": "Find out if the list {1, 2, 3, 4, 5} contains 5 and 6.", - "Code": "List.ContainsAll({1, 2, 3, 4, 5}, {5, 6})", - "Result": "false" + "Description": "Find the factorial of 10.", + "Code": "Number.Factorial(10)", + "Result": "3628800" } ] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "list": "list", - "values": "list", - "equationCriteria": "any" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.ContainsAny", + "Name": "Number.From", "Documentation": { - "Documentation.Name": "List.ContainsAny", - "Documentation.Description": "Indicates where a list includes any of the values in another list.", - "Documentation.LongDescription": "Indicates whether the list list includes any of the values in another list, values.\r\n Returns true if value is found in the list, false otherwise. An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", - "Documentation.Category": "List.Membership functions", + "Documentation.Name": "Number.From", + "Documentation.Description": "Creates a number from the given value.", + "Documentation.LongDescription": "Returns a number value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, Number.From returns null. If the given value is number, value is returned. Values of the following types can be converted to a number value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Find out if the list {1, 2, 3, 4, 5} contains 3 or 9.", - "Code": "List.ContainsAny({1, 2, 3, 4, 5}, {3, 9})", - "Result": "true" + "Description": "Get the number value of \"4\".", + "Code": "Number.From(\"4\")", + "Result": "4" }, { - "Description": "Find out if the list {1, 2, 3, 4, 5} contains 6 or 7.", - "Code": "List.ContainsAny({1, 2, 3, 4, 5}, {6, 7})", - "Result": "false" + "Description": "Get the number value of #datetime(2020, 3, 20, 6, 0, 0).", + "Code": "Number.From(#datetime(2020, 3, 20, 6, 0, 0))", + "Result": "43910.25" + }, + { + "Description": "Get the number value of \"12.3%\".", + "Code": "Number.From(\"12.3%\")", + "Result": "0.123" } ] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "list": "list", - "values": "list", - "equationCriteria": "any" + "value": "any", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Covariance", + "Name": "Number.FromText", "Documentation": { - "Documentation.Name": "List.Covariance", - "Documentation.Description": "Returns the covariance between the two lists of numbers.", - "Documentation.LongDescription": "Returns the covariance between two lists, numberList1 and numberList2. numberList1 and numberList2 must contain the same number of number values.", - "Documentation.Category": "List.Numerics", + "Documentation.Name": "Number.FromText", + "Documentation.Description": "Creates numbers from common text formats (\"15\", \"3,423.10\", \"5.0E-10\").", + "Documentation.LongDescription": "Returns a number value from the given text value, text.\r\n ", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Calculate the covariance between two lists.", - "Code": "List.Covariance({1, 2, 3}, {1, 2, 3})", - "Result": "0.66666666666666607" + "Description": "Get the number value of \"4\".", + "Code": "Number.FromText(\"4\")", + "Result": "4" + }, + { + "Description": "Get the number value of \"5.0e-10\".", + "Code": "Number.FromText(\"5.0e-10\")", + "Result": "5E-10" } ] }, "ReturnType": "number", "Parameters": { - "numberList1": "list", - "numberList2": "list" + "text": "text", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Difference", + "Name": "Number.IsEven", "Documentation": { - "Documentation.Name": "List.Difference", - "Documentation.Description": "Returns the difference of the two given lists.", - "Documentation.LongDescription": "Returns the items in list list1 that do not appear in list list2. Duplicate values are supported.\r\n An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", - "Documentation.Category": "List.Set operations", + "Documentation.Name": "Number.IsEven", + "Documentation.Description": "Indicates if the value is even.", + "Documentation.LongDescription": "Indicates if the value, number, is even by returning true if it is even, false otherwise.", + "Documentation.Category": "Number.Information", "Documentation.Examples": [ { - "Description": "Find the items in list {1, 2, 3, 4, 5} that do not appear in {4, 5, 3}.", - "Code": "List.Difference({1, 2, 3, 4, 5}, {4, 5, 3})", - "Result": "{1, 2}" + "Description": "Check if 625 is an even number.", + "Code": "Number.IsEven(625)", + "Result": "false" }, { - "Description": "Find the items in the list {1, 2} that do not appear in {1, 2, 3}.", - "Code": "List.Difference({1, 2}, {1, 2, 3})", - "Result": "{}" + "Description": "Check if 82 is an even number.", + "Code": "Number.IsEven(82)", + "Result": "true" } ] }, - "ReturnType": "list", + "ReturnType": "logical", "Parameters": { - "list1": "list", - "list2": "list", - "equationCriteria": "any" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.FindText", + "Name": "Number.IsNaN", "Documentation": { - "Documentation.Name": "List.FindText", - "Documentation.Description": "Returns a list of values (including record fields) that contain the specified text.", - "Documentation.LongDescription": "Returns a list of the values from the list list which contained the value text.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Number.IsNaN", + "Documentation.Description": "Indicates if the value is NaN (Not a number).", + "Documentation.LongDescription": "Indicates if the value is NaN (Not a number). Returns true if number is equivalent to Number.IsNaN, false otherwise.", + "Documentation.Category": "Number.Information", "Documentation.Examples": [ { - "Description": "Find the text values in the list {\"a\", \"b\", \"ab\"} that match \"a\". ", - "Code": "List.FindText({\"a\", \"b\", \"ab\"}, \"a\")", - "Result": "{\"a\", \"ab\"}" + "Description": "Check if 0 divided by 0 is NaN.", + "Code": "Number.IsNaN(0/0)", + "Result": "true" + }, + { + "Description": "Check if 1 divided by 0 is NaN.", + "Code": "Number.IsNaN(1/0)", + "Result": "false" } ] }, - "ReturnType": "list", + "ReturnType": "logical", "Parameters": { - "list": "list", - "text": "text" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.FirstN", + "Name": "Number.IsOdd", "Documentation": { - "Documentation.Name": "List.FirstN", - "Documentation.Description": "Returns the first set of items in the list by specifying how many items to return or a qualifying condition.", - "Documentation.LongDescription": " ", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Number.IsOdd", + "Documentation.Description": "Indicates if the value is odd.", + "Documentation.LongDescription": "Indicates if the value is odd. Returns true if number is an odd number, false otherwise.", + "Documentation.Category": "Number.Information", "Documentation.Examples": [ { - "Description": "Find the intial values in the list {3, 4, 5, -1, 7, 8, 2} that are greater than 0.", - "Code": "List.FirstN({3, 4, 5, -1, 7, 8, 2}, each _ > 0)", - "Result": "{3, 4, 5}" + "Description": "Check if 625 is an odd number.", + "Code": "Number.IsOdd(625)", + "Result": "true" + }, + { + "Description": "Check if 82 is an odd number.", + "Code": "Number.IsOdd(82)", + "Result": "false" } ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "list": "list", - "countOrCondition": "any" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, - { - "Name": "List.MatchesAll", - "Documentation": { - "Documentation.Name": "List.MatchesAll", - "Documentation.Description": "Returns true if the condition function is satisfied by all values in the list.", - "Documentation.LongDescription": "Returns true if the condition function, condition, is satisfied by all values in the list list, otherwise returns false.", - "Documentation.Category": "List.Selection", + { + "Name": "Number.Ln", + "Documentation": { + "Documentation.Name": "Number.Ln", + "Documentation.Description": "Returns the natural logarithm of the number.", + "Documentation.LongDescription": "Returns the natural logarithm of a number, number. If number is null Number.Ln returns null.", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Determine if all the values in the list {11, 12, 13} are greater than 10.", - "Code": "List.MatchesAll({11, 12, 13}, each _ > 10)", - "Result": "true" - }, - { - "Description": "Determine if all the values in the list {1, 2, 3} are greater than 10.", - "Code": "List.MatchesAll({1, 2, 3}, each _ > 10)", - "Result": "false" + "Description": "Get the natural logarithm of 15.", + "Code": "Number.Ln(15)", + "Result": "2.70805020110221" } ] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "list": "list", - "condition": "function" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.MatchesAny", + "Name": "Number.Log", "Documentation": { - "Documentation.Name": "List.MatchesAny", - "Documentation.Description": "Returns true if the condition function is satisfied by any value.", - "Documentation.LongDescription": "Returns true if the condition function, condition, is satisfied by any of values in the list list, otherwise returns false.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Number.Log", + "Documentation.Description": "Returns the logarithm of the number to the specified base (default e).", + "Documentation.LongDescription": "Returns the logarithm of a number, number, to the specified base base. If base is not specified, the default value is Number.E.\r\n If number is null Number.Log returns null.", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Find if any of the values in the list {9, 10, 11} are greater than 10.", - "Code": "List.MatchesAny({9, 10, 11}, each _ > 10)", - "Result": "true" + "Description": "Get the base 10 logarithm of 2.", + "Code": "Number.Log(2, 10)", + "Result": "0.3010299956639812" }, { - "Description": "Find if any of the values in the list {1, 2, 3} are greater than 10.", - "Code": "List.MatchesAny({1, 2, 3}, each _ > 10)", - "Result": "false" + "Description": "Get the base e logarithm of 2.", + "Code": "Number.Log(2)", + "Result": "0.69314718055994529" } ] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "list": "list", - "condition": "function" + "number": "number", + "base": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.MaxN", + "Name": "Number.Log10", "Documentation": { - "Documentation.Name": "List.MaxN", - "Documentation.Description": "Returns the maximum value(s) in the list. The number of values to return or a filtering condition must be specified.", - "Documentation.LongDescription": "Returns the maximum value(s) in the list, list.\r\n After the rows are sorted, optional parameters may be specified to further filter the result. The optional parameter countOrCondition specifies the number of values to return or a filtering condition. The optional parameter comparisonCriteria specifies how to compare values in the list.\r\n ", - "Documentation.Category": "List.Ordering", - "Documentation.Examples": [] + "Documentation.Name": "Number.Log10", + "Documentation.Description": "Returns the base 10 logarithm of the number.", + "Documentation.LongDescription": "Returns the base 10 logarithm of a number, number. If number is null Number.Log10 returns null.", + "Documentation.Category": "Number.Operations", + "Documentation.Examples": [ + { + "Description": "Get the base 10 logarithm of 2.", + "Code": "Number.Log10(2)", + "Result": "0.3010299956639812" + } + ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list": "list", - "countOrCondition": "any", - "comparisonCriteria": "any", - "includeNulls": "logical" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.MinN", + "Name": "Number.Round", "Documentation": { - "Documentation.Name": "List.MinN", - "Documentation.Description": "Returns the minimum value(s) in the list. The number of values to return or a filtering condition may be specified.", - "Documentation.LongDescription": "Returns the minimum value(s) in the list, list.\r\n The parameter, countOrCondition, specifies the number of values to return or a filtering condition. The optional parameter, comparisonCriteria, specifies how to compare values in the list.\r\n ", - "Documentation.Category": "List.Ordering", + "Documentation.Name": "Number.Round", + "Documentation.Description": "Returns the rounded number. The number of digits and rounding mode can be specified.", + "Documentation.LongDescription": "Returns the result of rounding number to the nearest number. If number is null, Number.Round returns null.
\r\n
\r\n By default, number is rounded to the nearest integer, and ties are broken by rounding to the nearest even number (using RoundingMode.ToEven, also known as \"banker's rounding\").
\r\n
\r\n However, these defaults can be overridden via the following optional parameters.\r\n ", + "Documentation.Category": "Number.Rounding", "Documentation.Examples": [ { - "Description": "Find the 5 smallest values in the list {3, 4, 5, -1, 7, 8, 2}.", - "Code": "List.MinN({3, 4, 5, -1, 7, 8, 2}, 5)", - "Result": "{-1, 2, 3, 4, 5}" + "Description": "Round 1.234 to the nearest integer.", + "Code": "Number.Round(1.234)", + "Result": "1" + }, + { + "Description": "Round 1.56 to the nearest integer.", + "Code": "Number.Round(1.56)", + "Result": "2" + }, + { + "Description": "Round 1.2345 to two decimal places.", + "Code": "Number.Round(1.2345, 2)", + "Result": "1.23" + }, + { + "Description": "Round 1.2345 to three decimal places (Rounding up).", + "Code": "Number.Round(1.2345, 3, RoundingMode.Up)", + "Result": "1.235" + }, + { + "Description": "Round 1.2345 to three decimal places (Rounding down).", + "Code": "Number.Round(1.2345, 3, RoundingMode.Down)", + "Result": "1.234" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list": "list", - "countOrCondition": "any", - "comparisonCriteria": "any", - "includeNulls": "logical" + "number": "number", + "digits": "number", + "roundingMode": "RoundingMode.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Numbers", + "Name": "Number.RoundAwayFromZero", "Documentation": { - "Documentation.Name": "List.Numbers", - "Documentation.Description": "Returns a list of numbers given an initial value, count, and optional increment value.", - "Documentation.LongDescription": "Returns a list of numbers given an initial value, count, and optional increment value. The default increment value is 1.\r\n", - "Documentation.Category": "List.Generators", + "Documentation.Name": "Number.RoundAwayFromZero", + "Documentation.Description": "Returns the result of rounding positive numbers up and negative numbers down. The number of digits can be specified.", + "Documentation.LongDescription": "Returns the result of rounding number based on the sign of the number. This function will round positive numbers up and negative numbers down.\r\n If digits is specified, number is rounded to the digits number of decimal digits.\r\n ", + "Documentation.Category": "Number.Rounding", "Documentation.Examples": [ { - "Description": "Generate a list of 10 consecutive numbers starting at 1.", - "Code": "List.Numbers(1, 10)", - "Result": "{\r\n 1,\r\n 2,\r\n 3,\r\n 4,\r\n 5,\r\n 6,\r\n 7,\r\n 8,\r\n 9,\r\n 10\r\n}" + "Description": "Round the number -1.2 away from zero.", + "Code": "Number.RoundAwayFromZero(-1.2)", + "Result": "-2" }, { - "Description": "Generate a list of 10 numbers starting at 1, with an increment of 2 for each subsequent number.", - "Code": "List.Numbers(1, 10, 2)", - "Result": "{\r\n 1,\r\n 3,\r\n 5,\r\n 7,\r\n 9,\r\n 11,\r\n 13,\r\n 15,\r\n 17,\r\n 19\r\n}" + "Description": "Round the number 1.2 away from zero.", + "Code": "Number.RoundAwayFromZero(1.2)", + "Result": "2" + }, + { + "Description": "Round the number -1.234 to two decimal places away from zero.", + "Code": "Number.RoundAwayFromZero(-1.234, 2)", + "Result": "-1.24" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "start": "number", - "count": "number", - "increment": "number" + "number": "number", + "digits": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Percentile", + "Name": "Number.RoundDown", "Documentation": { - "Documentation.Name": "List.Percentile", - "Documentation.Description": "Returns one or more sample percentiles corresponding to the given probabilities.", - "Documentation.LongDescription": "Returns one or more sample percentiles of the list list. If the value percentiles is a number between 0.0 and 1.0, it will be treated as a percentile and the result will be\r\n a single value corresponding to that probability. If the value percentiles is a list of numbers with values between 0.0 and 1.0, the result will be a list of percentiles\r\n corresponding to the input probability. The PercentileMode option in options can be used by advanced users to pick a more-specific interpolation method but is not recommended for most uses.\r\n Predefined symbols PercentileMode.ExcelInc and PercentileMode.ExcelExc match the interpolation methods used by the Excel functions\r\n PERCENTILE.INC and PERCENTILE.EXC. The default behavior matches PercentileMode.ExcelInc. The symbols\r\n PercentileMode.SqlCont and PercentileMode.SqlDisc match the SQL Server behavior for PERCENTILE_CONT and\r\n PERCENTILE_DISC, respectively.\r\n ", - "Documentation.Category": "List.Ordering", + "Documentation.Name": "Number.RoundDown", + "Documentation.Description": "Returns the highest previous number. The number of digits can be specified.", + "Documentation.LongDescription": "Returns the result of rounding number down to the previous highest integer. If number is null, this function returns null.\r\n\r\n If digits is provided, number is rounded to the specified number of decimal digits.\r\n ", + "Documentation.Category": "Number.Rounding", "Documentation.Examples": [ { - "Description": "Find the first quartile of the list {5, 3, 1, 7, 9}.", - "Code": "List.Percentile({5, 3, 1, 7, 9}, 0.25)", - "Result": "3" + "Description": "Round down 1.234 to integer.", + "Code": "Number.RoundDown(1.234)", + "Result": "1" }, { - "Description": "Find the quartiles of the list {5, 3, 1, 7, 9} using an interpolation method matching Excel's PERCENTILE.EXC.", - "Code": "List.Percentile({5, 3, 1, 7, 9}, {0.25, 0.5, 0.75}, [PercentileMode=PercentileMode.ExcelExc])", - "Result": "{2, 5, 8}" + "Description": "Round down 1.999 to integer.", + "Code": "Number.RoundDown(1.999)", + "Result": "1" + }, + { + "Description": "Round down 1.999 to two decimal places.", + "Code": "Number.RoundDown(1.999, 2)", + "Result": "1.99" } ] }, - "ReturnType": "any", + "ReturnType": "number", "Parameters": { - "list": "list", - "percentiles": "any", - "options": "record" + "number": "number", + "digits": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.PositionOf", + "Name": "Number.RoundTowardZero", "Documentation": { - "Documentation.Name": "List.PositionOf", - "Documentation.Description": "Returns the offset(s) of a value in a list.", - "Documentation.LongDescription": "Returns the offset at which the value value appears in the list list. Returns -1 if the value doesn't appear.\r\n An optional occurrence parameter occurrence can be specified.\r\n", - "Documentation.Category": "List.Membership functions", + "Documentation.Name": "Number.RoundTowardZero", + "Documentation.Description": "Returns the result of rounding positive numbers down and negative numbers up. The number of digits can be specified.", + "Documentation.LongDescription": "Returns the result of rounding number based on the sign of the number. This function will round positive numbers down and negative numbers up.\r\n If digits is specified, number is rounded to the digits number of decimal digits.\r\n ", + "Documentation.Category": "Number.Rounding", "Documentation.Examples": [ { - "Description": "Find the position in the list {1, 2, 3} at which the value 3 appears.", - "Code": "List.PositionOf({1, 2, 3}, 3)", - "Result": "2" + "Description": "Round the number -1.2 toward zero.", + "Code": "Number.RoundTowardZero(-1.2)", + "Result": "-1" + }, + { + "Description": "Round the number 1.2 toward zero.", + "Code": "Number.RoundTowardZero(1.2)", + "Result": "1" + }, + { + "Description": "Round the number -1.234 to two decimal places toward zero.", + "Code": "Number.RoundTowardZero(-1.234, 2)", + "Result": "-1.23" } ] }, - "ReturnType": "any", + "ReturnType": "number", "Parameters": { - "list": "list", - "value": "any", - "occurrence": "Occurrence.Type", - "equationCriteria": "any" + "number": "number", + "digits": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.PositionOfAny", + "Name": "Number.RoundUp", "Documentation": { - "Documentation.Name": "List.PositionOfAny", - "Documentation.Description": "Returns the first offset of a value in a list.", - "Documentation.LongDescription": "Returns the offset in list list of the first occurrence of a value in a list values. Returns -1 if no occurrence is found.\r\n An optional occurrence parameter occurrence can be specified.\r\n", - "Documentation.Category": "List.Membership functions", + "Documentation.Name": "Number.RoundUp", + "Documentation.Description": "Returns the next highest number. The number of digits can be specified.", + "Documentation.LongDescription": "Returns the result of rounding number up to the next highest integer. If number is null, this function returns null.\r\n If digits is provided, number is rounded to the specified number of decimal digits.\r\n ", + "Documentation.Category": "Number.Rounding", "Documentation.Examples": [ { - "Description": "Find the first position in the list {1, 2, 3} at which the value 2 or 3 appears.", - "Code": "List.PositionOfAny({1, 2, 3}, {2, 3})", - "Result": "1" + "Description": "Round up 1.234 to integer.", + "Code": "Number.RoundUp(1.234)", + "Result": "2" + }, + { + "Description": "Round up 1.999 to integer.", + "Code": "Number.RoundUp(1.999)", + "Result": "2" + }, + { + "Description": "Round up 1.234 to two decimal places.", + "Code": "Number.RoundUp(1.234, 2)", + "Result": "1.24" } ] }, - "ReturnType": "any", + "ReturnType": "number", "Parameters": { - "list": "list", - "values": "list", - "occurrence": "Occurrence.Type", - "equationCriteria": "any" + "number": "number", + "digits": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Range", + "Name": "Number.Sign", "Documentation": { - "Documentation.Name": "List.Range", - "Documentation.Description": "Returns a subset of the list beginning at an offset.", - "Documentation.LongDescription": "Returns a subset of the list beginning at the offset list. An optional parameter, offset, sets the maximum number of items in the subset.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Number.Sign", + "Documentation.Description": "Returns 1 if the number is positive, -1 if it is negative, and 0 if it is zero.", + "Documentation.LongDescription": "Returns 1 for if number is a positive number, -1 if it is a negative number, and 0 if it is zero.\r\n If number is null, Number.Sign returns null.", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Find the subset starting at offset 6 of the list of numbers 1 through 10.", - "Code": "List.Range({1..10}, 6)", - "Result": "{7, 8, 9, 10}" + "Description": "Determine the sign of 182.", + "Code": "Number.Sign(182)", + "Result": "1" }, { - "Description": "Find the subset of length 2 from offset 6, from the list of numbers 1 through 10.", - "Code": "List.Range({1..10}, 6, 2)", - "Result": "{7, 8}" + "Description": "Determine the sign of -182.", + "Code": "Number.Sign(-182)", + "Result": "-1" + }, + { + "Description": "Determine the sign of 0.", + "Code": "Number.Sign(0)", + "Result": "0" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list": "list", - "offset": "number", - "count": "number" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.RemoveItems", + "Name": "Number.Sin", "Documentation": { - "Documentation.Name": "List.RemoveItems", - "Documentation.Description": "Removes items from list1 that are present in list.", - "Documentation.LongDescription": "Removes all occurrences of the given values in the list2 from list1. If the values in list2 don't exist in list1, the original list is returned.", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Number.Sin", + "Documentation.Description": "Returns the sine of the number.", + "Documentation.LongDescription": "Returns the sine of number.", + "Documentation.Category": "Number.Trigonometry", "Documentation.Examples": [ { - "Description": "Remove the items in the list {2, 4, 6} from the list {1, 2, 3, 4, 2, 5, 5}.", - "Code": "List.RemoveItems({1, 2, 3, 4, 2, 5, 5}, {2, 4, 6})", - "Result": "{1, 3, 5, 5}" + "Description": "Find the sine of the angle 0.", + "Code": "Number.Sin(0)", + "Result": "0" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list1": "list", - "list2": "list" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.RemoveMatchingItems", + "Name": "Number.Sinh", "Documentation": { - "Documentation.Name": "List.RemoveMatchingItems", - "Documentation.Description": "Removes all occurrences of the input values.", - "Documentation.LongDescription": "Removes all occurrences of the given values in list2 from the list list1. If the values in list2 don't exist in list1, the original list is returned.\r\n An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", - "Documentation.Category": "List.Transformation functions", - "Documentation.Examples": [ - { - "Description": "Create a list from {1, 2, 3, 4, 5, 5} without {1, 5}.", - "Code": "List.RemoveMatchingItems({1, 2, 3, 4, 5, 5}, {1, 5})", - "Result": "{2, 3, 4}" - } - ] + "Documentation.Name": "Number.Sinh", + "Documentation.Description": "Returns the hyperbolic sine of the number.", + "Documentation.LongDescription": "Returns the hyperbolic sine of number.", + "Documentation.Category": "Number.Trigonometry", + "Documentation.Examples": [] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list1": "list", - "list2": "list", - "equationCriteria": "any" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.RemoveRange", + "Name": "Number.Sqrt", "Documentation": { - "Documentation.Name": "List.RemoveRange", - "Documentation.Description": "Removes count number of values starting at the specified position.", - "Documentation.LongDescription": "Removes count values in the list starting at the specified position, index.", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Number.Sqrt", + "Documentation.Description": "Returns the square root of the number.", + "Documentation.LongDescription": "Returns the square root of number.\r\n If number is null, Number.Sqrt returns null. If it is a negative value, Number.NaN is returned (Not a number).", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Remove 3 values in the list {1, 2, 3, 4, -6, -2, -1, 5} starting at index 4.", - "Code": "List.RemoveRange({1, 2, 3, 4, -6, -2, -1, 5}, 4, 3)", - "Result": "{1, 2, 3, 4, 5}" + "Description": "Find the square root of 625.", + "Code": "Number.Sqrt(625)", + "Result": "25" + }, + { + "Description": "Find the square root of 85.", + "Code": "Number.Sqrt(85)", + "Result": "9.2195444572928871" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list": "list", - "index": "number", - "count": "number" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Repeat", + "Name": "Number.Tan", "Documentation": { - "Documentation.Name": "List.Repeat", - "Documentation.Description": "Returns a list that is count repetitions of the original list.", - "Documentation.LongDescription": "Returns a list that is count repetitions of the original list, list.", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Number.Tan", + "Documentation.Description": "Returns the tangent of the number.", + "Documentation.LongDescription": "Returns the tangent of number.", + "Documentation.Category": "Number.Trigonometry", "Documentation.Examples": [ { - "Description": "Create a list that has {1, 2} repeated 3 times.", - "Code": "List.Repeat({1, 2}, 3)", - "Result": "{1, 2, 1, 2, 1, 2}" + "Description": "Find the tangent of the angle 1.", + "Code": "Number.Tan(1)", + "Result": "1.5574077246549023" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list": "list", - "count": "number" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.ReplaceMatchingItems", + "Name": "Number.Tanh", "Documentation": { - "Documentation.Name": "List.ReplaceMatchingItems", - "Documentation.Description": "Applies each replacement of { old, new }.", - "Documentation.LongDescription": "Performs the given replacements to the list list. A replacement operation replacements consists of a list of two values, the old value and new value, provided in a list.\r\n An optional equation criteria value, equationCriteria, can be specified to control equality testing.", - "Documentation.Category": "List.Transformation functions", - "Documentation.Examples": [ - { - "Description": "Create a list from {1, 2, 3, 4, 5} replacing the value 5 with -5, and the value 1 with -1.", - "Code": "List.ReplaceMatchingItems({1, 2, 3, 4, 5}, {{5, -5}, {1, -1}})", - "Result": "{-1, 2, 3, 4, -5}" - } - ] + "Documentation.Name": "Number.Tanh", + "Documentation.Description": "Returns the hyperbolic tangent of the number.", + "Documentation.LongDescription": "Returns the hyperbolic tangent of number.", + "Documentation.Category": "Number.Trigonometry", + "Documentation.Examples": [] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "list": "list", - "replacements": "list", - "equationCriteria": "any" + "number": "number" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Select", + "Name": "Number.ToText", "Documentation": { - "Documentation.Name": "List.Select", - "Documentation.Description": "Returns a list of values that match the condition.", - "Documentation.LongDescription": "Returns a list of values from the list list, that match the selection condition selection.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Number.ToText", + "Documentation.Description": "Converts the given number to text.", + "Documentation.LongDescription": "Converts the numeric value number to a text value according to the format specified by format.
\r\n
\r\n The format is a text value indicating how the number should be converted. For more details on the supported format values, go to https://go.microsoft.com/fwlink/?linkid=2241210 and https://go.microsoft.com/fwlink/?linkid=2240884.
\r\n
\r\n An optional culture may also be provided (for example, \"en-US\") to control the culture-dependent behavior of format.", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Find the values in the list {1, -3, 4, 9, -2} that are greater than 0.", - "Code": "List.Select({1, -3, 4, 9, -2}, each _ > 0)", - "Result": "{1, 4, 9}" + "Description": "Convert a number to text without specifying a format.", + "Code": "Number.ToText(4)", + "Result": "\"4\"" + }, + { + "Description": "Convert a number to exponential format.", + "Code": "Number.ToText(4, \"e\")", + "Result": "\"4.000000e+000\"" + }, + { + "Description": "Convert a number to percentage format with only one decimal place.", + "Code": "Number.ToText(-0.1234, \"P1\")", + "Result": "\"-12.3 %\"" } ] }, - "ReturnType": "list", + "ReturnType": "text", "Parameters": { - "list": "list", - "selection": "function" + "number": "number", + "format": "text", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Split", + "Name": "OData.Feed", "Documentation": { - "Documentation.Name": "List.Split", - "Documentation.Description": "Splits the specified list into a list of lists using the specified page size.", - "Documentation.LongDescription": "Splits list into a list of lists where the first element of the output list is a list containing the first pageSize elements from\r\n the source list, the next element of the output list is a list containing the next pageSize elements from the source list, and so on.", - "Documentation.Category": "List.Transformation functions", - "Documentation.Examples": [] + "Documentation.Name": "OData.Feed", + "Documentation.Description": "Returns a table of OData feeds offered by an OData service.", + "Documentation.LongDescription": "Returns a table of OData feeds offered by an OData service from a uri serviceUri, headers headers. A boolean value specifying whether to use concurrent connections or an optional record parameter, options, may be specified to control the following options:\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [ + { + "Description": "Connect to the TripPin OData service.", + "Code": "OData.Feed(\"https://services.odata.org/V4/TripPinService\")", + "Result": "table" + } + ] }, - "ReturnType": "list", + "ReturnType": "any", "Parameters": { - "list": "list", - "pageSize": "number" + "serviceUri": "text", + "headers": "record", + "options": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "List.Transform", + "Name": "Odbc.InferOptions", "Documentation": { - "Documentation.Name": "List.Transform", - "Documentation.Description": "Returns a new list of values computed from this list.", - "Documentation.LongDescription": "Returns a new list of values by applying the transform function transform to the list, list.", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Odbc.InferOptions", + "Documentation.Description": "Returns the result of trying to infer SQL capabilities for an ODBC driver.", + "Documentation.LongDescription": "Returns the result of trying to infer SQL capbabilities with the connection string connectionString using ODBC. connectionString can be text or a record of property value pairs. Property values can either be text or number.", + "Documentation.Category": "Accessing data", "Documentation.Examples": [ { - "Description": "Add 1 to each value in the list {1, 2}.", - "Code": "List.Transform({1, 2}, each _ + 1)", - "Result": "{2, 3}" + "Description": "Return the inferred SQL capabilities for a connection string.", + "Code": "Odbc.InferOptions(\"dsn=your_dsn\")", + "Result": "record" } ] }, - "ReturnType": "list", - "Parameters": { - "list": "list", - "transform": "function" - }, - "RequiredParameters": "2" - }, - { - "Name": "Mixpanel.Export", - "Documentation": {}, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "fromDate": "text", - "toDate": "text", - "events": "list", - "bucket": "text" + "connectionString": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.Atan2", + "Name": "Parquet.Document", "Documentation": { - "Documentation.Name": "Number.Atan2", - "Documentation.Description": "Returns the arctangent of the division of the two numbers.", - "Documentation.LongDescription": "Returns the arctangent of the division of the two numbers, y and x. The divison will be constructed as y/x.", - "Documentation.Category": "Number.Trigonometry", + "Documentation.Name": "Parquet.Document", + "Documentation.Description": "Returns the contents of the Parquet document as a table.", + "Documentation.LongDescription": "Returns the contents of the Parquet document as a table. Options include:\r\n ", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "y": "number", - "x": "number" + "binary": "binary", + "options": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.BitwiseAnd", + "Name": "Parquet.Metadata", "Documentation": { - "Documentation.Name": "Number.BitwiseAnd", - "Documentation.Description": "Returns the result of performing a bitwise \"And\" operation between the two inputs.", - "Documentation.LongDescription": "Returns the result of performing a bitwise \"And\" operation between number1 and number2.", - "Documentation.Category": "Number.Bytes", + "Documentation.Name": "Parquet.Metadata", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number1": "number", - "number2": "number" + "binary": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.BitwiseOr", + "Name": "Percentage.From", "Documentation": { - "Documentation.Name": "Number.BitwiseOr", - "Documentation.Description": "Returns the result of performing a bitwise \"Or\" between the two inputs.", - "Documentation.LongDescription": "Returns the result of performing a bitwise \"Or\" between number1 and number2.", - "Documentation.Category": "Number.Bytes", - "Documentation.Examples": [] + "Documentation.Name": "Percentage.From", + "Documentation.Description": "Returns a percentage value from the given value.", + "Documentation.LongDescription": "Returns a percentage value from the given value. If the given value is null, Percentage.From returns null. If the given value is text with a trailing percent symbol, then the converted decimal number will be returned. Otherwise, the value will be converted to a number using Number.From. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Examples": [ + { + "Description": "Get the percentage value of \"12.3%\".", + "Code": "Percentage.From(\"12.3%\")", + "Result": "0.123" + } + ] }, "ReturnType": "number", "Parameters": { - "number1": "number", - "number2": "number" + "value": "any", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.BitwiseShiftLeft", + "Name": "RData.FromBinary", "Documentation": { - "Documentation.Name": "Number.BitwiseShiftLeft", - "Documentation.Description": "Shifts the bits set to the left.", - "Documentation.LongDescription": "Returns the result of performing a bitwise shift to the left on number1, by the specified number of bits number2.", - "Documentation.Category": "Number.Bytes", + "Documentation.Name": "RData.FromBinary", + "Documentation.Description": "Returns a record of data frames from the RData file.", + "Documentation.LongDescription": "Returns a record of data frames from the RData file.", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number1": "number", - "number2": "number" + "stream": "binary" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.BitwiseShiftRight", + "Name": "Record.Combine", "Documentation": { - "Documentation.Name": "Number.BitwiseShiftRight", - "Documentation.Description": "Shifts the bits set to the right.", - "Documentation.LongDescription": "Returns the result of performing a bitwise shift to the right on number1, by the specified number of bits number2.", - "Documentation.Category": "Number.Bytes", - "Documentation.Examples": [] + "Documentation.Name": "Record.Combine", + "Documentation.Description": "Combines the records in the given list.", + "Documentation.LongDescription": "Combines the records in the given records. If the records contains non-record values, an error is returned.", + "Documentation.Category": "Record.Transformations", + "Documentation.Examples": [ + { + "Description": "Create a combined record from the records.", + "Code": "Record.Combine({\r\n [CustomerID = 1, Name = \"Bob\"],\r\n [Phone = \"123-4567\"]\r\n})", + "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" + } + ] }, - "ReturnType": "number", + "ReturnType": "record", "Parameters": { - "number1": "number", - "number2": "number" + "records": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.BitwiseXor", + "Name": "Record.FieldCount", "Documentation": { - "Documentation.Name": "Number.BitwiseXor", - "Documentation.Description": "Returns the result of performing a bitwise \"XOR\" (Exclusive-OR) between the two inputs.", - "Documentation.LongDescription": "Returns the result of performing a bitwise \"XOR\" (Exclusive-OR) between number1 and number2.", - "Documentation.Category": "Number.Bytes", - "Documentation.Examples": [] + "Documentation.Name": "Record.FieldCount", + "Documentation.Description": "Returns the number of fields in the record.", + "Documentation.LongDescription": "Returns the number of fields in the record record.", + "Documentation.Category": "Record.Information", + "Documentation.Examples": [ + { + "Description": "Find the number of fields in the record.", + "Code": "Record.FieldCount([CustomerID = 1, Name = \"Bob\"])", + "Result": "2" + } + ] }, "ReturnType": "number", "Parameters": { - "number1": "number", - "number2": "number" + "record": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.Combinations", + "Name": "Record.FieldNames", "Documentation": { - "Documentation.Name": "Number.Combinations", - "Documentation.Description": "Returns the number of unique combinations.", - "Documentation.LongDescription": "Returns the number of unique combinations from a list of items, setSize with specified combination size, combinationSize.\r\n\r\n", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "Record.FieldNames", + "Documentation.Description": "Returns the names of the fields.", + "Documentation.LongDescription": "Returns the names of the fields in the record record as text.", + "Documentation.Category": "Record.Selection", "Documentation.Examples": [ { - "Description": "Find the number of combinations from a total of 5 items when each combination is a group of 3.", - "Code": "Number.Combinations(5, 3)", - "Result": "10" + "Description": "Find the names of the fields in the record.", + "Code": "Record.FieldNames([OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0])", + "Result": "{\"OrderID\", \"CustomerID\", \"Item\", \"Price\"}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "setSize": "number", - "combinationSize": "number" + "record": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.IntegerDivide", + "Name": "Record.FieldValues", "Documentation": { - "Documentation.Name": "Number.IntegerDivide", - "Documentation.Description": "Divides two numbers and returns the integer portion of the result.", - "Documentation.LongDescription": "Returns the integer portion of the result from dividing a number, number1, by another number, number2.\r\n If number1 or number2 are null, Number.IntegerDivide returns null.\r\n ", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "Record.FieldValues", + "Documentation.Description": "Returns a list of the field values.", + "Documentation.LongDescription": "Returns a list of the field values in record record.", + "Documentation.Category": "Record.Selection", "Documentation.Examples": [ { - "Description": "Divide 6 by 4.", - "Code": "Number.IntegerDivide(6, 4)", - "Result": "1" - }, - { - "Description": "Divide 8.3 by 3.", - "Code": "Number.IntegerDivide(8.3, 3)", - "Result": "2" + "Description": "Find the field values in the record.", + "Code": "Record.FieldValues([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"])", + "Result": "{1, \"Bob\", \"123-4567\"}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "number1": "number", - "number2": "number", - "precision": "Precision.Type" + "record": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.Mod", + "Name": "Record.FromTable", "Documentation": { - "Documentation.Name": "Number.Mod", - "Documentation.Description": "Integer divides two numbers and returns the remainder.", - "Documentation.LongDescription": "Returns the remainder resulting from the integer division of number by divisor.\r\n If number or divisor are null, Number.Mod returns null.\r\n ", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "Record.FromTable", + "Documentation.Description": "Creates a record from a table of the form {[Name = name, Value = value]}.", + "Documentation.LongDescription": "Returns a record from a table of records table containing field names and value names {[Name = name, Value = value]}. An exception is thrown if the field names are not unique.", + "Documentation.Category": "Record.Serialization", "Documentation.Examples": [ { - "Description": "Find the remainder when you divide 5 by 3.", - "Code": "Number.Mod(5, 3)", - "Result": "2" + "Description": "Create a record from the table of the form Table.FromRecords({[Name = \"CustomerID\", Value = 1], [Name = \"Name\", Value = \"Bob\"], [Name = \"Phone\", Value = \"123-4567\"]}).", + "Code": "Record.FromTable(\r\n Table.FromRecords({\r\n [Name = \"CustomerID\", Value = 1],\r\n [Name = \"Name\", Value = \"Bob\"],\r\n [Name = \"Phone\", Value = \"123-4567\"]\r\n })\r\n)", + "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" } ] }, - "ReturnType": "number", + "ReturnType": "record", "Parameters": { - "number": "number", - "divisor": "number", - "precision": "Precision.Type" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.Permutations", + "Name": "Record.ToList", "Documentation": { - "Documentation.Name": "Number.Permutations", - "Documentation.Description": "Returns the number of permutations.", - "Documentation.LongDescription": "Returns the number of permutations that can be generated from a number of items, setSize, with a specified permutation size, permutationSize.", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "Record.ToList", + "Documentation.Description": "Returns a list of values containing the field values of the input record.", + "Documentation.LongDescription": "Returns a list of values containing the field values from the input record.", + "Documentation.Category": "Record.Serialization", "Documentation.Examples": [ { - "Description": "Find the number of permutations from a total of 5 items in groups of 3.", - "Code": "Number.Permutations(5, 3)", - "Result": "60" + "Description": "Extract the field values from a record.", + "Code": "Record.ToList([A = 1, B = 2, C = 3])", + "Result": "{1, 2, 3}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "setSize": "number", - "permutationSize": "number" + "record": "record" + }, + "RequiredParameters": "1" + }, + { + "Name": "Resource.Access", + "Documentation": { + "Documentation.Name": "Resource.Access", + "Documentation.Description": "Resource.Access", + "Documentation.LongDescription": "Resource.Access", + "Documentation.Category": "", + "Documentation.Examples": [] + }, + "ReturnType": "any", + "Parameters": { + "resource": "any", + "nativeQuery": "text", + "options": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.Power", + "Name": "RowExpression.Column", "Documentation": { - "Documentation.Name": "Number.Power", - "Documentation.Description": "Raises a number to the given power.", - "Documentation.LongDescription": "Returns the result of raising number to the power of power.\r\n If number or power are null, Number.Power returns null.\r\n ", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "RowExpression.Column", + "Documentation.Description": "Returns an abstract syntax tree (AST) that represents access to a column within a row expression.", + "Documentation.LongDescription": "Returns an abstract syntax tree (AST) that represents access to column columnName of the row within a row expression.", + "Documentation.Category": "Table.Table construction", "Documentation.Examples": [ { - "Description": "Find the value of 5 raised to the power of 3 (5 cubed).", - "Code": "Number.Power(5, 3)", - "Result": "125" + "Description": "Creates an AST representing access of column \"CustomerName\".", + "Code": "RowExpression.Column(\"CustomerName\")", + "Result": "[\r\n Kind = \"FieldAccess\",\r\n Expression = RowExpression.Row,\r\n MemberName = \"CustomerName\"\r\n]" } ] }, - "ReturnType": "number", + "ReturnType": "record", "Parameters": { - "number": "number", - "power": "number" + "columnName": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Number.RandomBetween", + "Name": "RowExpression.From", "Documentation": { - "Documentation.Name": "Number.RandomBetween", - "Documentation.Description": "Returns a random number between two numbers.", - "Documentation.LongDescription": "Returns a random number between bottom and top.", - "Documentation.Category": "Number.Random", + "Documentation.Name": "RowExpression.From", + "Documentation.Description": "Returns the abstract syntax tree (AST) for the body of a function.", + "Documentation.LongDescription": "

Returns the abstract syntax tree (AST) for the body of function, normalized into a row expression:\r\n

\r\n

\r\n

An error is raised if a row expression AST cannot be returned for the body of function.

", + "Documentation.Category": "Table.Table construction", "Documentation.Examples": [ { - "Description": "Get a random number between 1 and 5.", - "Code": "Number.RandomBetween(1, 5)", - "Result": "2.546797" + "Description": "Returns the AST for the body of the function each [CustomerID] = \"ALFKI\"", + "Code": "RowExpression.From(each [CustomerName] = \"ALFKI\")", + "Result": "[\r\n Kind = \"Binary\",\r\n Operator = \"Equals\",\r\n Left = RowExpression.Column(\"CustomerName\"),\r\n Right =\r\n [\r\n Kind = \"Constant\",\r\n Value = \"ALFKI\"\r\n ]\r\n]" } ] }, - "ReturnType": "number", + "ReturnType": "record", "Parameters": { - "bottom": "number", - "top": "number" + "function": "function" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Record.Field", + "Name": "Single.From", "Documentation": { - "Documentation.Name": "Record.Field", - "Documentation.Description": "Returns the value of the specified field in a record.", - "Documentation.LongDescription": "Returns the value of the specified field in the record. If the field is not found, an exception is thrown.", - "Documentation.Category": "Record.Selection", + "Documentation.Name": "Single.From", + "Documentation.Description": "Creates a Single from the given value.", + "Documentation.LongDescription": "Returns a Single number value from the given value. If the given value is null, Single.From returns null. If the given value is number within the range of Single, value is returned, otherwise an error is returned. If value is of any other type, it will first be converted to a number using Number.FromText. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Number.Conversion and formatting", "Documentation.Examples": [ { - "Description": "Find the value of field \"CustomerID\" in the record.", - "Code": "Record.Field([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"], \"CustomerID\")", - "Result": "1" + "Description": "Get the Single number value of \"1.5\".", + "Code": "Single.From(\"1.5\")", + "Result": "1.5" } ] }, - "ReturnType": "any", + "ReturnType": "number", "Parameters": { - "record": "record", - "field": "text" + "value": "any", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Record.FieldOrDefault", + "Name": "Smartsheet.Content", "Documentation": { - "Documentation.Name": "Record.FieldOrDefault", - "Documentation.Description": "Returns the value of the specified field in a record or the default value if the field is not found.", - "Documentation.LongDescription": "Returns the value of the specified field field in the record record. If the field is not found, the optional defaultValue is returned.", - "Documentation.Category": "Record.Selection", + "Documentation.Description": "Returns a table of data from an Smartsheet index endpoint.", + "Documentation.DisplayName": "Smartsheet.Content", + "Documentation.Caption": "Smartsheet.Content", + "Documentation.Name": "Smartsheet.Content", + "Documentation.LongDescription": "Makes a call to the Smartsheet 2.0 REST API at the specified endpoint and transforms the data element returned into a table.", "Documentation.Examples": [ { - "Description": "Find the value of field \"Phone\" in the record, or return null if it doesn't exist.", - "Code": "Record.FieldOrDefault([CustomerID = 1, Name = \"Bob\"], \"Phone\")", - "Result": "null" - }, - { - "Description": "Find the value of field \"Phone\" in the record, or return the default if it doesn't exist.", - "Code": "Record.FieldOrDefault([CustomerID = 1, Name = \"Bob\"], \"Phone\", \"123-4567\")", - "Result": "\"123-4567\"" + "Description": "Pulls a table of users information from the Smartsheet API", + "Code": "Smartsheet.Content(\"users\")", + "Result": "A table with users information as returned by the Smartsheet API" } ] }, "ReturnType": "any", "Parameters": { - "record": "record", - "field": "text", - "defaultValue": "any" + "endpoint": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Record.FromList", + "Name": "Splitter.SplitTextByAnyDelimiter", "Documentation": { - "Documentation.Name": "Record.FromList", - "Documentation.Description": "Returns a record given a list of field values and a set of fields.", - "Documentation.LongDescription": "Returns a record given a list of field values and a set of fields. The fields can be specified either by a list of text values, or a record type. An error is thrown if the fields are not unique.", - "Documentation.Category": "Record.Serialization", + "Documentation.Name": "Splitter.SplitTextByAnyDelimiter", + "Documentation.Description": "Returns a function that splits text into a list of text at any of the specified delimiters.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text at any of the specified delimiters.", + "Documentation.Category": "Splitter", "Documentation.Examples": [ { - "Description": "Build a record from a list of field values and a list of field names.", - "Code": "Record.FromList({1, \"Bob\", \"123-4567\"}, {\"CustomerID\", \"Name\", \"Phone\"})", - "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" + "Description": "Split the input by comma or semicolon, ignoring quotes and quoted delimiters and starting from the beginning of the input.", + "Code": "Splitter.SplitTextByAnyDelimiter({\",\", \";\"}, QuoteStyle.Csv)(\"a,b;\"\"c,d;e\"\",f\")", + "Result": "{\"a\", \"b\", \"c,d;e\", \"f\"}" }, { - "Description": "Build a record from a list of field values and a record type.", - "Code": "Record.FromList({1, \"Bob\", \"123-4567\"}, type [CustomerID = number, Name = text, Phone = number])", - "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" + "Description": "Split the input by comma or semicolon, ignoring quotes and quoted delimiters and starting from the end of the input.", + "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByAnyDelimiter({\",\", \";\"}, QuoteStyle.Csv, startAtEnd)(\"a,\"\"b;c,d\")", + "Result": "{\"a,b\", \"c\", \"d\"}" } ] }, - "ReturnType": "record", + "ReturnType": "function", "Parameters": { - "list": "list", - "fields": "any" + "delimiters": "list", + "quoteStyle": "QuoteStyle.Type", + "startAtEnd": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Record.HasFields", + "Name": "Splitter.SplitTextByDelimiter", "Documentation": { - "Documentation.Name": "Record.HasFields", - "Documentation.Description": "Indicates whether the record has the specified fields.", - "Documentation.LongDescription": "Indicates whether the record record has the fields specified in fields, by returning a logical value (true or false).\r\n Multiple field values can be specified using a list.", - "Documentation.Category": "Record.Information", + "Documentation.Name": "Splitter.SplitTextByDelimiter", + "Documentation.Description": "Returns a function that splits text into a list of text according to the specified delimiter.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text according to the specified delimiter.", + "Documentation.Category": "Splitter", "Documentation.Examples": [ { - "Description": "Check if the record has the field \"CustomerID\".", - "Code": "Record.HasFields([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"], \"CustomerID\")", - "Result": "true" - }, - { - "Description": "Check if the record has the field \"CustomerID\" and \"Address\".", - "Code": "Record.HasFields([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"], {\"CustomerID\", \"Address\"})", - "Result": "false" + "Description": "Split the input by comma, ignoring quoted commas.", + "Code": "Splitter.SplitTextByDelimiter(\",\", QuoteStyle.Csv)(\"a,\"\"b,c\"\",d\")", + "Result": "{\"a\", \"b,c\", \"d\"}" } ] }, - "ReturnType": "logical", + "ReturnType": "function", "Parameters": { - "record": "record", - "fields": "any" + "delimiter": "text", + "quoteStyle": "QuoteStyle.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Record.RemoveFields", + "Name": "Splitter.SplitTextByEachDelimiter", "Documentation": { - "Documentation.Name": "Record.RemoveFields", - "Documentation.Description": "Removes the specified field(s) from the input record.", - "Documentation.LongDescription": "Returns a record that removes all the fields specified in list fields from the input record. If the field specified does not exist, an exception is thrown.", - "Documentation.Category": "Record.Transformations", + "Documentation.Name": "Splitter.SplitTextByEachDelimiter", + "Documentation.Description": "Returns a function that splits text into a list of text at each specified delimiter in sequence.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text at each specified delimiter in sequence.", + "Documentation.Category": "Splitter", "Documentation.Examples": [ { - "Description": "Remove the field \"Price\" from the record.", - "Code": "Record.RemoveFields([CustomerID = 1, Item = \"Fishing rod\", Price = 18.00], \"Price\")", - "Result": "[CustomerID = 1, Item = \"Fishing rod\"]" + "Description": "Split the input by comma, then semicolon, starting from the beginning of the input.", + "Code": "Splitter.SplitTextByEachDelimiter({\",\", \";\"})(\"a,b;c,d\")", + "Result": "{\"a\", \"b\", \"c,d\"}" }, { - "Description": "Remove the fields \"Price\" and \"Item\" from the record.", - "Code": "Record.RemoveFields([CustomerID = 1, Item = \"Fishing rod\", Price = 18.00], {\"Price\", \"Item\"})", - "Result": "[CustomerID = 1]" + "Description": "Split the input by comma, then semicolon, treating quotes like any other character and starting from the end of the input.", + "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByEachDelimiter({\",\", \";\"}, QuoteStyle.None, startAtEnd)(\"a,\"\"b;c\"\",d\")", + "Result": "{\"a,\"\"b\", \"c\"\"\", \"d\"}" } ] }, - "ReturnType": "record", + "ReturnType": "function", "Parameters": { - "record": "record", - "fields": "any", - "missingField": "MissingField.Type" + "delimiters": "list", + "quoteStyle": "QuoteStyle.Type", + "startAtEnd": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Record.RenameFields", + "Name": "Splitter.SplitTextByLengths", "Documentation": { - "Documentation.Name": "Record.RenameFields", - "Documentation.Description": "Applies rename(s) from a list in the form { old, new }.", - "Documentation.LongDescription": "Returns a record after renaming fields in the input record to the new field names specified in list renames. For multiple renames, a nested list can be used ({ {old1, new1}, {old2, new2} }.", - "Documentation.Category": "Record.Transformations", + "Documentation.Name": "Splitter.SplitTextByLengths", + "Documentation.Description": "Returns a function that splits text into a list of text by each specified length.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text by each specified length.", + "Documentation.Category": "Splitter", "Documentation.Examples": [ { - "Description": "Rename the field \"UnitPrice\" to \"Price\" from the record.", - "Code": "Record.RenameFields(\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", UnitPrice = 100.0],\r\n {\"UnitPrice\", \"Price\"}\r\n)", - "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0]" + "Description": "Split the input into the first two characters followed by the next three, starting from the beginning of the input.", + "Code": "Splitter.SplitTextByLengths({2, 3})(\"AB123\")", + "Result": "{\"AB\", \"123\"}" }, { - "Description": "Rename the fields \"UnitPrice\" to \"Price\" and \"OrderNum\" to \"OrderID\" from the record.", - "Code": "Record.RenameFields(\r\n [OrderNum = 1, CustomerID = 1, Item = \"Fishing rod\", UnitPrice = 100.0],\r\n {\r\n {\"UnitPrice\", \"Price\"},\r\n {\"OrderNum\", \"OrderID\"}\r\n }\r\n)", - "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0]" - } - ] - }, - "ReturnType": "record", - "Parameters": { - "record": "record", - "renames": "list", - "missingField": "MissingField.Type" - }, - "RequiredParameters": "2" - }, - { - "Name": "Record.ReorderFields", - "Documentation": { - "Documentation.Name": "Record.ReorderFields", - "Documentation.Description": "Reorders the field(s) specified into the new order.", - "Documentation.LongDescription": "Returns a record after reordering the fields in record in the order of fields specified in list fieldOrder. Field values are maintained and fields not listed in fieldOrder are left in their original position.", - "Documentation.Category": "Record.Transformations", - "Documentation.Examples": [ - { - "Description": "Reorder some of the fields in the record.", - "Code": "Record.ReorderFields(\r\n [CustomerID = 1, OrderID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n {\"OrderID\", \"CustomerID\"}\r\n)", - "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0]" + "Description": "Split the input into the first three characters followed by the next two, starting from the end of the input.", + "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByLengths({5, 2}, startAtEnd)(\"RedmondWA98052\")", + "Result": "{\"WA\", \"98052\"}" } ] }, - "ReturnType": "record", + "ReturnType": "function", "Parameters": { - "record": "record", - "fieldOrder": "list", - "missingField": "MissingField.Type" + "lengths": "list", + "startAtEnd": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Record.SelectFields", + "Name": "Splitter.SplitTextByPositions", "Documentation": { - "Documentation.Name": "Record.SelectFields", - "Documentation.Description": "Returns a record that contains only the specified fields.", - "Documentation.LongDescription": "Returns a record which includes only the fields specified in list fields from the input record.", - "Documentation.Category": "Record.Selection", + "Documentation.Name": "Splitter.SplitTextByPositions", + "Documentation.Description": "Returns a function that splits text into a list of text at each specified position.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text at each specified position.", + "Documentation.Category": "Splitter", "Documentation.Examples": [ { - "Description": "Select the fields \"Item\" and \"Price\" in the record.", - "Code": "Record.SelectFields(\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n {\"Item\", \"Price\"}\r\n)", - "Result": "[Item = \"Fishing rod\", Price = 100]" + "Description": "Split the input at the specified positions, starting from the beginning of the input.", + "Code": "Splitter.SplitTextByPositions({0, 3, 4})(\"ABC|12345\")", + "Result": "{\"ABC\", \"|\", \"12345\"}" + }, + { + "Description": "Split the input at the specified positions, starting from the end of the input.", + "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByPositions({0, 5}, startAtEnd)(\"Redmond98052\")", + "Result": "{\"Redmond\", \"98052\"}" } ] }, - "ReturnType": "record", + "ReturnType": "function", "Parameters": { - "record": "record", - "fields": "any", - "missingField": "MissingField.Type" + "positions": "list", + "startAtEnd": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Record.TransformFields", + "Name": "Splitter.SplitTextByRanges", "Documentation": { - "Documentation.Name": "Record.TransformFields", - "Documentation.Description": "Returns a record after applying specified transformations.", - "Documentation.LongDescription": "Returns a record after applying transformations specified in list transformOperations to record.\r\n One or more fields may be transformed at a given time.\r\n
In the case of a single field being transformed, transformOperations is expected to be a list with two items. The first item in transformOperations specifies a field name, and the second item in transformOperations specifies the function to be used for transformation. For example, {\"Quantity\", Number.FromText}
\r\n
In the case of a multiple fields being transformed, transformOperations is expected to be a list of lists, where each inner list is a pair of field name and transformation operation. For example, {{\"Quantity\",Number.FromText},{\"UnitPrice\", Number.FromText}}
", - "Documentation.Category": "Record.Transformations", + "Documentation.Name": "Splitter.SplitTextByRanges", + "Documentation.Description": "Returns a function that splits text into a list of text according to the specified offsets and lengths.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text according to the specified offsets and lengths. A null length indicates that all remaining input should be included.", + "Documentation.Category": "Splitter", "Documentation.Examples": [ { - "Description": "Convert \"Price\" field to number.", - "Code": "Record.TransformFields(\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = \"100.0\"],\r\n {\"Price\", Number.FromText}\r\n)", - "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100]" + "Description": "Split the input by the specified position and length pairs, starting from the beginning of the input. Note that the ranges in this example overlap.", + "Code": "Splitter.SplitTextByRanges({{0, 4}, {2, 10}})(\"codelimiter\")", + "Result": "{\"code\", \"delimiter\"}" }, { - "Description": "Convert \"OrderID\" and \"Price\" fields to numbers.", - "Code": "Record.TransformFields(\r\n [OrderID = \"1\", CustomerID = 1, Item = \"Fishing rod\", Price = \"100.0\"],\r\n {{\"OrderID\", Number.FromText}, {\"Price\", Number.FromText}}\r\n)", - "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100]" + "Description": "Split the input by the specified position and length pairs, starting from the end of the input.", + "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByRanges({{0, 5}, {6, 2}}, startAtEnd)(\"RedmondWA?98052\")", + "Result": "{\"WA\", \"98052\"}" + }, + { + "Description": "Split the input into a fixed-length postal code followed by a variable-length city name.", + "Code": "Splitter.SplitTextByRanges({{0, 5}, {5, null}})(\"98052Redmond\")", + "Result": "{\"98052\", \"Redmond\"}" } ] }, - "ReturnType": "record", + "ReturnType": "function", "Parameters": { - "record": "record", - "transformOperations": "list", - "missingField": "MissingField.Type" + "ranges": "list", + "startAtEnd": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Splitter.SplitTextByCharacterTransition", + "Name": "Splitter.SplitTextByRepeatedLengths", "Documentation": { - "Documentation.Name": "Splitter.SplitTextByCharacterTransition", - "Documentation.Description": "Returns a function that splits text into a list of text according to a transition from one kind of character to another. The {0} and {1} parameters can either be a list of characters, or a function that takes a character and returns true/false.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text according to a transition from one kind of character to another. The before and after parameters can either be a list of characters, or a function that takes a character and returns true/false.", + "Documentation.Name": "Splitter.SplitTextByRepeatedLengths", + "Documentation.Description": "Returns a function that splits text into a list of text after the specified length repeatedly.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text after the specified length repeatedly.", "Documentation.Category": "Splitter", "Documentation.Examples": [ { - "Description": "Split the input whenever an upper or lowercase letter is followed by a digit.", - "Code": "Splitter.SplitTextByCharacterTransition({\"A\"..\"Z\", \"a\"..\"z\"}, {\"0\"..\"9\"})(\"Abc123\")", - "Result": "{\"Abc\", \"123\"}" + "Description": "Repeatedly split the input into chunks of three characters, starting from the beginning of the input.", + "Code": "Splitter.SplitTextByRepeatedLengths(3)(\"12345678\")", + "Result": "{\"123\", \"456\", \"78\"}" + }, + { + "Description": "Repeatedly split the input into chunks of three characters, starting from the end of the input.", + "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByRepeatedLengths(3, startAtEnd)(\"87654321\")", + "Result": "{\"87\", \"654\", \"321\"}" } ] }, "ReturnType": "function", "Parameters": { - "before": "any", - "after": "any" + "length": "number", + "startAtEnd": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "SqlExpression.ToExpression", + "Name": "SqlExpression.SchemaFrom", "Documentation": { - "Documentation.Name": "SqlExpression.ToExpression", - "Documentation.Description": "Converts the provided SQL query to M code. This function is intended for internal use only.", - "Documentation.LongDescription": "Converts the provided sql query to M code, with the available identifiers defined by environment. This function is intended for internal use only.", + "Documentation.Name": "SqlExpression.SchemaFrom", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", "Documentation.Category": "Values.Implementation", "Documentation.Examples": [] }, - "ReturnType": "text", - "Parameters": { - "sql": "text", - "environment": "record" - }, - "RequiredParameters": "2" - }, - { - "Name": "Table.Column", - "Documentation": { - "Documentation.Name": "Table.Column", - "Documentation.Description": "Returns a specified column of data from the table as a list.", - "Documentation.LongDescription": "Returns the column of data specified by column from the table table as a list.", - "Documentation.Category": "Table.Column operations", - "Documentation.Examples": [ - { - "Description": "Returns the values from the [Name] column in the table.", - "Code": "Table.Column(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Name\"\r\n)", - "Result": "{\"Bob\", \"Jim\", \"Paul\", \"Ringo\"}" - } - ] - }, - "ReturnType": "list", + "ReturnType": "any", "Parameters": { - "table": "table", - "column": "text" + "schema": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ColumnsOfType", + "Name": "Table.ApproximateRowCount", "Documentation": { - "Documentation.Name": "Table.ColumnsOfType", - "Documentation.Description": "Returns a list with the names of the columns that match the specified types.", - "Documentation.LongDescription": "Returns a list with the names of the columns from table table that match the types specified in listOfTypes.", - "Documentation.Category": "Table.Column operations", + "Documentation.Name": "Table.ApproximateRowCount", + "Documentation.Description": "Returns the approximate number of rows in the table.", + "Documentation.LongDescription": "Returns the approximate number of rows in the table, or an error if the data source doesn't support approximation.", + "Documentation.Category": "Table.Information", "Documentation.Examples": [ { - "Description": "Return the names of columns of type Number.Type from the table.", - "Code": "Table.ColumnsOfType(\r\n Table.FromRecords(\r\n {[a = 1, b = \"hello\"]},\r\n type table[a = Number.Type, b = Text.Type]\r\n ),\r\n {type number}\r\n)", - "Result": "{\"a\"}" + "Description": "Estimate the number of distinct combinations of city and state in a large table, which can be used as a cardinality estimate for the columns. Cardinality estimates are important enough that various data sources (such as SQL Server) support this particular approximation, often using an algorithm called HyperLogLog.", + "Code": "Table.ApproximateRowCount(Table.Distinct(Table.SelectColumns(sqlTable, {\"city\", \"state\"})))", + "Result": "number" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "table": "table", - "listOfTypes": "list" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.Contains", + "Name": "Table.ColumnCount", "Documentation": { - "Documentation.Name": "Table.Contains", - "Documentation.Description": "Indicates whether the specified record appears as a row in the table.", - "Documentation.LongDescription": "Indicates whether the specified record, row, appears as a row in the table.\r\n An optional parameter equationCriteria may be specified to control comparison between the rows of the table.", - "Documentation.Category": "Table.Membership", + "Documentation.Name": "Table.ColumnCount", + "Documentation.Description": "Returns the number of columns in the table.", + "Documentation.LongDescription": "Returns the number of columns in the table table.", + "Documentation.Category": "Table.Information", "Documentation.Examples": [ { - "Description": "Determine if the table contains the row.", - "Code": "Table.Contains(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n [Name = \"Bob\"]\r\n)", - "Result": "true" - }, - { - "Description": "Determine if the table contains the row.", - "Code": "Table.Contains(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n [Name = \"Ted\"]\r\n)", - "Result": "false" - }, - { - "Description": "Determine if the table contains the row comparing only the column [Name].", - "Code": "Table.Contains(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n [CustomerID = 4, Name = \"Bob\"],\r\n \"Name\"\r\n)", - "Result": "true" + "Description": "Find the number of columns in the table.", + "Code": "Table.ColumnCount(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", + "Result": "3" } ] }, - "ReturnType": "logical", + "ReturnType": "number", "Parameters": { - "table": "table", - "row": "record", - "equationCriteria": "any" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ContainsAll", + "Name": "Table.ColumnNames", "Documentation": { - "Documentation.Name": "Table.ContainsAll", - "Documentation.Description": "Indicates whether all of the specified records appear as rows in the table.", - "Documentation.LongDescription": "Indicates whether all the specified records in the list of records rows, appear as rows in the table.\r\n An optional parameter equationCriteria may be specified to control comparison between the rows of the table.", - "Documentation.Category": "Table.Membership", + "Documentation.Name": "Table.ColumnNames", + "Documentation.Description": "Returns the column names as a list.", + "Documentation.LongDescription": "Returns the column names in the table table as a list of text.", + "Documentation.Category": "Table.Column operations", "Documentation.Examples": [ { - "Description": "Determine if the table contains all the rows, comparing only the column [CustomerID].", - "Code": "Table.ContainsAll(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n {\r\n [CustomerID = 1, Name = \"Bill\"],\r\n [CustomerID = 2, Name = \"Fred\"]\r\n },\r\n \"CustomerID\"\r\n)", - "Result": "true" - }, - { - "Description": "Determine if the table contains all the rows.", - "Code": "Table.ContainsAll(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n {\r\n [CustomerID = 1, Name = \"Bill\"],\r\n [CustomerID = 2, Name = \"Fred\"]\r\n }\r\n)", - "Result": "false" + "Description": "Find the column names of the table.", + "Code": "Table.ColumnNames(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n })\r\n)", + "Result": "{\"CustomerID\", \"Name\", \"Phone\"}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "table": "table", - "rows": "list", - "equationCriteria": "any" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ContainsAny", + "Name": "Table.First", "Documentation": { - "Documentation.Name": "Table.ContainsAny", - "Documentation.Description": "Indicates whether any of the specified records appear as rows in the table.", - "Documentation.LongDescription": "Indicates whether any the specified records in the list of records rows, appear as rows in the table.\r\n An optional parameter equationCriteria may be specified to control comparison between the rows of the table.", - "Documentation.Category": "Table.Membership", + "Documentation.Name": "Table.First", + "Documentation.Description": "Returns the first row or a specified default value.", + "Documentation.LongDescription": "Returns the first row of the table or an optional default value, default, if the table is empty.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Determine if the table ({[a = 1, b = 2], [a = 3, b = 4]}) contains the rows [a = 1, b = 2] or [a = 3, b = 5].", - "Code": "Table.ContainsAny(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n {\r\n [a = 1, b = 2],\r\n [a = 3, b = 5]\r\n }\r\n)", - "Result": "true" - }, - { - "Description": "Determine if the table ({[a = 1, b = 2], [a = 3, b = 4]}) contains the rows [a = 1, b = 3] or [a = 3, b = 5].", - "Code": "Table.ContainsAny(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n {\r\n [a = 1, b = 3],\r\n [a = 3, b = 5]\r\n }\r\n)", - "Result": "false" + "Description": "Find the first row of the table.", + "Code": "Table.First(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", + "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" }, { - "Description": "Determine if the table (Table.FromRecords({[a = 1, b = 2], [a = 3, b = 4]})) contains the rows [a = 1, b = 3] or [a = 3, b = 5] comparing only the column [a].", - "Code": "Table.ContainsAny(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n {\r\n [a = 1, b = 3],\r\n [a = 3, b = 5]\r\n },\r\n \"a\"\r\n)", - "Result": "true" + "Description": "Find the first row of the table ({}) or return [a = 0, b = 0] if empty.", + "Code": "Table.First(Table.FromRecords({}), [a = 0, b = 0])", + "Result": "[a = 0, b = 0]" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { "table": "table", - "rows": "list", - "equationCriteria": "any" + "default": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.FilterWithDataTable", + "Name": "Table.FirstValue", "Documentation": { - "Documentation.Name": "Table.FilterWithDataTable", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Table.FirstValue", + "Documentation.Description": "Returns the first column of the first row of the table or a specified default value.", + "Documentation.LongDescription": "Returns the first column of the first row of the table table or a specified default value.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [] }, "ReturnType": "any", "Parameters": { "table": "table", - "dataTableIdentifier": "text" + "default": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.HasColumns", + "Name": "Table.IsDistinct", "Documentation": { - "Documentation.Name": "Table.HasColumns", - "Documentation.Description": "Indicates whether the table contains the specified column(s).", - "Documentation.LongDescription": "Indicates whether the table contains the specified column(s), columns. Returns true if the table contains the column(s), false otherwise.", - "Documentation.Category": "Table.Column operations", + "Documentation.Name": "Table.IsDistinct", + "Documentation.Description": "Indicates whether the table contains only distinct rows (no duplicates).", + "Documentation.LongDescription": "Indicates whether the table contains only distinct rows (no duplicates). Returns true if the rows are distinct, false otherwise.\r\n An optional parameter, comparisonCriteria, specifies which columns of the table are tested for duplication. If comparisonCriteria is not specified, all columns are tested.", + "Documentation.Category": "Table.Membership", "Documentation.Examples": [ { - "Description": "Determine if the table has the column [Name].", - "Code": "Table.HasColumns(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Name\"\r\n)", + "Description": "Determine if the table is distinct.", + "Code": "Table.IsDistinct(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n })\r\n)", "Result": "true" }, { - "Description": "Find if the table has the column [Name] and [PhoneNumber].", - "Code": "Table.HasColumns(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n {\"Name\", \"PhoneNumber\"}\r\n)", + "Description": "Determine if the table is distinct in column.", + "Code": "Table.IsDistinct(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 5, Name = \"Bob\", Phone = \"232-1550\"]\r\n }),\r\n \"Name\"\r\n)", "Result": "false" } ] @@ -9568,1287 +7382,1158 @@ "ReturnType": "logical", "Parameters": { "table": "table", - "columns": "any" + "comparisonCriteria": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.MatchesAllRows", + "Name": "Table.IsEmpty", "Documentation": { - "Documentation.Name": "Table.MatchesAllRows", - "Documentation.Description": "Indicates whether all the rows in the table meet the given condition.", - "Documentation.LongDescription": "Indicates whether all the rows in the table match the given condition. Returns true if all of the rows match, false otherwise.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Table.IsEmpty", + "Documentation.Description": "Indicates whether the table contains any rows.", + "Documentation.LongDescription": "Indicates whether the table contains any rows. Returns true if there are no rows (i.e. the table is empty), false otherwise.", + "Documentation.Category": "Table.Information", "Documentation.Examples": [ { - "Description": "Determine whether all of the row values in column [a] are even in the table.", - "Code": "Table.MatchesAllRows(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n }),\r\n each Number.Mod([a], 2) = 0\r\n)", - "Result": "true" + "Description": "Determine if the table is empty.", + "Code": "Table.IsEmpty(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", + "Result": "false" }, { - "Description": "Find if all of the row values are [a = 1, b = 2], in the table ({[a = 1, b = 2], [a = 3, b = 4]}).", - "Code": "Table.MatchesAllRows(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = -3, b = 4]\r\n }),\r\n each _ = [a = 1, b = 2]\r\n)", - "Result": "false" + "Description": "Determine if the table ({}) is empty.", + "Code": "Table.IsEmpty(Table.FromRecords({}))", + "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "table": "table", - "condition": "function" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.MatchesAnyRows", + "Name": "Table.Keys", "Documentation": { - "Documentation.Name": "Table.MatchesAnyRows", - "Documentation.Description": "Indicates whether any the rows in the table meet the given condition.", - "Documentation.LongDescription": "Indicates whether any the rows in the table match the given condition. Returns true if any of the rows match, false otherwise.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Table.Keys", + "Documentation.Description": "Returns the keys of the specified table.", + "Documentation.LongDescription": "Returns the keys of the specified table.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Determine whether any of the row values in column [a] are even in the table ({[a = 2, b = 4], [a = 6, b = 8]}).", - "Code": "Table.MatchesAnyRows(\r\n Table.FromRecords({\r\n [a = 1, b = 4],\r\n [a = 3, b = 8]\r\n }),\r\n each Number.Mod([a], 2) = 0\r\n)", - "Result": "false" - }, - { - "Description": "Determine whether any of the row values are [a = 1, b = 2], in the table ({[a = 1, b = 2], [a = 3, b = 4]}).", - "Code": "Table.MatchesAnyRows(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = -3, b = 4]\r\n }),\r\n each _ = [a = 1, b = 2]\r\n)", - "Result": "true" + "Description": "Get the list of keys for a table.", + "Code": "let\r\n table = Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n }),\r\n tableWithKeys = Table.AddKey(table, {\"Id\"}, true),\r\n keys = Table.Keys(tableWithKeys)\r\nin\r\n keys", + "Result": "{[Columns = {\"Id\"}, Primary = true]}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "table": "table", - "condition": "function" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.Max", + "Name": "Table.Last", "Documentation": { - "Documentation.Name": "Table.Max", - "Documentation.Description": "Returns the largest row or default value using the given criteria.", - "Documentation.LongDescription": "Returns the largest row in the table, given the comparisonCriteria. If the table is empty, the optional default value is returned. ", - "Documentation.Category": "Table.Ordering", + "Documentation.Name": "Table.Last", + "Documentation.Description": "Returns the last row or a specified default value.", + "Documentation.LongDescription": "Returns the last row of the table or an optional default value, default, if the table is empty.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Find the row with the largest value in column [a] in the table ({[a = 2, b = 4], [a = 6, b = 8]}).", - "Code": "Table.Max(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n }),\r\n \"a\"\r\n)", - "Result": "[a = 6, b = 8]" + "Description": "Find the last row of the table.", + "Code": "Table.Last(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", + "Result": "[CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]" }, { - "Description": "Find the row with the largest value in column [a] in the table ({}). Return -1 if empty.", - "Code": "Table.Max(#table({\"a\"}, {}), \"a\", -1)", - "Result": "-1" + "Description": "Find the last row of the table ({}) or return [a = 0, b = 0] if empty.", + "Code": "Table.Last(Table.FromRecords({}), [a = 0, b = 0])", + "Result": "[a = 0, b = 0]" } ] }, "ReturnType": "any", "Parameters": { "table": "table", - "comparisonCriteria": "any", "default": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.Min", + "Name": "Table.RowCount", "Documentation": { - "Documentation.Name": "Table.Min", - "Documentation.Description": "Returns the smallest row or a default value using the given criteria.", - "Documentation.LongDescription": "Returns the smallest row in the table, given the comparisonCriteria. If the table is empty, the optional default value is returned.", - "Documentation.Category": "Table.Ordering", + "Documentation.Name": "Table.RowCount", + "Documentation.Description": "Returns the number of rows in the table.", + "Documentation.LongDescription": "Returns the number of rows in the table.", + "Documentation.Category": "Table.Information", "Documentation.Examples": [ { - "Description": "Find the row with the smallest value in column [a] in the table.", - "Code": "Table.Min(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n }),\r\n \"a\"\r\n)", - "Result": "[a = 2, b = 4]" - }, - { - "Description": "Find the row with the smallest value in column [a] in the table. Return -1 if empty.", - "Code": "Table.Min(#table({\"a\"}, {}), \"a\", -1)", - "Result": "-1" + "Description": "Find the number of rows in the table.", + "Code": "Table.RowCount(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", + "Result": "3" } ] }, - "ReturnType": "any", + "ReturnType": "number", "Parameters": { - "table": "table", - "comparisonCriteria": "any", - "default": "any" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.PositionOf", + "Name": "Table.SingleRow", "Documentation": { - "Documentation.Name": "Table.PositionOf", - "Documentation.Description": "Returns the position or positions of the row within the table.", - "Documentation.LongDescription": "Returns the row position of the first occurrence of the row in the table specified. Returns -1 if no occurrence is found.\r\n \r\n ", - "Documentation.Category": "Table.Membership", + "Documentation.Name": "Table.SingleRow", + "Documentation.Description": "Returns the single row in the table.", + "Documentation.LongDescription": "Returns the single row in the one row table. If the table has more than one row, an exception is thrown.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Find the position of the first occurrence of [a = 2, b = 4] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}).", - "Code": "Table.PositionOf(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n [a = 2, b = 4]\r\n)", - "Result": "0" - }, - { - "Description": "Find the position of the second occurrence of [a = 2, b = 4] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}).", - "Code": "Table.PositionOf(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n [a = 2, b = 4],\r\n 1\r\n)", - "Result": "2" - }, - { - "Description": "Find the position of all the occurrences of [a = 2, b = 4] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}).", - "Code": "Table.PositionOf(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n [a = 2, b = 4],\r\n Occurrence.All\r\n)", - "Result": "{0, 2}" + "Description": "Return the single row in the table.", + "Code": "Table.SingleRow(Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}))", + "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" } ] }, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "table": "table", - "row": "record", - "occurrence": "any", - "equationCriteria": "any" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.PositionOfAny", + "Name": "Table.ToColumns", "Documentation": { - "Documentation.Name": "Table.PositionOfAny", - "Documentation.Description": "Returns the position or positions of any of the specified rows within the table.", - "Documentation.LongDescription": "Returns the row(s) position(s) from the table of the first occurrence of the list of rows. Returns -1 if no occurrence is found.\r\n \r\n ", - "Documentation.Category": "Table.Membership", + "Documentation.Name": "Table.ToColumns", + "Documentation.Description": "Creates a list of nested lists of column values from a table.", + "Documentation.LongDescription": "Creates a list of nested lists from the table, table. Each list item is an inner list that contains the column values.", + "Documentation.Category": "Table.Conversions", "Documentation.Examples": [ { - "Description": "Find the position of the first occurrence of [a = 2, b = 4] or [a = 6, b = 8] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}).", - "Code": "Table.PositionOfAny(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n {\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n }\r\n)", - "Result": "0" - }, - { - "Description": "Find the position of all the occurrences of [a = 2, b = 4] or [a = 6, b = 8] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}.", - "Code": "Table.PositionOfAny(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 6, b = 8],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n {\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n },\r\n Occurrence.All\r\n)", - "Result": "{0, 1, 2}" + "Description": "Create a list of the column values from the table.", + "Code": "Table.ToColumns(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n })\r\n)", + "Result": "{{1, 2}, {\"Bob\", \"Jim\"}, {\"123-4567\", \"987-6543\"}}" } ] }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "table": "table", - "rows": "list", - "occurrence": "number", - "equationCriteria": "any" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.ReplaceRelationshipIdentity", + "Name": "Table.ToList", "Documentation": { - "Documentation.Name": "Table.ReplaceRelationshipIdentity", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [] + "Documentation.Name": "Table.ToList", + "Documentation.Description": "Converts a table into a list by applying the specified combining function to each row of values in the table.", + "Documentation.LongDescription": "Converts a table into a list by applying the specified combining function to each row of values in the table.", + "Documentation.Category": "Table.Conversions", + "Documentation.Examples": [ + { + "Description": "Combine the text of each row with a comma.", + "Code": "Table.ToList(\r\n Table.FromRows({\r\n {Number.ToText(1), \"Bob\", \"123-4567\"},\r\n {Number.ToText(2), \"Jim\", \"987-6543\"},\r\n {Number.ToText(3), \"Paul\", \"543-7890\"}\r\n }),\r\n Combiner.CombineTextByDelimiter(\",\")\r\n)", + "Result": "{\"1,Bob,123-4567\", \"2,Jim,987-6543\", \"3,Paul,543-7890\"}" + } + ] }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "value": "any", - "identity": "text" + "table": "table", + "combiner": "function" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.Split", + "Name": "Table.ToRecords", "Documentation": { - "Documentation.Name": "Table.Split", - "Documentation.Description": "Splits the specified table into a list of tables using the specified page size.", - "Documentation.LongDescription": "Splits table into a list of tables where the first element of the list is a table containing the first pageSize rows from\r\n the source table, the next element of the list is a table containing the next pageSize rows from the source table, and so on.", - "Documentation.Category": "Table.Transformation", + "Documentation.Name": "Table.ToRecords", + "Documentation.Description": "Converts a table to a list of records.", + "Documentation.LongDescription": "Converts a table, table, to a list of records.", + "Documentation.Category": "Table.Conversions", "Documentation.Examples": [ { - "Description": "Split a table of five records into tables with two records each.", - "Code": "let\r\n Customers = Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Cristina\", Phone = \"232-1550\"],\r\n [CustomerID = 5, Name = \"Anita\", Phone = \"530-1459\"]\r\n })\r\nin\r\n Table.Split(Customers, 2)", - "Result": "{\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n }),\r\n Table.FromRecords({\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Cristina\", Phone = \"232-1550\"]\r\n }),\r\n Table.FromRecords({\r\n [CustomerID = 5, Name = \"Anita\", Phone = \"530-1459\"]\r\n })\r\n}" + "Description": "Convert the table to a list of records.", + "Code": "Table.ToRecords(\r\n Table.FromRows(\r\n {\r\n {1, \"Bob\", \"123-4567\"},\r\n {2, \"Jim\", \"987-6543\"},\r\n {3, \"Paul\", \"543-7890\"}\r\n },\r\n {\"CustomerID\", \"Name\", \"Phone\"}\r\n )\r\n)", + "Result": "{\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n}" } ] }, "ReturnType": "list", "Parameters": { - "table": "table", - "pageSize": "number" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.SplitAt", + "Name": "Table.ToRows", "Documentation": { - "Documentation.Name": "Table.SplitAt", - "Documentation.Description": "Returns a list containing the first count rows specified and the remaining rows.", - "Documentation.LongDescription": "Returns a list containing two tables: a table with the first N rows of table (as specified by count) and a table containing the remaining rows of table.\r\n\r\nIf the tables of the resulting list are enumerated exactly once and in order, the function will enumerate table only once.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Table.ToRows", + "Documentation.Description": "Creates a list of nested lists of row values from a table.", + "Documentation.LongDescription": "Creates a list of nested lists from the table, table. Each list item is an inner list that contains the row values.", + "Documentation.Category": "Table.Conversions", "Documentation.Examples": [ { - "Description": "Return the first two rows of the table and the remaining rows of the table.", - "Code": "Table.SplitAt(#table({\"a\", \"b\", \"c\"}, {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}), 2)", - "Result": "{\r\n #table({\"a\", \"b\", \"c\"}, {{1, 2, 3}, {4, 5, 6}}),\r\n #table({\"a\", \"b\", \"c\"}, {{7, 8, 9}})\r\n}" + "Description": "Create a list of the row values from the table.", + "Code": "Table.ToRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", + "Result": "{\r\n {1, \"Bob\", \"123-4567\"},\r\n {2, \"Jim\", \"987-6543\"},\r\n {3, \"Paul\", \"543-7890\"}\r\n}" } ] }, "ReturnType": "list", "Parameters": { - "table": "table", - "count": "number" + "table": "table" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Table.TransformRows", + "Name": "Table.ViewError", "Documentation": { - "Documentation.Name": "Table.TransformRows", - "Documentation.Description": "Transforms the rows of the table using the specified transform function.", - "Documentation.LongDescription": "Creates a list by applying the transform operation to each row in table.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Transform the rows of a table into a list of numbers.", - "Code": "Table.TransformRows(\r\n Table.FromRecords({\r\n [a = 1],\r\n [a = 2],\r\n [a = 3],\r\n [a = 4],\r\n [a = 5]\r\n }),\r\n each [a]\r\n)", - "Result": "{1, 2, 3, 4, 5}" - }, - { - "Description": "Transform the rows of a numeric table into textual records.", - "Code": "Table.TransformRows(\r\n Table.FromRecords({\r\n [a = 1],\r\n [a = 2],\r\n [a = 3],\r\n [a = 4],\r\n [a = 5]\r\n }),\r\n (row) as record => [B = Number.ToText(row[a])]\r\n)", - "Result": "{\r\n [B = \"1\"],\r\n [B = \"2\"],\r\n [B = \"3\"],\r\n [B = \"4\"],\r\n [B = \"5\"]\r\n}" - } - ] + "Documentation.Name": "Table.ViewError", + "Documentation.Description": "Creates a modified error record which won't trigger a fallback when thrown by a handler defined on a view (via Table.View).", + "Documentation.LongDescription": "Creates a modified error record from errorRecord which won't trigger a fallback when thrown by a handler defined on a view (via Table.View).", + "Documentation.Category": "Table.Table construction", + "Documentation.Examples": [] }, - "ReturnType": "list", + "ReturnType": "record", "Parameters": { - "table": "table", - "transform": "function" + "errorRecord": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.AfterDelimiter", + "Name": "Table.ViewFunction", "Documentation": { - "Documentation.Name": "Text.AfterDelimiter", - "Documentation.Description": "Text.AfterDelimiter", - "Documentation.LongDescription": "Returns the portion of text after the specified delimiter.\r\n An optional numeric index indicates which occurrence of the delimiter should be considered.\r\n An optional list index indicates which occurrence of the delimiter should be considered, as well as whether indexing should be done from the start or end of the input.", - "Documentation.Category": "Text.Transformations", - "Documentation.Examples": [ - { - "Description": "Get the portion of \"111-222-333\" after the (first) hyphen.", - "Code": "Text.AfterDelimiter(\"111-222-333\", \"-\")", - "Result": "\"222-333\"" - }, - { - "Description": "Get the portion of \"111-222-333\" after the second hyphen.", - "Code": "Text.AfterDelimiter(\"111-222-333\", \"-\", 1)", - "Result": "\"333\"" - }, - { - "Description": "Get the portion of \"111-222-333\" after the second hyphen from the end.", - "Code": "Text.AfterDelimiter(\"111-222-333\", \"-\", {1, RelativePosition.FromEnd})", - "Result": "\"222-333\"" - } - ] + "Documentation.Name": "Table.ViewFunction", + "Documentation.Description": "Creates a function that can be intercepted by a handler defined on a view (via Table.View).", + "Documentation.LongDescription": "

Creates a view function based on function that can be handled in a view created by Table.View.

\r\n

The OnInvoke handler of Table.View can be used to define a handler for the view function.

\r\n

As with the handlers for built-in operations, if no OnInvoke handler is specified, or if it does not handle the view function, or if an error is raised by the handler, function is applied on top of the view.

\r\n

Refer to the published Power Query custom connector documentation for a more complete description of Table.View and custom view functions.

", + "Documentation.Category": "Table.Table construction", + "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "function", "Parameters": { - "text": "text", - "delimiter": "text", - "index": "any" + "function": "function" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.At", + "Name": "Text.Clean", "Documentation": { - "Documentation.Name": "Text.At", - "Documentation.Description": "Returns the character at the specified position.", - "Documentation.LongDescription": "Returns the character in the text value, text at position index. The first character in the text is at position 0.", - "Documentation.Category": "Text.Extraction", + "Documentation.Name": "Text.Clean", + "Documentation.Description": "Returns the text value with all control characters removed.", + "Documentation.LongDescription": "Returns a text value with all control characters of text removed.", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Find the character at position 4 in string \"Hello, World\".", - "Code": "Text.At(\"Hello, World\", 4)", - "Result": "\"o\"" + "Description": "Remove line feeds and other control characters from a text value.", + "Code": "Text.Clean(\"ABC#(lf)D\")", + "Result": "\"ABCD\"" } ] }, "ReturnType": "text", "Parameters": { - "text": "text", - "index": "number" + "text": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.BeforeDelimiter", + "Name": "Text.Combine", "Documentation": { - "Documentation.Name": "Text.BeforeDelimiter", - "Documentation.Description": "Text.BeforeDelimiter", - "Documentation.LongDescription": "Returns the portion of text before the specified delimiter.\r\n An optional numeric index indicates which occurrence of the delimiter should be considered.\r\n An optional list index indicates which occurrence of the delimiter should be considered, as well as whether indexing should be done from the start or end of the input.", + "Documentation.Name": "Text.Combine", + "Documentation.Description": "Concatenates a list of text values into one text value.", + "Documentation.LongDescription": "Returns the result of combining the list of text values, texts, into a single text value. Any null values present in texts are ignored.\r\n An optional separator used in the final combined text can be specified.", "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Get the portion of \"111-222-333\" before the (first) hyphen.", - "Code": "Text.BeforeDelimiter(\"111-222-333\", \"-\")", - "Result": "\"111\"" + "Description": "Combine text values \"Seattle\" and \"WA\".", + "Code": "Text.Combine({\"Seattle\", \"WA\"})", + "Result": "\"SeattleWA\"" }, { - "Description": "Get the portion of \"111-222-333\" before the second hyphen.", - "Code": "Text.BeforeDelimiter(\"111-222-333\", \"-\", 1)", - "Result": "\"111-222\"" + "Description": "Combine text values \"Seattle\" and \"WA\", separated by a comma and a space.", + "Code": "Text.Combine({\"Seattle\", \"WA\"}, \", \")", + "Result": "\"Seattle, WA\"" }, { - "Description": "Get the portion of \"111-222-333\" before the second hyphen from the end.", - "Code": "Text.BeforeDelimiter(\"111-222-333\", \"-\", {1, RelativePosition.FromEnd})", - "Result": "\"111\"" + "Description": "Combine the values \"Seattle\", null, and \"WA\", separated by a comma and a space. (Note that the null is ignored.)", + "Code": "Text.Combine({\"Seattle\", null, \"WA\"}, \", \")", + "Result": "\"Seattle, WA\"" } ] }, - "ReturnType": "any", + "ReturnType": "text", "Parameters": { - "text": "text", - "delimiter": "text", - "index": "any" + "texts": "list", + "separator": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Contains", + "Name": "Text.From", "Documentation": { - "Documentation.Name": "Text.Contains", - "Documentation.Description": "Returns whether the text contains the substring.", - "Documentation.LongDescription": "Detects whether text contains the value substring. Returns true if the value is found. This function doesn't support wildcards or regular expressions.\r\n
\r\n
\r\n The optional argument comparer can be used to specify case-insensitive or culture and locale-aware comparisons.\r\n The following built-in comparers are available in the formula language:\r\n ", - "Documentation.Category": "Text.Membership", + "Documentation.Name": "Text.From", + "Documentation.Description": "Creates a text value from the given value.", + "Documentation.LongDescription": "Returns the text representation of value. The value can be a number, date, time, datetime, datetimezone, logical, duration or binary value.\r\n If the given value is null, Text.From returns null. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Text.Conversions from and to text", "Documentation.Examples": [ { - "Description": "Find if the text \"Hello World\" contains \"Hello\".", - "Code": "Text.Contains(\"Hello World\", \"Hello\")", - "Result": "true" - }, - { - "Description": "Find if the text \"Hello World\" contains \"hello\".", - "Code": "Text.Contains(\"Hello World\", \"hello\")", - "Result": "false" - }, - { - "Description": "Find if the text \"Hello World\" contains \"hello\", using a case-insensitive comparer.", - "Code": "Text.Contains(\"Hello World\", \"hello\", Comparer.OrdinalIgnoreCase)", - "Result": "true" + "Description": "Create a text value from the number 3.", + "Code": "Text.From(3)", + "Result": "\"3\"" } ] }, - "ReturnType": "logical", + "ReturnType": "text", "Parameters": { - "text": "text", - "substring": "text", - "comparer": "function" + "value": "any", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.End", + "Name": "Text.FromBinary", "Documentation": { - "Documentation.Name": "Text.End", - "Documentation.Description": "Returns the last characters of the text.", - "Documentation.LongDescription": "Returns a text value that is the last count characters of the text value text.", - "Documentation.Category": "Text.Extraction", - "Documentation.Examples": [ - { - "Description": "Get the last 5 characters of the text \"Hello, World\".", - "Code": "Text.End(\"Hello, World\", 5)", - "Result": "\"World\"" - } - ] + "Documentation.Name": "Text.FromBinary", + "Documentation.Description": "Decodes data from a binary form into text.", + "Documentation.LongDescription": "Decodes data, binary, from a binary value in to a text value, using encoding type.", + "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Examples": [] }, "ReturnType": "text", "Parameters": { - "text": "text", - "count": "number" + "binary": "binary", + "encoding": "TextEncoding.Type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.EndsWith", + "Name": "Text.InferNumberType", "Documentation": { - "Documentation.Name": "Text.EndsWith", - "Documentation.Description": "Indicates whether the text ends in the specified value.", - "Documentation.LongDescription": "Indicates whether the given text, text, ends with the specified value, substring. The indication is case sensitive.\r\n\r\n
\r\n comparer is a Comparer which is used to control the comparison. Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n ", - "Documentation.Category": "Text.Membership", - "Documentation.Examples": [ - { - "Description": "Check if \"Hello, World\" ends with \"world\".", - "Code": "Text.EndsWith(\"Hello, World\", \"world\")", - "Result": "false" - }, - { - "Description": "Check if \"Hello, World\" ends with \"World\".", - "Code": "Text.EndsWith(\"Hello, World\", \"World\")", - "Result": "true" - } - ] + "Documentation.Name": "Text.InferNumberType", + "Documentation.Description": "Infers the granular number type (Int64.Type, Double.Type, and so on) of a number encoded in text.", + "Documentation.LongDescription": "Infers the granular number type (Int64.Type, Double.Type, and so on) of text. An error is raised if text is not a number. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Text", + "Documentation.Examples": [] }, - "ReturnType": "logical", + "ReturnType": "type", "Parameters": { "text": "text", - "substring": "text", - "comparer": "function" + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Format", + "Name": "Text.Length", "Documentation": { - "Documentation.Name": "Text.Format", - "Documentation.Description": "Returns formatted text from a format string and arguments.", - "Documentation.LongDescription": "Returns formatted text that is created by applying arguments from a list or record to a format string formatString. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Name": "Text.Length", + "Documentation.Description": "Returns the number of characters.", + "Documentation.LongDescription": "Returns the number of characters in the text text.", + "Documentation.Category": "Text.Information", "Documentation.Examples": [ { - "Description": "Format a list of numbers.", - "Code": "Text.Format(\"#{0}, #{1}, and #{2}.\", {17, 7, 22})", - "Result": "\"17, 7, and 22.\"" - }, - { - "Description": "Format different data types from a record according to United States English culture.", - "Code": "Text.Format(\r\n \"The time for the #[distance] km run held in #[city] on #[date] was #[duration].\",\r\n [\r\n city = \"Seattle\",\r\n date = #date(2015, 3, 10),\r\n duration = #duration(0, 0, 54, 40),\r\n distance = 10\r\n ],\r\n \"en-US\"\r\n)", - "Result": "\"The time for the 10 km run held in Seattle on 3/10/2015 was 00:54:40.\"" + "Description": "Find how many characters are in the text \"Hello World\".", + "Code": "Text.Length(\"Hello World\")", + "Result": "11" } ] }, - "ReturnType": "text", + "ReturnType": "number", "Parameters": { - "formatString": "text", - "arguments": "any", - "culture": "text" + "text": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Middle", + "Name": "Text.Lower", "Documentation": { - "Documentation.Name": "Text.Middle", - "Documentation.Description": "Returns the substring up to a specific length.", - "Documentation.LongDescription": "Returns count characters, or through the end of text; at the offset start.", - "Documentation.Category": "Text.Extraction", + "Documentation.Name": "Text.Lower", + "Documentation.Description": "Converts all characters to lowercase.", + "Documentation.LongDescription": "Returns the result of converting all characters in text to lowercase. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Find the substring from the text \"Hello World\" starting at index 6 spanning 5 characters.", - "Code": "Text.Middle(\"Hello World\", 6, 5)", - "Result": "\"World\"" - }, - { - "Description": "Find the substring from the text \"Hello World\" starting at index 6 through the end.", - "Code": "Text.Middle(\"Hello World\", 6, 20)", - "Result": "\"World\"" + "Description": "Get the lowercase version of \"AbCd\".", + "Code": "Text.Lower(\"AbCd\")", + "Result": "\"abcd\"" } ] }, "ReturnType": "text", "Parameters": { "text": "text", - "start": "number", - "count": "number" + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.PadEnd", + "Name": "Text.Proper", "Documentation": { - "Documentation.Name": "Text.PadEnd", - "Documentation.Description": "Returns text of a specified length by padding the end of the given text.", - "Documentation.LongDescription": "Returns a text value padded to length count by inserting spaces at the end of the text value text.\r\n An optional character character can be used to specify the character used for padding. The default pad character is a space.", + "Documentation.Name": "Text.Proper", + "Documentation.Description": "Capitalizes the first letter of each word.", + "Documentation.LongDescription": "Returns the result of capitalizing only the first letter of each word in text value text. All other letters are returned in lowercase. An optional culture may also be provided (for example, \"en-US\").", "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Pad the end of a text value so it is 10 characters long.", - "Code": "Text.PadEnd(\"Name\", 10)", - "Result": "\"Name \"" - }, - { - "Description": "Pad the end of a text value with \"|\" so it is 10 characters long.", - "Code": "Text.PadEnd(\"Name\", 10, \"|\")", - "Result": "\"Name||||||\"" + "Description": "Use Text.Proper on a simple sentence.", + "Code": "Text.Proper(\"the QUICK BrOWn fOx jUmPs oVER tHe LAzy DoG\")", + "Result": "\"The Quick Brown Fox Jumps Over The Lazy Dog\"" } ] }, "ReturnType": "text", "Parameters": { "text": "text", - "count": "number", - "character": "text" + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.PadStart", + "Name": "Text.Reverse", "Documentation": { - "Documentation.Name": "Text.PadStart", - "Documentation.Description": "Returns text of a specified length by padding the start of the given text.", - "Documentation.LongDescription": "Returns a text value padded to length count by inserting spaces at the start of the text value text.\r\n An optional character character can be used to specify the character used for padding. The default pad character is a space.", + "Documentation.Name": "Text.Reverse", + "Documentation.Description": "Text.Reverse", + "Documentation.LongDescription": "Reverses the provided text.", "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Pad the start of a text value so it is 10 characters long.", - "Code": "Text.PadStart(\"Name\", 10)", - "Result": "\" Name\"" - }, - { - "Description": "Pad the start of a text value with \"|\" so it is 10 characters long.", - "Code": "Text.PadStart(\"Name\", 10, \"|\")", - "Result": "\"||||||Name\"" + "Description": "Reverse the text \"123\".", + "Code": "Text.Reverse(\"123\")", + "Result": "\"321\"" } ] }, "ReturnType": "text", + "Parameters": { + "text": "text" + }, + "RequiredParameters": "1" + }, + { + "Name": "Text.ToBinary", + "Documentation": { + "Documentation.Name": "Text.ToBinary", + "Documentation.Description": "Encodes text into a binary form.", + "Documentation.LongDescription": "Encodes the given text value, text, into a binary value using the specified encoding.", + "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Examples": [] + }, + "ReturnType": "binary", "Parameters": { "text": "text", - "count": "number", - "character": "text" + "encoding": "TextEncoding.Type", + "includeByteOrderMark": "logical" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.PositionOf", + "Name": "Text.ToList", "Documentation": { - "Documentation.Name": "Text.PositionOf", - "Documentation.Description": "Returns the first position of the value (-1 if not found).", - "Documentation.LongDescription": "Returns the position of the specified occurrence of the text value substring found in text.\r\n An optional parameter occurrence may be used to specify which occurrence position to return (first occurrence by default).\r\n Returns -1 if substring was not found.\r\n\r\n
\r\n comparer is a Comparer which is used to control the comparison. Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n ", - "Documentation.Category": "Text.Membership", + "Documentation.Name": "Text.ToList", + "Documentation.Description": "Returns a list of character values from the given text value.", + "Documentation.LongDescription": "Returns a list of character values from the given text value text.", + "Documentation.Category": "Text.Conversions from and to text", "Documentation.Examples": [ { - "Description": "Get the position of the first occurrence of \"World\" in the text \"Hello, World! Hello, World!\".", - "Code": "Text.PositionOf(\"Hello, World! Hello, World!\", \"World\")", - "Result": "7" - }, - { - "Description": "Get the position of last occurrence of \"World\" in \"Hello, World! Hello, World!\".", - "Code": "Text.PositionOf(\"Hello, World! Hello, World!\", \"World\", Occurrence.Last)", - "Result": "21" + "Description": "Create a list of character values from the text \"Hello World\".", + "Code": "Text.ToList(\"Hello World\")", + "Result": "{\r\n \"H\",\r\n \"e\",\r\n \"l\",\r\n \"l\",\r\n \"o\",\r\n \" \",\r\n \"W\",\r\n \"o\",\r\n \"r\",\r\n \"l\",\r\n \"d\"\r\n}" } ] }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "text": "text", - "substring": "text", - "occurrence": "Occurrence.Type", - "comparer": "function" + "text": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.PositionOfAny", + "Name": "Text.Trim", "Documentation": { - "Documentation.Name": "Text.PositionOfAny", - "Documentation.Description": "Returns the first position in the text value of any listed character (-1 if not found).", - "Documentation.LongDescription": "Returns the first position of any character in the list characters that is found in text.\r\n An optional parameter occurrence may be used to specify which occurrence position to return.", - "Documentation.Category": "Text.Membership", + "Documentation.Name": "Text.Trim", + "Documentation.Description": "Removes all leading and trailing whitespace.", + "Documentation.LongDescription": "Returns the result of removing all leading and trailing whitespace from text value text.", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Find the first position of \"W\" or \"H\" in text \"Hello, World!\".", - "Code": "Text.PositionOfAny(\"Hello, World!\", {\"H\", \"W\"})", - "Result": "0" - }, - { - "Description": "Find all the positions of \"W\" or \"H\" in text \"Hello, World!\".", - "Code": "Text.PositionOfAny(\"Hello, World!\", {\"H\", \"W\"}, Occurrence.All)", - "Result": "{0, 7}" + "Description": "Remove leading and trailing whitespace from \" a b c d \".", + "Code": "Text.Trim(\" a b c d \")", + "Result": "\"a b c d\"" } ] }, - "ReturnType": "any", + "ReturnType": "text", "Parameters": { "text": "text", - "characters": "list", - "occurrence": "Occurrence.Type" + "trim": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Range", + "Name": "Text.TrimEnd", "Documentation": { - "Documentation.Name": "Text.Range", - "Documentation.Description": "Returns the substring found at offset.", - "Documentation.LongDescription": "Returns the substring from the text text found at the offset offset.\r\n An optional parameter, count, can be included to specify how many characters to return. Throws an error if there aren't enough characters.", - "Documentation.Category": "Text.Extraction", + "Documentation.Name": "Text.TrimEnd", + "Documentation.Description": "Removes all trailing whitespace.", + "Documentation.LongDescription": "Returns the result of removing all trailing whitespace from text value text.", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Find the substring from the text \"Hello World\" starting at index 6.", - "Code": "Text.Range(\"Hello World\", 6)", - "Result": "\"World\"" - }, - { - "Description": "Find the substring from the text \"Hello World Hello\" starting at index 6 spanning 5 characters.", - "Code": "Text.Range(\"Hello World Hello\", 6, 5)", - "Result": "\"World\"" + "Description": "Remove trailing whitespace from \" a b c d \".", + "Code": "Text.TrimEnd(\" a b c d \")", + "Result": "\" a b c d\"" } ] }, "ReturnType": "text", "Parameters": { "text": "text", - "offset": "number", - "count": "number" + "trim": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Remove", + "Name": "Text.TrimStart", "Documentation": { - "Documentation.Name": "Text.Remove", - "Documentation.Description": "Removes all occurrences of the given character or list of characters from the input text value.", - "Documentation.LongDescription": "Returns a copy of the text value text with all the characters from removeChars removed. ", - "Documentation.Category": "Text.Modification", + "Documentation.Name": "Text.TrimStart", + "Documentation.Description": "Removes all leading whitespace.", + "Documentation.LongDescription": "Returns the result of removing all leading whitespace from text value text.", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Remove characters , and ; from the text value.", - "Code": "Text.Remove(\"a,b;c\", {\",\",\";\"})", - "Result": "\"abc\"" + "Description": "Remove leading whitespace from \" a b c d \".", + "Code": "Text.TrimStart(\" a b c d \")", + "Result": "\"a b c d \"" } ] }, "ReturnType": "text", "Parameters": { "text": "text", - "removeChars": "any" + "trim": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.RemoveRange", + "Name": "Text.Upper", "Documentation": { - "Documentation.Name": "Text.RemoveRange", - "Documentation.Description": "Removes a count of characters starting at the given offset", - "Documentation.LongDescription": "Returns a copy of the text value text with all the characters from position offset removed.\r\n An optional parameter, count can by used to specify the number of characters to remove. The default value of count is 1. Position values start at 0.", - "Documentation.Category": "Text.Modification", + "Documentation.Name": "Text.Upper", + "Documentation.Description": "Converts all characters to uppercase.", + "Documentation.LongDescription": "Returns the result of converting all characters in text to uppercase. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Remove 1 character from the text value \"ABEFC\" at position 2.", - "Code": "Text.RemoveRange(\"ABEFC\", 2)", - "Result": "\"ABFC\"" - }, - { - "Description": "Remove two characters from the text value \"ABEFC\" starting at position 2.", - "Code": "Text.RemoveRange(\"ABEFC\", 2, 2)", - "Result": "\"ABC\"" + "Description": "Get the uppercase version of \"aBcD\".", + "Code": "Text.Upper(\"aBcD\")", + "Result": "\"ABCD\"" } ] }, "ReturnType": "text", "Parameters": { "text": "text", - "offset": "number", - "count": "number" + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Repeat", + "Name": "Time.EndOfHour", "Documentation": { - "Documentation.Name": "Text.Repeat", - "Documentation.Description": "Returns a text value composed of the input text repeated a specified number of times.", - "Documentation.LongDescription": "Returns a text value composed of the input text text repeated count times.", - "Documentation.Category": "Text.Transformations", + "Documentation.Name": "Time.EndOfHour", + "Documentation.Description": "Returns the end of the hour.", + "Documentation.LongDescription": "Returns the end of the hour represented by dateTime, including fractional seconds. Time zone information is preserved.\r\n ", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Repeat the text \"a\" five times.", - "Code": "Text.Repeat(\"a\", 5)", - "Result": "\"aaaaa\"" + "Description": "Get the end of the hour for 5/14/2011 05:00:00 PM.", + "Code": "Time.EndOfHour(#datetime(2011, 5, 14, 17, 0, 0))", + "Result": "#datetime(2011, 5, 14, 17, 59, 59.9999999)" }, { - "Description": "Repeat the text \"helloworld\" three times.", - "Code": "Text.Repeat(\"helloworld.\", 3)", - "Result": "\"helloworld.helloworld.helloworld.\"" + "Description": "Get the end of the hour for 5/17/2011 05:00:00 PM -7:00.", + "Code": "Time.EndOfHour(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0))", + "Result": "#datetimezone(2011, 5, 17, 5, 59, 59.9999999, -7, 0)" } ] }, - "ReturnType": "text", + "ReturnType": "any", "Parameters": { - "text": "text", - "count": "number" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Select", + "Name": "Time.From", "Documentation": { - "Documentation.Name": "Text.Select", - "Documentation.Description": "Selects all occurrences of the given character or list of characters from the input text value.", - "Documentation.LongDescription": "Returns a copy of the text value text with all the characters not in selectChars removed. ", - "Documentation.Category": "Text.Modification", + "Documentation.Name": "Time.From", + "Documentation.Description": "Creates a time from the given value.", + "Documentation.LongDescription": "Returns a time value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, Time.From returns null. If the given value is time, value is returned. Values of the following types can be converted to a time value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Category": "Time", "Documentation.Examples": [ { - "Description": "Select all characters in the range of 'a' to 'z' from the text value.", - "Code": "Text.Select(\"a,b;c\", {\"a\"..\"z\"})", - "Result": "\"abc\"" + "Description": "Convert 0.7575 to a time value.", + "Code": "Time.From(0.7575)", + "Result": "#time(18, 10, 48)" + }, + { + "Description": "Convert #datetime(1899, 12, 30, 06, 45, 12) to a time value.", + "Code": "Time.From(#datetime(1899, 12, 30, 06, 45, 12))", + "Result": "#time(06, 45, 12)" } ] }, - "ReturnType": "text", + "ReturnType": "time", "Parameters": { - "text": "text", - "selectChars": "any" + "value": "any", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Split", + "Name": "Time.FromText", "Documentation": { - "Documentation.Name": "Text.Split", - "Documentation.Description": "Splits text into a list of text values based upon a specified delimiter.", - "Documentation.LongDescription": "Returns a list of text values resulting from the splitting a text value text based on the specified delimiter, separator.", - "Documentation.Category": "Text.Transformations", + "Documentation.Name": "Time.FromText", + "Documentation.Description": "Creates a Time from local and universal, and custom Time formats.", + "Documentation.LongDescription": "Creates a time value from a textual representation, text. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options may also be a text value. This has the same behavior as if options = [Format = null, Culture = options].", + "Documentation.Category": "Time", "Documentation.Examples": [ { - "Description": "Create a list from the \"|\" delimited text value \"Name|Address|PhoneNumber\".", - "Code": "Text.Split(\"Name|Address|PhoneNumber\", \"|\")", - "Result": "{\r\n \"Name\",\r\n \"Address\",\r\n \"PhoneNumber\"\r\n}" + "Description": "Convert \"10:12:31am\" into a Time value.", + "Code": "Time.FromText(\"10:12:31am\")", + "Result": "#time(10, 12, 31)" + }, + { + "Description": "Convert \"1012\" into a Time value.", + "Code": "Time.FromText(\"1012\")", + "Result": "#time(10, 12, 00)" + }, + { + "Description": "Convert \"10\" into a Time value.", + "Code": "Time.FromText(\"10\")", + "Result": "#time(10, 00, 00)" } ] }, - "ReturnType": "list", + "ReturnType": "time", "Parameters": { "text": "text", - "separator": "text" + "options": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.SplitAny", + "Name": "Time.Hour", "Documentation": { - "Documentation.Name": "Text.SplitAny", - "Documentation.Description": "Returns a list of text values, split on any of the characters in the delimiter.", - "Documentation.LongDescription": "Returns a list of text values resulting from the splitting a text value text based on any character in the specified delimiter, separators.", - "Documentation.Category": "Text.Transformations", + "Documentation.Name": "Time.Hour", + "Documentation.Description": "Returns the hour component.", + "Documentation.LongDescription": "Returns the hour component of the provided time, datetime, or datetimezone value, dateTime.", + "Documentation.Category": "Time", "Documentation.Examples": [ { - "Description": "Create a list from the text value \"Jamie|Campbell|Admin|Adventure Works|www.adventure-works.com\".", - "Code": "Text.SplitAny(\"Jamie|Campbell|Admin|Adventure Works|www.adventure-works.com\", \"|\")", - "Result": "{\r\n \"Jamie\",\r\n \"Campbell\",\r\n \"Admin\",\r\n \"Adventure Works\",\r\n \"www.adventure-works.com\"\r\n}" + "Description": "Find the hour in #datetime(2011, 12, 31, 9, 15, 36).", + "Code": "Time.Hour(#datetime(2011, 12, 31, 9, 15, 36))", + "Result": "9" } ] }, - "ReturnType": "list", + "ReturnType": "number", "Parameters": { - "text": "text", - "separators": "text" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.Start", + "Name": "Time.Minute", "Documentation": { - "Documentation.Name": "Text.Start", - "Documentation.Description": "Returns the start of the text.", - "Documentation.LongDescription": "Returns the first count characters of text as a text value.", - "Documentation.Category": "Text.Extraction", + "Documentation.Name": "Time.Minute", + "Documentation.Description": "Returns the minute component.", + "Documentation.LongDescription": "Returns the minute component of the provided time, datetime, or datetimezone value, dateTime.", + "Documentation.Category": "Time", "Documentation.Examples": [ { - "Description": "Get the first 5 characters of \"Hello, World\".", - "Code": "Text.Start(\"Hello, World\", 5)", - "Result": "\"Hello\"" + "Description": "Find the minute in #datetime(2011, 12, 31, 9, 15, 36).", + "Code": "Time.Minute(#datetime(2011, 12, 31, 9, 15, 36))", + "Result": "15" } ] }, - "ReturnType": "text", + "ReturnType": "number", "Parameters": { - "text": "text", - "count": "number" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Text.StartsWith", + "Name": "Time.Second", "Documentation": { - "Documentation.Name": "Text.StartsWith", - "Documentation.Description": "Indicates whether the text starts with a specified value.", - "Documentation.LongDescription": "Returns true if text value text starts with text value substring.\r\n \r\n
\r\n comparer is a Comparer which is used to control the comparison. Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n ", - "Documentation.Category": "Text.Membership", + "Documentation.Name": "Time.Second", + "Documentation.Description": "Returns the second component.", + "Documentation.LongDescription": "Returns the second component of the provided time, datetime, or datetimezone value, dateTime.", + "Documentation.Category": "Time", "Documentation.Examples": [ { - "Description": "Check if the text \"Hello, World\" starts with the text \"hello\".", - "Code": "Text.StartsWith(\"Hello, World\", \"hello\")", - "Result": "false" - }, - { - "Description": "Check if the text \"Hello, World\" starts with the text \"Hello\".", - "Code": "Text.StartsWith(\"Hello, World\", \"Hello\")", - "Result": "true" + "Description": "Find the second value from a datetime value.", + "Code": "Time.Second(#datetime(2011, 12, 31, 9, 15, 36.5))", + "Result": "36.5" } ] }, - "ReturnType": "logical", - "Parameters": { - "text": "text", - "substring": "text", - "comparer": "function" - }, - "RequiredParameters": "2" - }, - { - "Name": "Twilio.Contents", - "Documentation": {}, - "ReturnType": "any", + "ReturnType": "number", "Parameters": { - "URL": "any", - "collectionName": "any", - "historyInMonths": "any", - "dateLabel": "any" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Type.ForFunction", + "Name": "Time.StartOfHour", "Documentation": { - "Documentation.Name": "Type.ForFunction", - "Documentation.Description": "Returns a type that represents functions with specific parameter and return type constraints.", - "Documentation.LongDescription": "Creates a function type from signature, a record of ReturnType and Parameters, and min, the minimum number of arguments required to invoke the function.", - "Documentation.Category": "Type", + "Documentation.Name": "Time.StartOfHour", + "Documentation.Description": "Returns the start of the hour.", + "Documentation.LongDescription": "Returns the start of the hour represented by dateTime.\r\n dateTime must be a time, datetime or datetimezone value.", + "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Creates the type for a function that takes a number parameter named X and returns a number.", - "Code": "Type.ForFunction([ReturnType = type number, Parameters = [X = type number]], 1)", - "Result": "type function (X as number) as number" + "Description": "Find the start of the hour for October 10th, 2011, 8:10:32AM.", + "Code": "Time.StartOfHour(#datetime(2011, 10, 10, 8, 10, 32))", + "Result": "#datetime(2011, 10, 10, 8, 0, 0)" } ] }, - "ReturnType": "type", + "ReturnType": "any", "Parameters": { - "signature": "record", - "min": "number" + "dateTime": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Type.ForRecord", + "Name": "Time.ToRecord", "Documentation": { - "Documentation.Name": "Type.ForRecord", - "Documentation.Description": "Returns a type that represents records with specific type constraints on fields.", - "Documentation.LongDescription": "Returns a type that represents records with specific type constraints on fields.", - "Documentation.Category": "Type", + "Documentation.Name": "Time.ToRecord", + "Documentation.Description": "Returns a record containing the Time value's parts.", + "Documentation.LongDescription": "Returns a record containing the parts of the given Time value, time.\r\n ", + "Documentation.Category": "Time", "Documentation.Examples": [ { - "Description": "Dynamically generate a table type.", - "Code": "let\r\n columnNames = {\"Name\", \"Score\"},\r\n columnTypes = {type text, type number},\r\n rowColumnTypes = List.Transform(columnTypes, (t) => [Type = t, Optional = false]),\r\n rowType = Type.ForRecord(Record.FromList(rowColumnTypes, columnNames), false)\r\nin\r\n #table(type table rowType, {{\"Betty\", 90.3}, {\"Carl\", 89.5}})", - "Result": "#table(\r\n type table [Name = text, Score = number],\r\n {{\"Betty\", 90.3}, {\"Carl\", 89.5}}\r\n)" + "Description": "Convert the #time(11, 56, 2) value into a record containing Time values.", + "Code": "Time.ToRecord(#time(11, 56, 2))", + "Result": "[\r\n Hour = 11,\r\n Minute = 56,\r\n Second = 2\r\n]" } ] }, - "ReturnType": "type", + "ReturnType": "record", "Parameters": { - "fields": "record", - "open": "logical" + "time": "time" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Type.Is", + "Name": "Time.ToText", "Documentation": { - "Documentation.Name": "Type.Is", - "Documentation.Description": "Determines if a value of the first type is always compatible with the second type.", - "Documentation.LongDescription": "Determines if a value of type1 is always compatible with type2.", - "Documentation.Category": "Type", + "Documentation.Name": "Time.ToText", + "Documentation.Description": "Returns a textual representation of the time value.", + "Documentation.LongDescription": "Returns a textual representation of time. An optional record parameter, options, may be provided to specify additional properties. culture is only used for legacy workflows. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options and culture may also be text values. This has the same behavior as if options = [Format = options, Culture = culture].", + "Documentation.Category": "Time", "Documentation.Examples": [ { - "Description": "Determine if a value of type number can always also be treated as type any.", - "Code": "Type.Is(type number, type any)", - "Result": "true" + "Description": "Convert #time(01, 30, 25) into a text value. Result output may vary depending on current culture.", + "Code": "Time.ToText(#time(11, 56, 2))", + "Result": "\"11:56 AM\"" }, { - "Description": "Determine if a value of type any can always also be treated as type number.", - "Code": "Type.Is(type any, type number)", - "Result": "false" + "Description": "Convert using a custom format and the German culture.", + "Code": "Time.ToText(#time(11, 56, 2), [Format=\"hh:mm\", Culture=\"de-DE\"])", + "Result": "\"11:56\"" + }, + { + "Description": "Convert using standard time format.", + "Code": "Time.ToText(#time(11, 56, 2), [Format=\"T\", Culture=\"de-DE\"])", + "Result": "\"11:56:02\"" } ] }, - "ReturnType": "logical", - "Parameters": { - "type1": "type", - "type2": "type" - }, - "RequiredParameters": "2" - }, - { - "Name": "Type.ReplaceFacets", - "Documentation": { - "Documentation.Name": "Type.ReplaceFacets", - "Documentation.Description": "Replaces the facets of a type.", - "Documentation.LongDescription": "Replaces the facets of type with the facets contained in the record facets.", - "Documentation.Category": "Type", - "Documentation.Examples": [] - }, - "ReturnType": "type", + "ReturnType": "text", "Parameters": { - "type": "type", - "facets": "record" + "time": "time", + "options": "any", + "culture": "text" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Type.ReplaceTableKeys", - "Documentation": { - "Documentation.Name": "Type.ReplaceTableKeys", - "Documentation.Description": "Returns a new table type with all keys replaced by the specified list of keys.", - "Documentation.LongDescription": "Returns a new table type with all keys replaced by the specified list of keys.", - "Documentation.Category": "Type", - "Documentation.Examples": [] - }, - "ReturnType": "type", + "Name": "Troux.TestConnection", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "tableType": "type", - "keys": "list" - }, - "RequiredParameters": "2" - }, - { - "Name": "Type.TableColumn", - "Documentation": { - "Documentation.Name": "Type.TableColumn", - "Documentation.Description": "Returns the type of a column in a table.", - "Documentation.LongDescription": "Returns the type of the column column in the table type tableType.", - "Documentation.Category": "Type", - "Documentation.Examples": [] + "url": "text" }, - "ReturnType": "type", + "RequiredParameters": "1" + }, + { + "Name": "Twilio.URL", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "tableType": "type", - "column": "text" + "url": "any" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Uri.Combine", + "Name": "Type.ClosedRecord", "Documentation": { - "Documentation.Name": "Uri.Combine", - "Documentation.Description": "Returns an absolute URI that is the combination of the input base URI and relative URI.", - "Documentation.LongDescription": "Returns an absolute URI that is the combination of the input baseUri and relativeUri.", - "Documentation.Category": "Uri", - "Documentation.Examples": [] + "Documentation.Name": "Type.ClosedRecord", + "Documentation.Description": "Returns a closed version of the given record type (or the same type, if it is already closed).", + "Documentation.LongDescription": "Returns a closed version of the given record type (or the same type, if it is already closed).", + "Documentation.Category": "Type", + "Documentation.Examples": [ + { + "Description": "Create a closed version of type [ A = number,…].", + "Code": "Type.ClosedRecord(type [A = number, ...])", + "Result": "type [A = number]" + } + ] }, - "ReturnType": "text", + "ReturnType": "type", "Parameters": { - "baseUri": "text", - "relativeUri": "text" + "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.Add", + "Name": "Type.Facets", "Documentation": { - "Documentation.Name": "Value.Add", - "Documentation.Description": "Returns the sum of the two values.", - "Documentation.LongDescription": "Returns the sum of value1 and value2. An optional precision parameter may be specified, by default Precision.Double is used.", - "Documentation.Category": "Values.Arithmetic operations", + "Documentation.Name": "Type.Facets", + "Documentation.Description": "Returns the facets of a type.", + "Documentation.LongDescription": "Returns a record containing the facets of type.", + "Documentation.Category": "Type", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "value1": "any", - "value2": "any", - "precision": "Precision.Type" + "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.As", + "Name": "Type.FunctionParameters", "Documentation": { - "Documentation.Name": "Value.As", - "Documentation.Description": "Returns the value if it is compatible with the specified type.", - "Documentation.LongDescription": "Returns the value if it is compatible with the specified type. This is equivalent to the \"as\" operator in M, with the exception that it can accept identifier type references such as Number.Type.", - "Documentation.Category": "Values.Types", + "Documentation.Name": "Type.FunctionParameters", + "Documentation.Description": "Returns a record with field values set to the name of the parameters of a function type, and their values set to their corresponding types.", + "Documentation.LongDescription": "Returns a record with field values set to the name of the parameters of type, and their values set to their corresponding types.", + "Documentation.Category": "Type", "Documentation.Examples": [ { - "Description": "Cast a number to a number.", - "Code": "Value.As(123, Number.Type)", - "Result": "123" - }, - { - "Description": "Attempt to cast a text value to a number.", - "Code": "Value.As(\"abc\", type number)", - "Result": "[Expression.Error] We cannot convert the value \"abc\" to type Number." + "Description": "Find the types of the parameters to the function (x as number, y as text).", + "Code": "Type.FunctionParameters(type function (x as number, y as text) as any)", + "Result": "[x = type number, y = type text]" } ] }, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "value": "any", "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.Compare", + "Name": "Type.FunctionRequiredParameters", "Documentation": { - "Documentation.Name": "Value.Compare", - "Documentation.Description": "Returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.", - "Documentation.LongDescription": "Returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.", - "Documentation.Category": "Values", - "Documentation.Examples": [] + "Documentation.Name": "Type.FunctionRequiredParameters", + "Documentation.Description": "Returns a number indicating the minimum number of parameters required to invoke the type of function.", + "Documentation.LongDescription": "Returns a number indicating the minimum number of parameters required to invoke the input type of function.", + "Documentation.Category": "Type", + "Documentation.Examples": [ + { + "Description": "Find the number of required parameters to the function (x as number, optional y as text).", + "Code": "Type.FunctionRequiredParameters(type function (x as number, optional y as text) as any)", + "Result": "1" + } + ] }, "ReturnType": "number", "Parameters": { - "value1": "any", - "value2": "any", - "precision": "Precision.Type" + "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.Divide", + "Name": "Type.FunctionReturn", "Documentation": { - "Documentation.Name": "Value.Divide", - "Documentation.Description": "Returns the result of dividing the first value by the second.", - "Documentation.LongDescription": "Returns the result of dividing value1 by value2. An optional precision parameter may be specified, by default Precision.Double is used.", - "Documentation.Category": "Values.Arithmetic operations", - "Documentation.Examples": [] + "Documentation.Name": "Type.FunctionReturn", + "Documentation.Description": "Returns a type returned by a function type.", + "Documentation.LongDescription": "Returns a type returned by a function type.", + "Documentation.Category": "Type", + "Documentation.Examples": [ + { + "Description": "Find the return type of () as any).", + "Code": "Type.FunctionReturn(type function () as any)", + "Result": "type any" + } + ] }, - "ReturnType": "any", + "ReturnType": "type", "Parameters": { - "value1": "any", - "value2": "any", - "precision": "Precision.Type" + "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.Equals", + "Name": "Type.IsNullable", "Documentation": { - "Documentation.Name": "Value.Equals", - "Documentation.Description": "Returns whether two values are equal.", - "Documentation.LongDescription": "Returns true if value value1 is equal to value value2, false otherwise.", - "Documentation.Category": "Values", - "Documentation.Examples": [] + "Documentation.Name": "Type.IsNullable", + "Documentation.Description": "Returns true if a type is a nullable type; otherwise, false.", + "Documentation.LongDescription": "Returns true if a type is a nullable type; otherwise, false.", + "Documentation.Category": "Type", + "Documentation.Examples": [ + { + "Description": "Determine if number is nullable.", + "Code": "Type.IsNullable(type number)", + "Result": "false" + }, + { + "Description": "Determine if type nullable number is nullable.", + "Code": "Type.IsNullable(type nullable number)", + "Result": "true" + } + ] }, "ReturnType": "logical", "Parameters": { - "value1": "any", - "value2": "any", - "precision": "Precision.Type" + "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.Is", + "Name": "Type.IsOpenRecord", "Documentation": { - "Documentation.Name": "Value.Is", - "Documentation.Description": "Determines whether a value is compatible with the specified type.", - "Documentation.LongDescription": "Determines whether a value is compatible with the specified type. This is equivalent to the \"is\" operator in M, with the exception that it can accept identifier type references such as Number.Type.", - "Documentation.Category": "Values.Types", + "Documentation.Name": "Type.IsOpenRecord", + "Documentation.Description": "Returns whether a record type is open.", + "Documentation.LongDescription": "Returns a logical indicating whether a record type is open.", + "Documentation.Category": "Type", "Documentation.Examples": [ { - "Description": "Compare two ways of determining if a number is compatible with type number.", - "Code": "Value.Is(123, Number.Type) = (123 is number)", + "Description": "Determine if the record type [ A = number, ...] is open.", + "Code": "Type.IsOpenRecord(type [A = number, ...])", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "value": "any", "type": "type" }, - "RequiredParameters": "2" - }, - { - "Name": "Value.Multiply", - "Documentation": { - "Documentation.Name": "Value.Multiply", - "Documentation.Description": "Returns the product of the two values.", - "Documentation.LongDescription": "Returns the product of multiplying value1 by value2. An optional precision parameter may be specified, by default Precision.Double is used.", - "Documentation.Category": "Values.Arithmetic operations", - "Documentation.Examples": [] - }, - "ReturnType": "any", - "Parameters": { - "value1": "any", - "value2": "any", - "precision": "Precision.Type" - }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.NativeQuery", + "Name": "Type.ListItem", "Documentation": { - "Documentation.Name": "Value.NativeQuery", - "Documentation.Description": "Evaluates a query against a target.", - "Documentation.LongDescription": "

Evaluates query against target using the parameters specified in parameters and the options specified in options.

\r\n

The output of the query is defined by target.

\r\n

target provides the context for the operation described by query.

\r\n

query describes the query to be executed against target. query is expressed in a manner specific to target (for example, a T-SQL statement).

\r\n

The optional parameters value may contain either a list or record as appropriate to supply the parameter values expected by query.

\r\n

The optional options record may contain options that affect the evaluation behavior of query against target. These options are specific to target.

", - "Documentation.Category": "Values", - "Documentation.Examples": [] + "Documentation.Name": "Type.ListItem", + "Documentation.Description": "Returns an item type from a list type.", + "Documentation.LongDescription": "Returns an item type from a list type.", + "Documentation.Category": "Type", + "Documentation.Examples": [ + { + "Description": "Find item type from the list {number}.", + "Code": "Type.ListItem(type {number})", + "Result": "type number" + } + ] }, - "ReturnType": "any", + "ReturnType": "type", "Parameters": { - "target": "any", - "query": "text", - "parameters": "any", - "options": "record" + "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.NullableEquals", + "Name": "Type.NonNullable", "Documentation": { - "Documentation.Name": "Value.NullableEquals", - "Documentation.Description": "Returns whether two values are equal.", - "Documentation.LongDescription": "Returns null if either argument 'value1', 'value2' is null, otherwise equivalent to Value.Equals.", - "Documentation.Category": "Values", - "Documentation.Examples": [] + "Documentation.Name": "Type.NonNullable", + "Documentation.Description": "Returns the non nullable type from a type.", + "Documentation.LongDescription": "Returns the non nullable type from the type.", + "Documentation.Category": "Type", + "Documentation.Examples": [ + { + "Description": "Return the non nullable type of type nullable number.", + "Code": "Type.NonNullable(type nullable number)", + "Result": "type number" + } + ] }, - "ReturnType": "logical", + "ReturnType": "type", "Parameters": { - "value1": "any", - "value2": "any", - "precision": "Precision.Type" + "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.ReplaceMetadata", + "Name": "Type.OpenRecord", "Documentation": { - "Documentation.Name": "Value.ReplaceMetadata", - "Documentation.Description": "Replaces the input's metadata information.", - "Documentation.LongDescription": "Replaces the input's metadata information.", - "Documentation.Category": "Metadata", - "Documentation.Examples": [] + "Documentation.Name": "Type.OpenRecord", + "Documentation.Description": "Returns an opened version of the given record type (or the same type, if it is already open).", + "Documentation.LongDescription": "Returns an opened version of the given record type (or the same type, if it is already opened).", + "Documentation.Category": "Type", + "Documentation.Examples": [ + { + "Description": "Create an opened version of type [ A = number].", + "Code": "Type.OpenRecord(type [A = number])", + "Result": "type [A = number, ...]" + } + ] }, - "ReturnType": "any", + "ReturnType": "type", "Parameters": { - "value": "any", - "metaValue": "any" + "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.ReplaceType", + "Name": "Type.RecordFields", "Documentation": { - "Documentation.Name": "Value.ReplaceType", - "Documentation.Description": "Replaces the value's type.", - "Documentation.LongDescription": "Replaces the value's type with the provided type.", - "Documentation.Category": "Values.Types", + "Documentation.Name": "Type.RecordFields", + "Documentation.Description": "Returns a record describing the fields of a record type with each field of the returned record type having a corresponding name and a value.", + "Documentation.LongDescription": "Returns a record describing the fields of a record type. Each field of the returned record type has a corresponding name and a value, in the form of a record [ Type = type, Optional = logical ].", + "Documentation.Category": "Type", "Documentation.Examples": [ { - "Description": "Replace the default type of a record with a more specific type.", - "Code": "Type.RecordFields(\r\n Value.Type(\r\n Value.ReplaceType(\r\n [Column1 = 123],\r\n type [Column1 = number]\r\n )\r\n )\r\n)[Column1][Type]", - "Result": "type number" + "Description": "Find the name and value of the record [ A = number, optional B = any].", + "Code": "Type.RecordFields(type [A = number, optional B = any])", + "Result": "[\r\n A = [Type = type number, Optional = false],\r\n B = [Type = type any, Optional = true]\r\n]" } ] }, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "value": "any", "type": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Value.Subtract", + "Name": "Type.TableKeys", "Documentation": { - "Documentation.Name": "Value.Subtract", - "Documentation.Description": "Returns the difference of the two values.", - "Documentation.LongDescription": "Returns the difference of value1 and value2. An optional precision parameter may be specified, by default Precision.Double is used.", - "Documentation.Category": "Values.Arithmetic operations", + "Documentation.Name": "Type.TableKeys", + "Documentation.Description": "Returns the possibly empty list of keys for the given table type.", + "Documentation.LongDescription": "Returns the possibly empty list of keys for the given table type.", + "Documentation.Category": "Type", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "value1": "any", - "value2": "any", - "precision": "Precision.Type" + "tableType": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "WebAction.Request", + "Name": "Type.TableRow", "Documentation": { - "Documentation.Name": "WebAction.Request", - "Documentation.Description": "Creates an action that, when executed, will return the results of performing an HTTP request as a binary value.", - "Documentation.LongDescription": "Creates an action that, when executed, will return the results of performing a method request against url using HTTP as a binary value.\r\n An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n
\r\n Note that this function is disabled in most contexts. Consider using Web.Contents or Web.Headers instead.\r\n ", - "Documentation.Category": "Action", + "Documentation.Name": "Type.TableRow", + "Documentation.Description": "Returns the row type of the table type.", + "Documentation.LongDescription": "Returns the row type of the specified table type. The result will always be a record type.", + "Documentation.Category": "Type", "Documentation.Examples": [ { - "Description": "Perform a GET request against Bing.", - "Code": "WebAction.Request(WebMethod.Get, \"https://bing.com\")", - "Result": "Action" + "Description": "Return the row type information for a simple table.", + "Code": "let\r\n tableRowType = Type.TableRow(Value.Type(#table({\"Column1\"}, {})))\r\nin\r\n Type.RecordFields(tableRowType)", + "Result": "[Column1 = [Type = type any, Optional = false]]" } ] }, - "ReturnType": "action", + "ReturnType": "type", "Parameters": { - "method": "text", - "url": "text", - "options": "record" + "table": "type" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "Zendesk.Collection", - "Documentation": {}, - "ReturnType": "any", + "Name": "Type.Union", + "Documentation": { + "Documentation.Name": "Type.Union", + "Documentation.Description": "Returns the union of a list of types.", + "Documentation.LongDescription": "Returns the union of the types in types.", + "Documentation.Category": "Type", + "Documentation.Examples": [] + }, + "ReturnType": "type", "Parameters": { - "url": "any", - "collectionName": "any", - "schema": "any" + "types": "list" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "appFigures.Content", - "Documentation": {}, - "ReturnType": "any", + "Name": "Uri.BuildQueryString", + "Documentation": { + "Documentation.Name": "Uri.BuildQueryString", + "Documentation.Description": "Assemble a record into a URI query string.", + "Documentation.LongDescription": "Assemble the record query into a URI query string, escaping characters as necessary.", + "Documentation.Category": "Uri", + "Documentation.Examples": [ + { + "Description": "Encode a query string which contains some special characters.", + "Code": "Uri.BuildQueryString([a = \"1\", b = \"+$\"])", + "Result": "\"a=1&b=%2B%24\"" + } + ] + }, + "ReturnType": "text", "Parameters": { - "path": "text", - "params": "record" + "query": "record" }, - "RequiredParameters": "2" + "RequiredParameters": "1" }, { - "Name": "AzureDataExplorer.Databases", - "Documentation": {}, - "ReturnType": "list", + "Name": "Uri.EscapeDataString", + "Documentation": { + "Documentation.Name": "Uri.EscapeDataString", + "Documentation.Description": "Encodes special characters in accordance with RFC 3986.", + "Documentation.LongDescription": "Encodes special characters in the input data according to the rules of RFC 3986.", + "Documentation.Category": "Uri", + "Documentation.Examples": [ + { + "Description": "Encode the special characters in \"+money$\".", + "Code": "Uri.EscapeDataString(\"+money$\")", + "Result": "\"%2Bmoney%24\"" + } + ] + }, + "ReturnType": "text", "Parameters": { - "cluster": "text", - "options": "record" + "data": "text" }, "RequiredParameters": "1" }, { - "Name": "AzureEnterprise.Contents", + "Name": "Uri.Parts", "Documentation": { - "Documentation.Description": "Enter the URL of the Azure Enterprise REST API endpoint associated with your enrollment", - "Documentation.DisplayName": "AzureEnterprise.Contents", - "Documentation.Caption": "AzureEnterprise.Contents", - "Documentation.Name": "AzureEnterprise.Contents", - "Documentation.LongDescription": "Returns the binary results of the call to the url provided for the Azure Enterprise API.", + "Documentation.Name": "Uri.Parts", + "Documentation.Description": "Returns the parts of the input absolute URI as a record.", + "Documentation.LongDescription": "Returns the parts of the input absoluteUri as a record, containing values such as Scheme, Host, Port, Path, Query, Fragment, UserName and Password.", + "Documentation.Category": "Uri", "Documentation.Examples": [ { - "Description": "Using the AzureEnterprise.Contents function to return the results of a specific report.", - "Code": " let\r\n report = Table.FromColumns({Lines.FromBinary(Binary.Buffer(AzureEnterprise.Contents(\"https://ea.azure.com/rest/12345/usage-report\", [month=\"2014-04\", type=\"summary\", fmt=\"Csv\"])),null,null,1252)}),\r\n skips = Table.Skip(report, 2),\r\n split = Table.SplitColumn(skips, \"Column1\", Splitter.SplitTextByDelimiter(\",\", QuoteStyle.Csv)),\r\n promoted = Table.PromoteHeaders(split)\r\n in\r\n promoted", - "Result": "Table" + "Description": "Find the parts of the absolute URI \"www.adventure-works.com\".", + "Code": "Uri.Parts(\"www.adventure-works.com\")", + "Result": "[\r\n Scheme = \"http\",\r\n Host = \"www.adventure-works.com\",\r\n Port = 80,\r\n Path = \"/\",\r\n Query = [],\r\n Fragment = \"\",\r\n UserName = \"\",\r\n Password = \"\"\r\n]" + }, + { + "Description": "Decode a percent-encoded string.", + "Code": "let\r\n UriUnescapeDataString = (data as text) as text => Uri.Parts(\"http://contoso?a=\" & data)[Query][a]\r\nin\r\n UriUnescapeDataString(\"%2Bmoney%24\")", + "Result": "\"+money$\"" } ] }, - "ReturnType": "binary", + "ReturnType": "record", "Parameters": { - "url": "text", - "query": "record" + "absoluteUri": "text" }, "RequiredParameters": "1" }, { - "Name": "AzureStorage.BlobContents", + "Name": "VSTS.AccountContents", "Documentation": { - "Documentation.Name": "AzureStorage.BlobContents", - "Documentation.Description": "Returns the content of the specified blob from an Azure storage vault.", - "Documentation.LongDescription": "Returns the content of the blob at the URL, url, from an Azure storage vault. options may be specified to control the following options:\r\n \r\n", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Description": "Enter Url of your Azure DevOps Analytics Service.", + "Documentation.DisplayName": "VSTS", + "Documentation.Caption": "VSTS.AccountContents", + "Documentation.Name": "VSTS.AccountContents", + "Documentation.LongDescription": "Returns the contents downloaded from the Azure DevOps Analytics Service url as a binary value. This function uses different credentials for different organizations." }, "ReturnType": "binary", "Parameters": { @@ -10858,13 +8543,13 @@ "RequiredParameters": "1" }, { - "Name": "AzureStorage.DataLakeContents", + "Name": "VSTS.Contents", "Documentation": { - "Documentation.Name": "AzureStorage.DataLakeContents", - "Documentation.Description": "Returns the content of the specified file from an Azure Data Lake Storage filesystem.", - "Documentation.LongDescription": "Returns the content of the file at the URL, url, from an Azure Data Lake Storage filesystem. options may be specified to control the following options:\r\n \r\n", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Description": "Enter Url of your Azure DevOps Analytics Service.", + "Documentation.DisplayName": "VSTS", + "Documentation.Caption": "VSTS.Contents", + "Documentation.Name": "VSTS.Contents", + "Documentation.LongDescription": "Returns the contents downloaded from the Azure DevOps Analytics Service url as a binary value. This function uses global credentials for all the accessible organization." }, "ReturnType": "binary", "Parameters": { @@ -10874,194 +8559,179 @@ "RequiredParameters": "1" }, { - "Name": "Binary.ApproximateLength", + "Name": "Value.Alternates", "Documentation": { - "Documentation.Name": "Binary.ApproximateLength", - "Documentation.Description": "Returns the approximate length of the binary.", - "Documentation.LongDescription": "Returns the approximate length of binary, or an error if the data source doesn't support an approximate length.", - "Documentation.Category": "Binary", - "Documentation.Examples": [ - { - "Description": "Get the approximate length of the binary value.", - "Code": "Binary.ApproximateLength(Binary.FromText(\"i45WMlSKjQUA\", BinaryEncoding.Base64))", - "Result": "9" - } - ] + "Documentation.Name": "Value.Alternates", + "Documentation.Description": "Expresses alternate query plans.", + "Documentation.LongDescription": "Expresses alternate query plans within a query plan expression obtained through Value.Expression(Value.Optimize(...)). Not intended for other uses.", + "Documentation.Category": "Expression", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "binary": "binary" + "alternates": "list" }, "RequiredParameters": "1" }, { - "Name": "Binary.Buffer", + "Name": "Value.Expression", "Documentation": { - "Documentation.Name": "Binary.Buffer", - "Documentation.Description": "Buffers the binary value in memory.", - "Documentation.LongDescription": "Buffers the binary value in memory. The result of this call is a stable binary value, which means it will have a deterministic length and order of bytes.", - "Documentation.Category": "Binary", - "Documentation.Examples": [ - { - "Description": "Create a stable version of the binary value.", - "Code": "Binary.Buffer(Binary.FromList({0..10}))", - "Result": "#binary({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10})" - } - ] + "Documentation.Name": "Value.Expression", + "Documentation.Description": "Returns an abstract syntax tree (AST) that represents the value's expression.", + "Documentation.LongDescription": "Returns an abstract syntax tree (AST) that represents the value's expression", + "Documentation.Category": "Expression", + "Documentation.Examples": [] }, - "ReturnType": "binary", + "ReturnType": "record", "Parameters": { - "binary": "binary" + "value": "any" }, "RequiredParameters": "1" }, { - "Name": "Binary.Combine", + "Name": "Value.Firewall", "Documentation": { - "Documentation.Name": "Binary.Combine", - "Documentation.Description": "Combines a list of binaries into a single binary.", - "Documentation.LongDescription": "Combines a list of binaries into a single binary.", - "Documentation.Category": "Binary", + "Documentation.Name": "Value.Firewall", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Values.Implementation", + "Documentation.Examples": [] + }, + "ReturnType": "any", + "Parameters": { + "key": "text" + }, + "RequiredParameters": "1" + }, + { + "Name": "Value.FromText", + "Documentation": { + "Documentation.Name": "Value.FromText", + "Documentation.Description": "Creates a strongly-typed value from a textual representation.", + "Documentation.LongDescription": "Decodes a value from a textual representation, text, and interprets it as a value with an appropriate type.\r\n Value.FromText takes a text value and returns a number, a logical value, a null value, a datetime value, a duration value, or a text value. The empty text value is interpreted as a null value.\r\n An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Text.Conversions from and to text", "Documentation.Examples": [] }, - "ReturnType": "binary", + "ReturnType": "any", "Parameters": { - "binaries": "list" + "text": "any", + "culture": "text" }, "RequiredParameters": "1" }, { - "Name": "Binary.From", + "Name": "Value.Lineage", "Documentation": { - "Documentation.Name": "Binary.From", - "Documentation.Description": "Creates a binary from the given value", - "Documentation.LongDescription": "Returns a binary value from the given value. If the given value is null, Binary.From returns null. If the given value is binary, value is returned. Values of the following types can be converted to a binary value:\r\n \r\nIf value is of any other type, an error is returned.", - "Documentation.Category": "Binary", - "Documentation.Examples": [ - { - "Description": "Get the binary value of \"1011\".", - "Code": "Binary.From(\"1011\")", - "Result": "Binary.FromText(\"1011\", BinaryEncoding.Base64)" - } - ] + "Documentation.Name": "Value.Lineage", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Expression", + "Documentation.Examples": [] }, - "ReturnType": "binary", + "ReturnType": "any", "Parameters": { - "value": "any", - "encoding": "BinaryEncoding.Type" + "value": "any" }, "RequiredParameters": "1" }, { - "Name": "Binary.FromList", + "Name": "Value.Metadata", "Documentation": { - "Documentation.Name": "Binary.FromList", - "Documentation.Description": "Converts a list of numbers into a binary value.", - "Documentation.LongDescription": "Converts a list of numbers into a binary value.", - "Documentation.Category": "Binary", + "Documentation.Name": "Value.Metadata", + "Documentation.Description": "Returns a record containing the input's metadata.", + "Documentation.LongDescription": "Returns a record containing the input's metadata.", + "Documentation.Category": "Metadata", "Documentation.Examples": [] }, - "ReturnType": "binary", + "ReturnType": "any", "Parameters": { - "list": "list" + "value": "any" }, "RequiredParameters": "1" }, { - "Name": "Binary.FromText", + "Name": "Value.Optimize", "Documentation": { - "Documentation.Name": "Binary.FromText", - "Documentation.Description": "Decodes data from a text form into binary.", - "Documentation.LongDescription": "Returns the result of converting text value text to a binary (list of number). encoding may be specified to indicate the encoding used in the text value.\r\n The following BinaryEncoding values may be used for encoding.\r\n ", - "Documentation.Category": "Binary", - "Documentation.Examples": [ - { - "Description": "Decode \"1011\" into binary.", - "Code": "Binary.FromText(\"1011\")", - "Result": "Binary.FromText(\"1011\", BinaryEncoding.Base64)" - }, - { - "Description": "Decode \"1011\" into binary with Hex encoding.", - "Code": "Binary.FromText(\"1011\", BinaryEncoding.Hex)", - "Result": "Binary.FromText(\"EBE=\", BinaryEncoding.Base64)" - } - ] + "Documentation.Name": "Value.Optimize", + "Documentation.Description": "Signals Value.Expression to return the optimized expression for a value.", + "Documentation.LongDescription": "When used within Value.Expression, if value represents a query that can be optimized, this function indicates that the optimized expression should be returned. Otherwise, value will be passed through with no effect.", + "Documentation.Category": "Expression", + "Documentation.Examples": [] }, - "ReturnType": "binary", + "ReturnType": "any", "Parameters": { - "text": "text", - "encoding": "BinaryEncoding.Type" + "value": "any" }, "RequiredParameters": "1" }, { - "Name": "Binary.InferContentType", + "Name": "Value.RemoveMetadata", "Documentation": { - "Documentation.Name": "Binary.InferContentType", - "Documentation.Description": "Reads the binary stream and tries to determine the content type and format information of the stream.", - "Documentation.LongDescription": "Returns a record with field Content.Type that contains the inferred MIME-type.\r\n If the inferred content type is text/*, and an encoding code page is detected, then additionally returns field Content.Encoding that contains the encoding of the stream.\r\n If the inferred content type is text/csv, and the format is delimited, additionally returns field Csv.PotentialDelimiter containing a table for analysis of potential delimiters.\r\n If the inferred content type is text/csv, and the format is fixed-width, additionally returns field Csv.PotentialPositions containing a list for analysis of potential fixed width column positions.", - "Documentation.Category": "Binary", + "Documentation.Name": "Value.RemoveMetadata", + "Documentation.Description": "Strips the input of metadata.", + "Documentation.LongDescription": "Strips the input of metadata.", + "Documentation.Category": "Metadata", "Documentation.Examples": [] }, - "ReturnType": "record", + "ReturnType": "any", "Parameters": { - "source": "binary" + "value": "any", + "metaValue": "any" }, "RequiredParameters": "1" }, { - "Name": "Binary.Length", + "Name": "Value.ResourceExpression", "Documentation": { - "Documentation.Name": "Binary.Length", - "Documentation.Description": "Returns the number of characters.", - "Documentation.LongDescription": "Returns the number of characters.", - "Documentation.Category": "Binary", + "Documentation.Name": "Value.ResourceExpression", + "Documentation.Description": "Value.ResourceExpression", + "Documentation.LongDescription": "Value.ResourceExpression", + "Documentation.Category": "", "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "binary": "binary" + "value": "any" }, "RequiredParameters": "1" }, { - "Name": "Binary.ToList", + "Name": "Value.Type", "Documentation": { - "Documentation.Name": "Binary.ToList", - "Documentation.Description": "Converts a binary value into a list of numbers.", - "Documentation.LongDescription": "Converts a binary value into a list of numbers.", - "Documentation.Category": "Binary", + "Documentation.Name": "Value.Type", + "Documentation.Description": "Returns the type of the given value.", + "Documentation.LongDescription": "Returns the type of the given value.", + "Documentation.Category": "Values", "Documentation.Examples": [] }, - "ReturnType": "list", + "ReturnType": "type", "Parameters": { - "binary": "binary" + "value": "any" }, "RequiredParameters": "1" }, { - "Name": "Binary.ToText", + "Name": "Value.VersionIdentity", "Documentation": { - "Documentation.Name": "Binary.ToText", - "Documentation.Description": "Encodes binary data into a text form.", - "Documentation.LongDescription": "Returns the result of converting a binary list of numbers binary into a text value. Optionally, encoding may be specified to indicate the encoding to be used in the text value produced\r\n The following BinaryEncoding values may be used for encoding.\r\n ", - "Documentation.Category": "Binary", + "Documentation.Name": "Value.VersionIdentity", + "Documentation.Description": "Value.VersionIdentity", + "Documentation.LongDescription": "Value.VersionIdentity", + "Documentation.Category": "Action", "Documentation.Examples": [] }, - "ReturnType": "text", + "ReturnType": "any", "Parameters": { - "binary": "binary", - "encoding": "BinaryEncoding.Type" + "value": "any" }, "RequiredParameters": "1" }, { - "Name": "Binary.ViewError", + "Name": "Value.ViewError", "Documentation": { - "Documentation.Name": "Binary.ViewError", - "Documentation.Description": "Creates a modified error record which won't trigger a fallback when thrown by a handler defined on a view (via Binary.View).", - "Documentation.LongDescription": "Creates a modified error record from errorRecord which won't trigger a fallback when thrown by a handler defined on a view (via Binary.View).", - "Documentation.Category": "Binary", + "Documentation.Name": "Value.ViewError", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Values.Implementation", "Documentation.Examples": [] }, "ReturnType": "record", @@ -11071,12 +8741,12 @@ "RequiredParameters": "1" }, { - "Name": "Binary.ViewFunction", + "Name": "Value.ViewFunction", "Documentation": { - "Documentation.Name": "Binary.ViewFunction", - "Documentation.Description": "Creates a function that can be intercepted by a handler defined on a view (via Binary.View).", - "Documentation.LongDescription": "

Creates a view function based on function that can be handled in a view created by Binary.View.

\r\n

The OnInvoke handler of Binary.View can be used to define a handler for the view function.

\r\n

As with the handlers for built-in operations, if no OnInvoke handler is specified, or if it does not handle the view function, or if an error is raised by the handler, function is applied on top of the view.

\r\n

Refer to the published Power Query custom connector documentation for a more complete description of Binary.View and custom view functions.

", - "Documentation.Category": "Binary", + "Documentation.Name": "Value.ViewFunction", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Values.Implementation", "Documentation.Examples": [] }, "ReturnType": "function", @@ -11086,6807 +8756,7285 @@ "RequiredParameters": "1" }, { - "Name": "BinaryFormat.7BitEncodedSignedInteger", + "Name": "Variable.Value", "Documentation": { - "Documentation.Name": "BinaryFormat.7BitEncodedSignedInteger", - "Documentation.Description": "A binary format that reads a 64-bit signed integer that was encoded using a 7-bit variable-length encoding.", - "Documentation.LongDescription": "A binary format that reads a 64-bit signed integer that was encoded using a 7-bit variable-length encoding.", - "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Name": "Variable.Value", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Values.Implementation", "Documentation.Examples": [] }, "ReturnType": "any", "Parameters": { - "binary": "binary" + "identifier": "text" }, "RequiredParameters": "1" }, { - "Name": "BinaryFormat.7BitEncodedUnsignedInteger", + "Name": "Web.BrowserContents", "Documentation": { - "Documentation.Name": "BinaryFormat.7BitEncodedUnsignedInteger", - "Documentation.Description": "A binary format that reads a 64-bit unsigned integer that was encoded using a 7-bit variable-length encoding.", - "Documentation.LongDescription": "A binary format that reads a 64-bit unsigned integer that was encoded using a 7-bit variable-length encoding.", - "Documentation.Category": "Binary Formats.Reading numbers", - "Documentation.Examples": [] + "Documentation.Name": "Web.BrowserContents", + "Documentation.Description": "Returns the HTML for the specified URL, as viewed by a web browser.", + "Documentation.LongDescription": "Returns the HTML for the specified url, as viewed by a web browser. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [ + { + "Description": "Returns the HTML for https://microsoft.com.", + "Code": "Web.BrowserContents(\"https://microsoft.com\")", + "Result": "\"url as binary. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n The HTTP request is made as either a GET (when no Content is specified) or a POST (when there is Content). POST requests may only be made anonymously.\r\n
\r\n The headers of the HTTP response are available as metadata on the binary result. Outside of a custom data connector context, only a subset of response headers is available (for security reasons).\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [ + { + "Description": "Retrieve the contents of \"https://bing.com/search?q=Power+Query\" using the RelativePath and Query options. These options can be used to dynamically query a static base URL.", + "Code": "let\r\n searchText = \"Power Query\"\r\nin\r\n Web.Contents(\r\n \"https://www.bing.com\",\r\n [\r\n RelativePath = \"search\",\r\n Query = [q = searchText]\r\n ]\r\n )", + "Result": "binary" + }, + { + "Description": "Perform a POST against a URL, passing a binary JSON payload and parsing the response as JSON.", + "Code": "let\r\n url = ...,\r\n headers = [#\"Content-Type\" = \"application/json\"],\r\n postData = Json.FromValue([x = 235.7, y = 41.53]),\r\n response = Web.Contents(\r\n url,\r\n [\r\n Headers = headers,\r\n Content = postData\r\n ]\r\n ),\r\n jsonResponse = Json.Document(response)\r\nin\r\n jsonResponse", + "Result": "table" + }, + { + "Description": "Connect to a secure URL that accepts an authentication key as part of its query string. Instead of hard-coding the secret key in M (which would pose a security risk), \r\n the key can be provided securely by specifying its name (not its value) in M, choosing Web API authentication, and entering the key value as part of the Web API credential.\r\n When used in this way, the following example will generate a request to \"https://contoso.com/api/customers/get?api_key=******\".", + "Code": "Web.Contents(\"https://contoso.com/api/customers/get\", [ApiKeyName=\"api_key\"])", + "Result": "binary" + } + ] + }, + "ReturnType": "binary", + "Parameters": { + "url": "text", + "options": "record" + }, + "RequiredParameters": "1" + }, + { + "Name": "Web.Headers", + "Documentation": { + "Documentation.Name": "Web.Headers", + "Documentation.Description": "Returns the HTTP headers downloaded from the url as a record value.", + "Documentation.LongDescription": "Returns the headers downloaded from url as a record. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n The HTTP request is made with the HEAD method. Outside of a custom data connector context, only a subset of response headers is available (for security reasons).\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [ + { + "Description": "Retrieve the HTTP headers for \"https://bing.com/search?q=Power+Query\" using the RelativePath and Query options.", + "Code": "let\r\n searchText = \"Power Query\"\r\nin\r\n Web.Headers(\r\n \"https://www.bing.com\",\r\n [\r\n RelativePath = \"search\",\r\n Query = [q = searchText]\r\n ]\r\n )", + "Result": "([\r\n #\"Cache-Control\" = \"private, max-age=0\",\r\n #\"Content-Encoding\" = \"gzip\",\r\n #\"Content-Length\" = \"0\",\r\n #\"Content-Type\" = \"text/html; charset=utf-8\",\r\n Date = \"Tue, 14 Dec 2021 16:57:25 GMT\",\r\n Expires = \"Tue, 14 Dec 2021 16:56:25 GMT\",\r\n Vary = \"Accept-Encoding\"\r\n]\r\nmeta [\r\n Response.Status = 200\r\n])" + } + ] + }, + "ReturnType": "record", + "Parameters": { + "url": "text", + "options": "record" }, "RequiredParameters": "1" }, { - "Name": "BinaryFormat.Byte", - "Documentation": { - "Documentation.Name": "BinaryFormat.Byte", - "Documentation.Description": "A binary format that reads an 8-bit unsigned integer.", - "Documentation.LongDescription": "A binary format that reads an 8-bit unsigned integer.", - "Documentation.Category": "Binary Formats.Reading numbers", - "Documentation.Examples": [] + "Name": "AI.ExecuteInProc", + "Documentation": {}, + "ReturnType": "any", + "Parameters": { + "methodName": "text", + "params": "record" }, + "RequiredParameters": "2" + }, + { + "Name": "AI.ExternalSort", + "Documentation": {}, "ReturnType": "any", "Parameters": { - "binary": "binary" + "data": "table", + "sortColumnName": "text", + "maxBufferRows": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.Decimal", + "Name": "AccessControlEntry.ConditionToIdentities", "Documentation": { - "Documentation.Name": "BinaryFormat.Decimal", - "Documentation.Description": "A binary format that reads a .NET 16-byte decimal value.", - "Documentation.LongDescription": "A binary format that reads a .NET 16-byte decimal value.", - "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Name": "AccessControlEntry.ConditionToIdentities", + "Documentation.Description": "Returns a list of identities that the condition will accept.", + "Documentation.LongDescription": "

Using the specified identityProvider, converts the condition into the list of identities for which condition would return true in all authorization contexts with identityProvider as the identity provider. An error is raised if it is not possible to convert condition into a list of identities, for example if condition consults attributes other than user or group identities to make a decision.

\r\n

Note that the list of identities represents the identities as they appear in condition and no normalization (such as group expansion) is performed on them.

\r\n", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "binary": "binary" + "identityProvider": "function", + "condition": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.Double", + "Name": "AdoDotNet.DataSource", "Documentation": { - "Documentation.Name": "BinaryFormat.Double", - "Documentation.Description": "A binary format that reads an 8-byte IEEE double-precision floating point value.", - "Documentation.LongDescription": "A binary format that reads an 8-byte IEEE double-precision floating point value.", - "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Name": "AdoDotNet.DataSource", + "Documentation.Description": "Returns the schema collection for an ADO.NET data source.", + "Documentation.LongDescription": "Returns the schema collection for the ADO.NET data source with provider name providerName and connection string connectionString. connectionString can be text or a record of property value pairs. Property values can either be text or number. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "binary": "binary" + "providerName": "text", + "connectionString": "any", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.List", + "Name": "AmazonRedshift.Database", "Documentation": { - "Documentation.Name": "BinaryFormat.List", - "Documentation.Description": "Returns a binary format that reads a sequence of items and returns a list.", - "Documentation.LongDescription": "Returns a binary format that reads a sequence of items and returns a list. The binaryFormat parameter specifies the binary format of each item. There are three ways to determine the number of items read: ", - "Documentation.Category": "Binary Formats.Reading lists", + "Documentation.Name": "Amazon Redshift", + "Documentation.Caption": "Amazon Redshift (Beta)", + "Documentation.Description": "Import data from an Amazon Redshift database.", + "Documentation.LongDescription": "Returns a table listing the tables on the Amazon Redshift cluster server in the database database. An optional record parameter, options, may be specified to control the following options:\r\n\r\n ", "Documentation.Examples": [ { - "Description": "Read bytes until the end of the data.", - "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.List(BinaryFormat.Byte)\r\nin\r\n listFormat(binaryData)", - "Result": "{1, 2, 3}" - }, - { - "Description": "Read two bytes.", - "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.List(BinaryFormat.Byte, 2)\r\nin\r\n listFormat(binaryData)", - "Result": "{1, 2}" - }, - { - "Description": "Read bytes until the byte value is greater than or equal to two.", - "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.List(BinaryFormat.Byte, (x) => x < 2)\r\nin\r\n listFormat(binaryData)", - "Result": "{1, 2}" + "Description": null, + "Code": "AmazonRedshift.Database(\"contoso.redshift.amazonaws.com:5439\", \"dev\")" } ] }, - "ReturnType": "function", + "ReturnType": "table", "Parameters": { - "binaryFormat": "function", - "countOrCondition": "any" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.Null", + "Name": "AnalysisServices.Database", "Documentation": { - "Documentation.Name": "BinaryFormat.Null", - "Documentation.Description": "A binary format that reads zero bytes and returns null.", - "Documentation.LongDescription": "A binary format that reads zero bytes and returns null.", - "Documentation.Category": "Binary Formats.Controlling what comes next", + "Documentation.Name": "AnalysisServices.Database", + "Documentation.Description": "Returns a table of multidimensional cubes or tabular models from the Analysis Services database.", + "Documentation.LongDescription": "Returns a table of multidimensional cubes or tabular models from the Analysis Services database database on server server. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n ", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "binary": "binary" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.Record", + "Name": "ApacheSpark.Tables", "Documentation": { - "Documentation.Name": "BinaryFormat.Record", - "Documentation.Description": "Returns a binary format that reads a record.", - "Documentation.LongDescription": "Returns a binary format that reads a record. The record parameter specifies the format of the record. Each field in the record can have a different binary format. If a field contains a value that is not a binary format value, then no data is read for that field, and the field value is echoed to the result.", - "Documentation.Category": "Binary Formats.Reading records", + "Documentation.Name": "Spark", + "Documentation.Caption": "Spark", + "Documentation.Description": "Returns a table listing the tables on the specified Spark cluster.", + "Documentation.LongDescription": "Returns a table listing the tables on the Spark cluster host using protocol. Valid protocols are:\r\nSparkProtocol.Standard, SparkProtocol.HTTP", "Documentation.Examples": [ { - "Description": "Read a record containing one 16-bit integer and one 32-bit integer.", - "Code": "let\r\n binaryData = #binary({\r\n 0x00, 0x01,\r\n 0x00, 0x00, 0x00, 0x02\r\n }),\r\n recordFormat = BinaryFormat.Record([\r\n A = BinaryFormat.UnsignedInteger16,\r\n B = BinaryFormat.UnsignedInteger32\r\n ])\r\nin\r\n recordFormat(binaryData)", - "Result": "[A = 1, B = 2]" + "Description": "Returns a table listing the tables on the specified Spark cluster.", + "Code": "Spark.Tables(\"http://example.com:10000/cliservice\", SparkProtocol.HTTP)" } ] }, - "ReturnType": "function", + "ReturnType": "table", "Parameters": { - "record": "record" + "server": "text", + "protocol": "SparkProtocol.Type", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.SignedInteger16", + "Name": "AzureDevOpsServer.AnalyticsViews", "Documentation": { - "Documentation.Name": "BinaryFormat.SignedInteger16", - "Documentation.Description": "A binary format that reads a 16-bit signed integer.", - "Documentation.LongDescription": "A binary format that reads a 16-bit signed integer.", - "Documentation.Category": "Binary Formats.Reading numbers", - "Documentation.Examples": [] + "Documentation.Description": "Enter organization and project names.", + "Documentation.DisplayName": "VSTS.AnalyticsViews", + "Documentation.Caption": "VSTS.AnalyticsViews", + "Documentation.Name": "Azure DevOps Server (Boards only)", + "Documentation.LongDescription": "Returns a table of Analytics views offered by Azure DevOps." }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "binary": "binary" + "url": "text", + "project": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.SignedInteger32", + "Name": "AzureHiveLLAP.Database", "Documentation": { - "Documentation.Name": "BinaryFormat.SignedInteger32", - "Documentation.Description": "A binary format that reads a 32-bit signed integer.", - "Documentation.LongDescription": "A binary format that reads a 32-bit signed integer.", - "Documentation.Category": "Binary Formats.Reading numbers", - "Documentation.Examples": [] + "Documentation.Name": "HDInsight Interactive Query", + "Documentation.Caption": null, + "Documentation.Description": "Import data from HDInsight Interactive Query", + "Documentation.LongDescription": "\r\nReturns a list of tables from HDInsight Interactive Query specified by the database on the HDInsight Interactive Query server. A port number may be optionally specified with the server, separated by a colon. An optional options parameter may be specified to control the following options:\r\n\r\nThe options parameter is specified as [option1 = value1, option2 = value2...]." }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "binary": "binary" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.SignedInteger64", + "Name": "Binary.Compress", "Documentation": { - "Documentation.Name": "BinaryFormat.SignedInteger64", - "Documentation.Description": "A binary format that reads a 64-bit signed integer.", - "Documentation.LongDescription": "A binary format that reads a 64-bit signed integer.", - "Documentation.Category": "Binary Formats.Reading numbers", - "Documentation.Examples": [] + "Documentation.Name": "Binary.Compress", + "Documentation.Description": "Compresses a binary value using the given compression type.", + "Documentation.LongDescription": "Compresses a binary value using the given compression type. The result of this call is a compressed copy of the input. Compression types include:\r\n ", + "Documentation.Category": "Binary", + "Documentation.Examples": [ + { + "Description": "Compress the binary value.", + "Code": "Binary.Compress(Binary.FromList(List.Repeat({10}, 1000)), Compression.Deflate)", + "Result": "#binary({227, 226, 26, 5, 163, 96, 20, 12, 119, 0, 0})" + } + ] }, - "ReturnType": "any", + "ReturnType": "binary", "Parameters": { - "binary": "binary" + "binary": "binary", + "compressionType": "Compression.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.Single", + "Name": "Binary.Decompress", "Documentation": { - "Documentation.Name": "BinaryFormat.Single", - "Documentation.Description": "A binary format that reads a 4-byte IEEE single-precision floating point value.", - "Documentation.LongDescription": "A binary format that reads a 4-byte IEEE single-precision floating point value.", - "Documentation.Category": "Binary Formats.Reading numbers", - "Documentation.Examples": [] + "Documentation.Name": "Binary.Decompress", + "Documentation.Description": "Decompresses a binary value using the given compression type.", + "Documentation.LongDescription": "Decompresses a binary value using the given compression type. The result of this call is a decompressed copy of the input. Compression types include:\r\n ", + "Documentation.Category": "Binary", + "Documentation.Examples": [ + { + "Description": "Decompress the binary value.", + "Code": "Binary.Decompress(#binary({115, 103, 200, 7, 194, 20, 134, 36, 134, 74, 134, 84, 6, 0}), Compression.Deflate)", + "Result": "#binary({71, 0, 111, 0, 111, 0, 100, 0, 98, 0, 121, 0, 101, 0})" + } + ] }, - "ReturnType": "any", + "ReturnType": "binary", "Parameters": { - "binary": "binary" + "binary": "binary", + "compressionType": "Compression.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.Text", + "Name": "Binary.Range", "Documentation": { - "Documentation.Name": "BinaryFormat.Text", - "Documentation.Description": "Returns a binary format that reads a text value.", - "Documentation.LongDescription": "Returns a binary format that reads a text value. The length specifies the number of bytes to decode, or the binary format of the length that precedes the text. The optional encoding value specifies the encoding of the text. If the encoding is not specified, then the encoding is determined from the Unicode byte order marks. If no byte order marks are present, then TextEncoding.Utf8 is used.", - "Documentation.Category": "Binary Formats.Reading text", + "Documentation.Name": "Binary.Range", + "Documentation.Description": "Returns a subset of the binary value beginning at an offset.", + "Documentation.LongDescription": "Returns a subset of the binary value beginning at the offset binary. An optional parameter, offset, sets the maximum length of the subset.", + "Documentation.Category": "Binary", "Documentation.Examples": [ { - "Description": "Decode two bytes as ASCII text.", - "Code": "let\r\n binaryData = #binary({65, 66, 67}),\r\n textFormat = BinaryFormat.Text(2, TextEncoding.Ascii)\r\nin\r\n textFormat(binaryData)", - "Result": "\"AB\"" + "Description": "Returns a subset of the binary value starting at offset 6.", + "Code": "Binary.Range(#binary({0..10}), 6)", + "Result": "#binary({6, 7, 8, 9, 10})" }, { - "Description": "Decode ASCII text where the length of the text in bytes appears before the text as a byte.", - "Code": "let\r\n binaryData = #binary({2, 65, 66}),\r\n textFormat = BinaryFormat.Text(\r\n BinaryFormat.Byte,\r\n TextEncoding.Ascii\r\n )\r\nin\r\n textFormat(binaryData)", - "Result": "\"AB\"" + "Description": "Returns a subset of length 2 from offset 6 of the binary value.", + "Code": "Binary.Range(#binary({0..10}), 6, 2)", + "Result": "#binary({6, 7})" } ] }, - "ReturnType": "function", + "ReturnType": "binary", "Parameters": { - "length": "any", - "encoding": "TextEncoding.Type" + "binary": "binary", + "offset": "number", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.UnsignedInteger16", + "Name": "Binary.Split", "Documentation": { - "Documentation.Name": "BinaryFormat.UnsignedInteger16", - "Documentation.Description": "A binary format that reads a 16-bit unsigned integer.", - "Documentation.LongDescription": "A binary format that reads a 16-bit unsigned integer.", - "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Name": "Binary.Split", + "Documentation.Description": "Splits the specified binary into a list of binaries using the specified page size.", + "Documentation.LongDescription": "Splits binary into a list of binaries where the first element of the output list is a binary containing the first pageSize bytes from\r\n the source binary, the next element of the output list is a binary containing the next pageSize bytes from the source binary, and so on.", + "Documentation.Category": "Binary", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "binary": "binary" + "binary": "binary", + "pageSize": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.UnsignedInteger32", + "Name": "Binary.View", "Documentation": { - "Documentation.Name": "BinaryFormat.UnsignedInteger32", - "Documentation.Description": "A binary format that reads a 32-bit unsigned integer.", - "Documentation.LongDescription": "A binary format that reads a 32-bit unsigned integer.", - "Documentation.Category": "Binary Formats.Reading numbers", - "Documentation.Examples": [] + "Documentation.Name": "Binary.View", + "Documentation.Description": "Creates or extends a binary with user-defined handlers for query and action operations.", + "Documentation.LongDescription": "

Returns a view of binary where the functions specified in handlers are used in lieu of the default behavior of an operation when the operation is applied to the view.

\r\n

If binary is provided, all handler functions are optional. If binary isn't provided, the GetStream handler function is required. If a handler function isn't specified for an operation, the default behavior of the operation is applied to binary instead (except in the case of GetExpression).

\r\n

Handler functions must return a value that is semantically equivalent to the result of applying the operation against binary (or the resulting view in the case of GetExpression).

\r\n

If a handler function raises an error, the default behavior of the operation is applied to the view.

\r\n

Binary.View can be used to implement folding to a data source – the translation of M queries into source-specific operations (for example, to download a section of a file).

\r\n

Refer to the published Power Query custom connector documentation for a more complete description of Binary.View.

", + "Documentation.Category": "Binary", + "Documentation.Examples": [ + { + "Description": "Create a basic view that doesn't require accessing the data in order to determine the length.", + "Code": "Binary.View(\r\n null,\r\n [\r\n GetLength = () => 12,\r\n GetStream = () => Text.ToBinary(\"hello world!\")\r\n ]\r\n)", + "Result": "Text.ToBinary(\"hello world!\")" + } + ] }, - "ReturnType": "any", + "ReturnType": "binary", "Parameters": { - "binary": "binary" + "binary": "binary", + "handlers": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "BinaryFormat.UnsignedInteger64", + "Name": "BinaryFormat.ByteOrder", "Documentation": { - "Documentation.Name": "BinaryFormat.UnsignedInteger64", - "Documentation.Description": "A binary format that reads a 64-bit unsigned integer.", - "Documentation.LongDescription": "A binary format that reads a 64-bit unsigned integer.", - "Documentation.Category": "Binary Formats.Reading numbers", + "Documentation.Name": "BinaryFormat.ByteOrder", + "Documentation.Description": "Returns a binary format with the byte order specified by a function.", + "Documentation.LongDescription": "Returns a binary format with the byte order specified by binaryFormat. The default byte order is ByteOrder.BigEndian.", + "Documentation.Category": "Binary Formats.Controlling byte order", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "function", "Parameters": { - "binary": "binary" + "binaryFormat": "function", + "byteOrder": "ByteOrder.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Byte.From", + "Name": "BinaryFormat.Choice", "Documentation": { - "Documentation.Name": "Byte.From", - "Documentation.Description": "Creates an 8-bit integer from the given value.", - "Documentation.LongDescription": "Returns an 8-bit integer number value from the given value. If the given value is null, Byte.From returns null. If the given value is a number within the range of an 8-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "BinaryFormat.Choice", + "Documentation.Description": "Returns a binary format that chooses the next binary format based on a value that has already been read.", + "Documentation.LongDescription": "Returns a binary format that chooses the next binary format based on a value that has already been read. The binary format value produced by this function works in stages:The optional type parameter indicates the type of binary format that will be returned by the choice function. Either type any, type list, or type binary may be specified. If the type parameter is not specified, then type any is used. If type list or type binary is used, then the system may be able to return a streaming binary or list value instead of a buffered one, which may reduce the amount of memory necessary to read the format.", + "Documentation.Category": "Binary Formats.Controlling what comes next", "Documentation.Examples": [ { - "Description": "Get the 8-bit integer number value of \"4\".", - "Code": "Byte.From(\"4\")", - "Result": "4" + "Description": "Read a list of bytes where the number of elements is determined by the first byte.", + "Code": "let\r\n binaryData = #binary({2, 3, 4, 5}),\r\n listFormat = BinaryFormat.Choice(\r\n BinaryFormat.Byte,\r\n (length) => BinaryFormat.List(BinaryFormat.Byte, length)\r\n )\r\nin\r\n listFormat(binaryData)", + "Result": "{3, 4}" }, { - "Description": "Get the 8-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", - "Code": "Byte.From(\"4.5\", null, RoundingMode.AwayFromZero)", - "Result": "5" + "Description": "Read a list of bytes where the number of elements is determined by the first byte, and preserve the first byte read.", + "Code": "let\r\n binaryData = #binary({2, 3, 4, 5}),\r\n listFormat = BinaryFormat.Choice(\r\n BinaryFormat.Byte,\r\n (length) => BinaryFormat.Record([\r\n length = length,\r\n list = BinaryFormat.List(BinaryFormat.Byte, length)\r\n ])\r\n )\r\nin\r\n listFormat(binaryData)", + "Result": "[length = 2, list = {3, 4}]" + }, + { + "Description": "Read a list of bytes where the number of elements is determined by the first byte using a streaming list.", + "Code": "let\r\n binaryData = #binary({2, 3, 4, 5}),\r\n listFormat = BinaryFormat.Choice(\r\n BinaryFormat.Byte,\r\n (length) => BinaryFormat.List(BinaryFormat.Byte, length),\r\n type list\r\n )\r\nin\r\n listFormat(binaryData)", + "Result": "{3, 4}" } ] }, - "ReturnType": "number", - "Parameters": { - "value": "any", - "culture": "text", - "roundingMode": "RoundingMode.Type" - }, - "RequiredParameters": "1" - }, - { - "Name": "Cds.Contents", - "Documentation": {}, - "ReturnType": "any", + "ReturnType": "function", "Parameters": { - "url": "text", - "options": "record" + "binaryFormat": "function", + "chooseFunction": "function", + "type": "type", + "combineFunction": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Character.FromNumber", + "Name": "BinaryFormat.Group", "Documentation": { - "Documentation.Name": "Character.FromNumber", - "Documentation.Description": "Converts the number to its character value.", - "Documentation.LongDescription": "Returns the character equivalent of the number.", - "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Name": "BinaryFormat.Group", + "Documentation.Description": "Returns a binary format that reads a group of items.", + "Documentation.LongDescription": "The parameters are as follows:\r\n\r\nThe group parameter specifies a list of item definitions. Each item definition is a list, containing 3-5 values, as follows:\r\n", + "Documentation.Category": "Binary Formats.Reading a group of items", "Documentation.Examples": [ { - "Description": "Given the number 9, find the character value.", - "Code": "Character.FromNumber(9)", - "Result": "\"#(tab)\"" + "Description": "The following assumes a key value that is a single byte, with 4 expected items in the group, all of which have a byte of data following the key. The items appear in the input as follows:\r\n", + "Code": "let\r\n b = #binary({\r\n 1, 11,\r\n 2, 22,\r\n 2, 22,\r\n 5, 55,\r\n 1, 11\r\n }),\r\n f = BinaryFormat.Group(\r\n BinaryFormat.Byte,\r\n {\r\n {1, BinaryFormat.Byte, BinaryOccurrence.Required},\r\n {2, BinaryFormat.Byte, BinaryOccurrence.Repeating},\r\n {3, BinaryFormat.Byte, BinaryOccurrence.Optional},\r\n {4, BinaryFormat.Byte, BinaryOccurrence.Repeating}\r\n },\r\n (extra) => BinaryFormat.Byte\r\n )\r\nin\r\n f(b)", + "Result": "{11, {22, 22}, null, {}}" + }, + { + "Description": "The following example illustrates the item value transform and default item value. The repeating item with key 1 sums the list of values read using List.Sum. The optional item with key 2 has a default value of 123 instead of null.", + "Code": "let\r\n b = #binary({\r\n 1, 101,\r\n 1, 102\r\n }),\r\n f = BinaryFormat.Group(\r\n BinaryFormat.Byte,\r\n {\r\n {1, BinaryFormat.Byte, BinaryOccurrence.Repeating,\r\n 0, (list) => List.Sum(list)},\r\n {2, BinaryFormat.Byte, BinaryOccurrence.Optional, 123}\r\n }\r\n )\r\nin\r\n f(b)", + "Result": "{203, 123}" } ] }, - "ReturnType": "text", + "ReturnType": "function", "Parameters": { - "number": "number" + "binaryFormat": "function", + "group": "list", + "extra": "function", + "lastKey": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Character.ToNumber", + "Name": "BinaryFormat.Length", "Documentation": { - "Documentation.Name": "Character.ToNumber", - "Documentation.Description": "Converts a character to its number value.", - "Documentation.LongDescription": "Returns the number equivalent of the character, character.", - "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Name": "BinaryFormat.Length", + "Documentation.Description": "Returns a binary format that limits the amount of data that can be read.", + "Documentation.LongDescription": "Returns a binary format that limits the amount of data that can be read. Both BinaryFormat.List and BinaryFormat.Binary can be used to read until end of the data. BinaryFormat.Length can be used to limit the number of bytes that are read. The binaryFormat parameter specifes the binary format to limit. The length parameter specifies the number of bytes to read. The length parameter may either be a number value, or a binary format value that specifies the format of the length value that appears that precedes the value being read.", + "Documentation.Category": "Binary Formats.Limiting input", "Documentation.Examples": [ { - "Description": "Given the character \"#(tab)\" 9, find the number value.", - "Code": "Character.ToNumber(\"#(tab)\")", - "Result": "9" + "Description": "Limit the number of bytes read to 2 when reading a list of bytes.", + "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.Length(\r\n BinaryFormat.List(BinaryFormat.Byte),\r\n 2\r\n )\r\nin\r\n listFormat(binaryData)", + "Result": "{1, 2}" + }, + { + "Description": "Limit the number of byte read when reading a list of bytes to the byte value preceding the list.", + "Code": "let\r\n binaryData = #binary({1, 2, 3}),\r\n listFormat = BinaryFormat.Length(\r\n BinaryFormat.List(BinaryFormat.Byte),\r\n BinaryFormat.Byte\r\n )\r\nin\r\n listFormat(binaryData)", + "Result": "{2}" } ] }, - "ReturnType": "number", + "ReturnType": "function", "Parameters": { - "character": "text" + "binaryFormat": "function", + "length": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Combiner.CombineTextByDelimiter", + "Name": "BinaryFormat.Transform", "Documentation": { - "Documentation.Name": "Combiner.CombineTextByDelimiter", - "Documentation.Description": "Returns a function that combines a list of text values into a single text value using the specified delimiter.", - "Documentation.LongDescription": "Returns a function that combines a list of text values into a single text value using the specified delimiter.", - "Documentation.Category": "Combiner", + "Documentation.Name": "BinaryFormat.Transform", + "Documentation.Description": "Returns a binary format that will transform the values read by another binary format.", + "Documentation.LongDescription": "Returns a binary format that will transform the values read by another binary format. The binaryFormat parameter specifies the binary format that will be used to read the value. The function is invoked with the value read, and returns the transformed value.", + "Documentation.Category": "Binary Formats.Transforming what was read", "Documentation.Examples": [ { - "Description": "Combine a list of text values using a semicolon delimiter.", - "Code": "Combiner.CombineTextByDelimiter(\";\")({\"a\", \"b\", \"c\"})", - "Result": "\"a;b;c\"" - }, - { - "Description": "Combine the text of two columns using a comma delimiter and CSV-style quoting.", - "Code": "let\r\n Source = #table(\r\n type table [Column1 = text, Column2 = text],\r\n {{\"a\", \"b\"}, {\"c\", \"d,e,f\"}}\r\n ),\r\n Merged = Table.CombineColumns(\r\n Source,\r\n {\"Column1\", \"Column2\"},\r\n Combiner.CombineTextByDelimiter(\",\", QuoteStyle.Csv),\r\n \"Merged\"\r\n )\r\nin\r\n Merged", - "Result": "#table(\r\n type table [Merged = text],\r\n {{\"a,b\"}, {\"c,\"\"d,e,f\"\"\"}}\r\n)" + "Description": "Read a byte and add one to it.", + "Code": "let\r\n binaryData = #binary({1}),\r\n transformFormat = BinaryFormat.Transform(\r\n BinaryFormat.Byte,\r\n (x) => x + 1\r\n )\r\nin\r\n transformFormat(binaryData)", + "Result": "2" } ] }, "ReturnType": "function", "Parameters": { - "delimiter": "text", - "quoteStyle": "QuoteStyle.Type" + "binaryFormat": "function", + "function": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Combiner.CombineTextByEachDelimiter", + "Name": "Cdm.MapToEntity", "Documentation": { - "Documentation.Name": "Combiner.CombineTextByEachDelimiter", - "Documentation.Description": "Returns a function that combines a list of text into a single text using each specified delimiter in sequence.", - "Documentation.LongDescription": "Returns a function that combines a list of text into a single text using each specified delimiter in sequence.", - "Documentation.Category": "Combiner", - "Documentation.Examples": [] + "Documentation.Caption": "Cdm.MapToEntity", + "Documentation.Description": "Returns a table with columns mapped to the attributes of an entity in the Common Data Model, including data types.", + "Documentation.DisplayName": "Cdm.MapToEntity", + "Documentation.LongDescription": "Returns a table with columns mapped to the attributes of an entity in the Common Data Model, including data types. Columns from the entity definition will be added if not mapped, and any unmapped columns will be removed.", + "Documentation.Name": "Cdm.MapToEntity" }, - "ReturnType": "function", + "ReturnType": "table", "Parameters": { - "delimiters": "list", - "quoteStyle": "QuoteStyle.Type" + "table": "table", + "columnDefinitions": "any", + "defaultType": "type", + "defaultCdmClass": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Combiner.CombineTextByLengths", + "Name": "Comparer.Ordinal", "Documentation": { - "Documentation.Name": "Combiner.CombineTextByLengths", - "Documentation.Description": "Returns a function that combines a list of text into a single text using the specified lengths.", - "Documentation.LongDescription": "Returns a function that combines a list of text into a single text using the specified lengths.", - "Documentation.Category": "Combiner", - "Documentation.Examples": [] + "Documentation.Name": "Comparer.Ordinal", + "Documentation.Description": "Returns a comparer function which uses Ordinal rules to compare values.", + "Documentation.LongDescription": "Returns a comparer function which uses Ordinal rules to compare the provided values x and y.
\r\n
\r\n A comparer function accepts two arguments and returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.\r\n ", + "Documentation.Category": "Comparer", + "Documentation.Examples": [ + { + "Description": "Using Ordinal rules, compare if \"encyclopædia\" and \"encyclopaedia\" are equivalent. Note these are equivalent using Comparer.FromCulture(\"en-US\"). ", + "Code": "Comparer.Equals(Comparer.Ordinal, \"encyclopædia\", \"encyclopaedia\")", + "Result": "false" + } + ] }, - "ReturnType": "function", + "ReturnType": "number", "Parameters": { - "lengths": "list", - "template": "text" + "x": "any", + "y": "any" + }, + "RequiredParameters": "2" + }, + { + "Name": "Comparer.OrdinalIgnoreCase", + "Documentation": { + "Documentation.Name": "Comparer.OrdinalIgnoreCase", + "Documentation.Description": "Returns a case-insensitive comparer function which uses Ordinal rules to compare values.", + "Documentation.LongDescription": "Returns a case-insensitive comparer function which uses Ordinal rules to compare the provided values x and y.
\r\n
\r\n A comparer function accepts two arguments and returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.\r\n ", + "Documentation.Category": "Comparer", + "Documentation.Examples": [ + { + "Description": "Using case-insensitive Ordinal rules, compare \"Abc\" with \"abc\". Note \"Abc\" is less than \"abc\" using Comparer.Ordinal. ", + "Code": "Comparer.OrdinalIgnoreCase(\"Abc\", \"abc\")", + "Result": "0" + } + ] + }, + "ReturnType": "number", + "Parameters": { + "x": "any", + "y": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Combiner.CombineTextByPositions", + "Name": "Cube.ApplyParameter", "Documentation": { - "Documentation.Name": "Combiner.CombineTextByPositions", - "Documentation.Description": "Returns a function that combines a list of text into a single text using the specified positions.", - "Documentation.LongDescription": "Returns a function that combines a list of text into a single text using the specified positions.", - "Documentation.Category": "Combiner", + "Documentation.Name": "Cube.ApplyParameter", + "Documentation.Description": "Returns a cube after applying a parameter to it.", + "Documentation.LongDescription": "Returns a cube after applying parameter with arguments to cube.", + "Documentation.Category": "Cube", "Documentation.Examples": [] }, - "ReturnType": "function", + "ReturnType": "table", "Parameters": { - "positions": "list", - "template": "text" + "cube": "table", + "parameter": "any", + "arguments": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Combiner.CombineTextByRanges", + "Name": "Cube.AttributeMemberProperty", "Documentation": { - "Documentation.Name": "Combiner.CombineTextByRanges", - "Documentation.Description": "Returns a function that combines a list of text into a single text using the specified positions and lengths.", - "Documentation.LongDescription": "Returns a function that combines a list of text into a single text using the specified positions and lengths. A null length indicates that the entire text value should be included.", - "Documentation.Category": "Combiner", + "Documentation.Name": "Cube.AttributeMemberProperty", + "Documentation.Description": "Returns a property of a dimension attribute.", + "Documentation.LongDescription": "Returns the property propertyName of dimension attribute attribute.", + "Documentation.Category": "Cube", "Documentation.Examples": [] }, - "ReturnType": "function", + "ReturnType": "any", "Parameters": { - "ranges": "list", - "template": "text" + "attribute": "any", + "propertyName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Comparer.FromCulture", + "Name": "Cube.CollapseAndRemoveColumns", "Documentation": { - "Documentation.Name": "Comparer.FromCulture", - "Documentation.Description": "Returns a comparer function based on the specified culture and case-sensitivity.", - "Documentation.LongDescription": "Returns a comparer function that uses the culture and the case-sensitivity specified by ignoreCase to perform comparisons.
\r\n
\r\n A comparer function accepts two arguments and returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.
\r\n
\r\n The default value for ignoreCase is false. The culture should be one of the locales supported by the .NET framework (for example, \"en-US\").\r\n ", - "Documentation.Category": "Comparer", - "Documentation.Examples": [ - { - "Description": "Compare \"a\" and \"A\" using \"en-US\" locale to determine if the values are equal.", - "Code": "Comparer.FromCulture(\"en-US\")(\"a\", \"A\")", - "Result": "-1" - }, - { - "Description": "Compare \"a\" and \"A\" using \"en-US\" locale ignoring the case to determine if the values are equal.", - "Code": "Comparer.FromCulture(\"en-US\", true)(\"a\", \"A\")", - "Result": "0" - } - ] + "Documentation.Name": "Cube.CollapseAndRemoveColumns", + "Documentation.Description": "Changes the dimensional granularity of the filter context for the cube by collapsing the attributes mapped to the specified columns.", + "Documentation.LongDescription": "Changes the dimensional granularity of the filter context for the cube by collapsing the attributes mapped to the specified columns columnNames. The columns are also removed from the tabular view of the cube.", + "Documentation.Category": "Cube", + "Documentation.Examples": [] }, - "ReturnType": "function", + "ReturnType": "table", "Parameters": { - "culture": "text", - "ignoreCase": "logical" + "cube": "table", + "columnNames": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Cube.AttributeMemberId", + "Name": "Cube.MeasureProperty", "Documentation": { - "Documentation.Name": "Cube.AttributeMemberId", - "Documentation.Description": "Returns the unique member identifier from members property value.", - "Documentation.LongDescription": "Returns the unique member identifier from a member property value. attribute. Returns null for any other values.", + "Documentation.Name": "Cube.MeasureProperty", + "Documentation.Description": "Returns a property of a measure (cell property).", + "Documentation.LongDescription": "Returns the property propertyName of measure measure.", "Documentation.Category": "Cube", "Documentation.Examples": [] }, "ReturnType": "any", "Parameters": { - "attribute": "any" + "measure": "any", + "propertyName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Cube.PropertyKey", + "Name": "Cube.ReplaceDimensions", "Documentation": { - "Documentation.Name": "Cube.PropertyKey", - "Documentation.Description": "Returns the key of a property.", - "Documentation.LongDescription": "Returns the key of property property.", + "Documentation.Name": "Cube.ReplaceDimensions", + "Documentation.Description": "Replaces the set of dimensions returned by Cube.Dimensions.", + "Documentation.LongDescription": "Replaces the set of dimensions returned by Cube.Dimensions.\r\n For example, this function can be used to add an ID column to a dimension attribute, so that the data source can group on the ID rather than the displayed value.", "Documentation.Category": "Cube", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "property": "any" + "cube": "table", + "dimensions": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Currency.From", + "Name": "Cube.Transform", "Documentation": { - "Documentation.Name": "Currency.From", - "Documentation.Description": "Returns a currency value from the given value.", - "Documentation.LongDescription": "Returns a currency value from the given value. If the given value is null, Currency.From returns null. If the given value is number within the range of currency, fractional part of the value is rounded to 4 decimal digits and returned. If value is of any other type, it will first be converted to a number using Number.FromText. Valid range for currency is -922,337,203,685,477.5808 to 922,337,203,685,477.5807. Refer to Number.Round for the available rounding modes. The default is RoundingMode.ToEven. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", - "Documentation.Examples": [ - { - "Description": "Get the currency value of \"1.23455\".", - "Code": "Currency.From(\"1.23455\")", - "Result": "1.2346" - }, - { - "Description": "Get the currency value of \"1.23455\" using RoundingMode.Down.", - "Code": "Currency.From(\"1.23455\", \"en-US\", RoundingMode.Down)", - "Result": "1.2345" - } - ] + "Documentation.Name": "Cube.Transform", + "Documentation.Description": "Applies a list of cube functions.", + "Documentation.LongDescription": "Applies the list cube functions, transforms, on the cube.", + "Documentation.Category": "Cube", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "value": "any", - "culture": "text", - "roundingMode": "RoundingMode.Type" + "cube": "table", + "transforms": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.Day", + "Name": "DB2.Database", "Documentation": { - "Documentation.Name": "Date.Day", - "Documentation.Description": "Returns the day component.", - "Documentation.LongDescription": "Returns the day component of a date, datetime, or datetimezone value.\r\n ", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Get the day component of a date, datetime, or datetimezone value representing the date and time of 5/14/2011 05:00:00 PM.", - "Code": "Date.Day(#datetime(2011, 5, 14, 17, 0, 0))", - "Result": "14" - } - ] + "Documentation.Name": "DB2.Database", + "Documentation.Description": "Returns a table of SQL tables and views available in a Db2 database.", + "Documentation.LongDescription": "Returns a table of SQL tables and views available in a Db2 database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "dateTime": "any" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.DayOfWeek", + "Name": "DataWorld.Dataset", "Documentation": { - "Documentation.Name": "Date.DayOfWeek", - "Documentation.Description": "Returns a number (from 0 to 6) indicating the day of the week of the provided value.", - "Documentation.LongDescription": "Returns a number (from 0 to 6) indicating the day of the week of the provided dateTime.\r\n ", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Get the day of the week represented by Monday, February 21st, 2011, treating Sunday as the first day of the week.", - "Code": "Date.DayOfWeek(#date(2011, 02, 21), Day.Sunday)", - "Result": "1" - }, - { - "Description": "Get the day of the week represented by Monday, February 21st, 2011, treating Monday as the first day of the week.", - "Code": "Date.DayOfWeek(#date(2011, 02, 21), Day.Monday)", - "Result": "0" - } - ] + "Documentation.Name": "DataWorld.Dataset", + "Documentation.LongDescription": "Retrieves a dataset from Data.World" }, - "ReturnType": "Day.Type", + "ReturnType": "table", "Parameters": { - "dateTime": "any", - "firstDayOfWeek": "Day.Type" + "owner": "text", + "id": "text", + "query": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.DayOfWeekName", + "Name": "Date.AddDays", "Documentation": { - "Documentation.Name": "Date.DayOfWeekName", - "Documentation.Description": "Returns the day of the week name.", - "Documentation.LongDescription": "Returns the day of the week name for the provided date. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Name": "Date.AddDays", + "Documentation.Description": "Adds the specified days to the date.", + "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result from adding numberOfDays days to the datetime value dateTime.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Get the day of the week name.", - "Code": "Date.DayOfWeekName(#date(2011, 12, 31), \"en-US\")", - "Result": "\"Saturday\"" + "Description": "Add 5 days to the date, datetime, or datetimezone value representing the date 5/14/2011.", + "Code": "Date.AddDays(#date(2011, 5, 14), 5)", + "Result": "#date(2011, 5, 19)" } ] }, - "ReturnType": "text", + "ReturnType": "any", "Parameters": { - "date": "any", - "culture": "text" + "dateTime": "any", + "numberOfDays": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.DayOfYear", + "Name": "Date.AddMonths", "Documentation": { - "Documentation.Name": "Date.DayOfYear", - "Documentation.Description": "Returns a number from 1 to 366 representing the day of the year.", - "Documentation.LongDescription": "Returns a number representing the day of the year in the provided date, datetime, or datetimezone value, dateTime.", + "Documentation.Name": "Date.AddMonths", + "Documentation.Description": "Adds the specified months to the date.", + "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result from adding numberOfMonths months to the datetime value dateTime.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "The day of the year for March 1st, 2011.", - "Code": "Date.DayOfYear(#date(2011, 03, 01))", - "Result": "60" + "Description": "Add 5 months to the date, datetime, or datetimezone value representing the date 5/14/2011.", + "Code": "Date.AddMonths(#date(2011, 5, 14), 5)", + "Result": "#date(2011, 10, 14)" + }, + { + "Description": "Add 18 months to the date, datetime, or datetimezone value representing the date and time of 5/14/2011 08:15:22 AM.", + "Code": "Date.AddMonths(#datetime(2011, 5, 14, 8, 15, 22), 18)", + "Result": "#datetime(2012, 11, 14, 8, 15, 22)" } ] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "numberOfMonths": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.DaysInMonth", + "Name": "Date.AddQuarters", "Documentation": { - "Documentation.Name": "Date.DaysInMonth", - "Documentation.Description": "Returns a number from 28 to 31 indicating the number of days in the month.", - "Documentation.LongDescription": "Returns the number of days in the month in the date, datetime, or datetimezone value dateTime.\r\n ", + "Documentation.Name": "Date.AddQuarters", + "Documentation.Description": "Adds the specified quarters to the date.", + "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result from adding numberOfQuarters quarters to the datetime value dateTime.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Number of days in the month December as represented by #date(2011, 12, 01)>.", - "Code": "Date.DaysInMonth(#date(2011, 12, 01))", - "Result": "31" + "Description": "Add 1 quarter to the date, datetime, or datetimezone value representing the date 5/14/2011.", + "Code": "Date.AddQuarters(#date(2011, 5, 14), 1)", + "Result": "#date(2011, 8, 14)" } ] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "numberOfQuarters": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.EndOfDay", + "Name": "Date.AddWeeks", "Documentation": { - "Documentation.Name": "Date.EndOfDay", - "Documentation.Description": "Returns the end of the day.", - "Documentation.LongDescription": "Returns the end of the day represented by dateTime. Time zone information is preserved.\r\n ", + "Documentation.Name": "Date.AddWeeks", + "Documentation.Description": "Adds the specified weeks to the date.", + "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result from adding numberOfWeeks weeks to the datetime value dateTime.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Get the end of the day for 5/14/2011 05:00:00 PM.", - "Code": "Date.EndOfDay(#datetime(2011, 5, 14, 17, 0, 0))", - "Result": "#datetime(2011, 5, 14, 23, 59, 59.9999999)" - }, - { - "Description": "Get the end of the day for 5/17/2011 05:00:00 PM -7:00.", - "Code": "Date.EndOfDay(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0))", - "Result": "#datetimezone(2011, 5, 17, 23, 59, 59.9999999, -7, 0)" + "Description": "Add 2 weeks to the date, datetime, or datetimezone value representing the date 5/14/2011.", + "Code": "Date.AddWeeks(#date(2011, 5, 14), 2)", + "Result": "#date(2011, 5, 28)" } ] }, "ReturnType": "any", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "numberOfWeeks": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.EndOfMonth", + "Name": "Date.AddYears", "Documentation": { - "Documentation.Name": "Date.EndOfMonth", - "Documentation.Description": "Returns the end of the month.", - "Documentation.LongDescription": "Returns the end of the month that contains dateTime.\r\n ", + "Documentation.Name": "Date.AddYears", + "Documentation.Description": "Adds the specified years to the date.", + "Documentation.LongDescription": "Returns the date, datetime, or datetimezone result of adding numberOfYears to a datetime value dateTime.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Get the end of the month for 5/14/2011.", - "Code": "Date.EndOfMonth(#date(2011, 5, 14))", - "Result": "#date(2011, 5, 31)" + "Description": "Add 4 years to the date, datetime, or datetimezone value representing the date 5/14/2011.", + "Code": "Date.AddYears(#date(2011, 5, 14), 4)", + "Result": "#date(2015, 5, 14)" }, { - "Description": "Get the end of the month for 5/17/2011 05:00:00 PM -7:00.", - "Code": "Date.EndOfMonth(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0))", - "Result": "#datetimezone(2011, 5, 31, 23, 59, 59.9999999, -7, 0)" + "Description": "Add 10 years to the date, datetime, or datetimezone value representing the date and time of 5/14/2011 08:15:22 AM.", + "Code": "Date.AddYears(#datetime(2011, 5, 14, 8, 15, 22), 10)", + "Result": "#datetime(2021, 5, 14, 8, 15, 22)" } ] }, "ReturnType": "any", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "numberOfYears": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.EndOfQuarter", + "Name": "Date.IsInNextNDays", "Documentation": { - "Documentation.Name": "Date.EndOfQuarter", - "Documentation.Description": "Returns the end of the quarter.", - "Documentation.LongDescription": "Returns the end of the quarter that contains dateTime. Time zone information is preserved.\r\n ", + "Documentation.Name": "Date.IsInNextNDays", + "Documentation.Description": "Indicates whether this date occurs during the next number of days, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of days, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Find the end of the quarter for October 10th, 2011, 8:00AM.", - "Code": "Date.EndOfQuarter(#datetime(2011, 10, 10, 8, 0, 0))", - "Result": "#datetime(2011, 12, 31, 23, 59, 59.9999999)" + "Description": "Determine if the day after the current system time is in the next two days.", + "Code": "Date.IsInNextNDays(Date.AddDays(DateTime.FixedLocalNow(), 1), 2)", + "Result": "true" } ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "days": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.EndOfWeek", + "Name": "Date.IsInNextNMonths", "Documentation": { - "Documentation.Name": "Date.EndOfWeek", - "Documentation.Description": "Returns the end of the week.", - "Documentation.LongDescription": "Returns the end of the week that contains dateTime.\r\n This function takes an optional Day, firstDayOfWeek, to set as the first day of the week for this relative calculation. The default value is Day.Sunday.\r\n ", + "Documentation.Name": "Date.IsInNextNMonths", + "Documentation.Description": "Indicates whether this date occurs during the next number of months, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of months, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Get the end of the week for 5/14/2011.", - "Code": "Date.EndOfWeek(#date(2011, 5, 14))", - "Result": "#date(2011, 5, 14)" - }, - { - "Description": "Get the end of the week for 5/17/2011 05:00:00 PM -7:00, with Sunday as the first day of the week.", - "Code": "Date.EndOfWeek(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0), Day.Sunday)", - "Result": "#datetimezone(2011, 5, 21, 23, 59, 59.9999999, -7, 0)" + "Description": "Determine if the month after the current system time is in the next two months.", + "Code": "Date.IsInNextNMonths(Date.AddMonths(DateTime.FixedLocalNow(), 1), 2)", + "Result": "true" } ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { "dateTime": "any", - "firstDayOfWeek": "Day.Type" + "months": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.EndOfYear", + "Name": "Date.IsInNextNQuarters", "Documentation": { - "Documentation.Name": "Date.EndOfYear", - "Documentation.Description": "Returns the end of the year.", - "Documentation.LongDescription": "Returns the end of the year that contains dateTime, including fractional seconds. Time zone information is preserved.\r\n ", + "Documentation.Name": "Date.IsInNextNQuarters", + "Documentation.Description": "Indicates whether this date occurs during the next number of quarters, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of quarters, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Get the end of the year for 5/14/2011 05:00:00 PM.", - "Code": "Date.EndOfYear(#datetime(2011, 5, 14, 17, 0, 0))", - "Result": "#datetime(2011, 12, 31, 23, 59, 59.9999999)" - }, - { - "Description": "Get the end of hour for 5/17/2011 05:00:00 PM -7:00.", - "Code": "Date.EndOfYear(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0))", - "Result": "#datetimezone(2011, 12, 31, 23, 59, 59.9999999, -7, 0)" + "Description": "Determine if the quarter after the current system time is in the next two quarters.", + "Code": "Date.IsInNextNQuarters(Date.AddQuarters(DateTime.FixedLocalNow(), 1), 2)", + "Result": "true" } ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "quarters": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.From", + "Name": "Date.IsInNextNWeeks", "Documentation": { - "Documentation.Name": "Date.From", - "Documentation.Description": "Creates a date from the given value.", - "Documentation.LongDescription": "Returns a date value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, Date.From returns null. If the given value is date, value is returned. Values of the following types can be converted to a date value:\r\n \r\nIf value is of any other type, an error is returned.", + "Documentation.Name": "Date.IsInNextNWeeks", + "Documentation.Description": "Indicates whether this date occurs during the next number of weeks, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of weeks, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Convert 43910 to a date value.", - "Code": "Date.From(43910)", - "Result": "#date(2020, 3, 20)" - }, - { - "Description": "Convert #datetime(1899, 12, 30, 06, 45, 12) to a date value.", - "Code": "Date.From(#datetime(1899, 12, 30, 06, 45, 12))", - "Result": "#date(1899, 12, 30)" + "Description": "Determine if the week after the current system time is in the next two weeks.", + "Code": "Date.IsInNextNWeeks(Date.AddDays(DateTime.FixedLocalNow(), 7), 2)", + "Result": "true" } ] }, - "ReturnType": "date", + "ReturnType": "logical", "Parameters": { - "value": "any", - "culture": "text" + "dateTime": "any", + "weeks": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.FromText", + "Name": "Date.IsInNextNYears", "Documentation": { - "Documentation.Name": "Date.FromText", - "Documentation.Description": "Creates a Date from local, universal, and custom Date formats.", - "Documentation.LongDescription": "Creates a date value from a textual representation, text. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options may also be a text value. This has the same behavior as if options = [Format = null, Culture = options].", + "Documentation.Name": "Date.IsInNextNYears", + "Documentation.Description": "Indicates whether this date occurs during the next number of years, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of years, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Convert \"2010-12-31\" into a date value.", - "Code": "Date.FromText(\"2010-12-31\")", - "Result": "#date(2010, 12, 31)" - }, - { - "Description": "Convert using a custom format and the German culture.", - "Code": "Date.FromText(\"30 Dez 2010\", [Format=\"dd MMM yyyy\", Culture=\"de-DE\"])", - "Result": "#date(2010, 12, 30)" - }, - { - "Description": "Find the date in the Gregorian calendar that corresponds to the beginning of 1400 in the Hijri calendar.", - "Code": "Date.FromText(\"1400\", [Format=\"yyyy\", Culture=\"ar-SA\"])", - "Result": "#date(1979, 11, 20)" + "Description": "Determine if the year after the current system time is in the next two years.", + "Code": "Date.IsInNextNYears(Date.AddYears(DateTime.FixedLocalNow(), 1), 2)", + "Result": "true" } ] }, - "ReturnType": "date", + "ReturnType": "logical", "Parameters": { - "text": "text", - "options": "any" + "dateTime": "any", + "years": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInCurrentDay", + "Name": "Date.IsInPreviousNDays", "Documentation": { - "Documentation.Name": "Date.IsInCurrentDay", - "Documentation.Description": "Indicates whether this date occurs during the current day, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current day, as determined by the current date and time on the system.\r\n ", + "Documentation.Name": "Date.IsInPreviousNDays", + "Documentation.Description": "Indicates whether this date occurs during the previous number of days, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of days, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Determine if the current system time is in the current day.", - "Code": "Date.IsInCurrentDay(DateTime.FixedLocalNow())", + "Description": "Determine if the day before the current system time is in the previous two days.", + "Code": "Date.IsInPreviousNDays(Date.AddDays(DateTime.FixedLocalNow(), -1), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "days": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInCurrentMonth", + "Name": "Date.IsInPreviousNMonths", "Documentation": { - "Documentation.Name": "Date.IsInCurrentMonth", - "Documentation.Description": "Indicates whether this date occurs during the current month, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current month, as determined by the current date and time on the system.\r\n ", + "Documentation.Name": "Date.IsInPreviousNMonths", + "Documentation.Description": "Indicates whether this date occurs during the previous number of months, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of months, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Determine if the current system time is in the current month.", - "Code": "Date.IsInCurrentMonth(DateTime.FixedLocalNow())", + "Description": "Determine if the month before the current system time is in the previous two months.", + "Code": "Date.IsInPreviousNMonths(Date.AddMonths(DateTime.FixedLocalNow(), -1), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "months": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInCurrentQuarter", + "Name": "Date.IsInPreviousNQuarters", "Documentation": { - "Documentation.Name": "Date.IsInCurrentQuarter", - "Documentation.Description": "Indicates whether this date occurs during the current quarter, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current quarter, as determined by the current date and time on the system.\r\n ", + "Documentation.Name": "Date.IsInPreviousNQuarters", + "Documentation.Description": "Indicates whether this date occurs during the previous number of quarters, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of quarters, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Determine if the current system time is in the current quarter.", - "Code": "Date.IsInCurrentQuarter(DateTime.FixedLocalNow())", + "Description": "Determine if the quarter before the current system time is in the previous two quarters.", + "Code": "Date.IsInPreviousNQuarters(Date.AddQuarters(DateTime.FixedLocalNow(), -1), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "quarters": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInCurrentWeek", + "Name": "Date.IsInPreviousNWeeks", "Documentation": { - "Documentation.Name": "Date.IsInCurrentWeek", - "Documentation.Description": "Indicates whether this date occurs during the current week, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current week, as determined by the current date and time on the system.\r\n ", + "Documentation.Name": "Date.IsInPreviousNWeeks", + "Documentation.Description": "Indicates whether this date occurs during the previous number of weeks, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of weeks, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Determine if the current system time is in the current week.", - "Code": "Date.IsInCurrentWeek(DateTime.FixedLocalNow())", + "Description": "Determine if the week before the current system time is in the previous two weeks.", + "Code": "Date.IsInPreviousNWeeks(Date.AddDays(DateTime.FixedLocalNow(), -7), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "weeks": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInCurrentYear", + "Name": "Date.IsInPreviousNYears", "Documentation": { - "Documentation.Name": "Date.IsInCurrentYear", - "Documentation.Description": "Indicates whether this date occurs during the current year, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current year, as determined by the current date and time on the system.\r\n ", + "Documentation.Name": "Date.IsInPreviousNYears", + "Documentation.Description": "Indicates whether this date occurs during the previous number of years, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of years, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.\r\n ", "Documentation.Category": "Date", "Documentation.Examples": [ { - "Description": "Determine if the current system time is in the current year.", - "Code": "Date.IsInCurrentYear(DateTime.FixedLocalNow())", + "Description": "Determine if the year before the current system time is in the previous two years.", + "Code": "Date.IsInPreviousNYears(Date.AddYears(DateTime.FixedLocalNow(), -1), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "years": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInNextDay", + "Name": "DateTime.AddZone", "Documentation": { - "Documentation.Name": "Date.IsInNextDay", - "Documentation.Description": "Indicates whether this date occurs during the next day, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next day, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "DateTime.AddZone", + "Documentation.Description": "Adds timezone information to the datetime value.", + "Documentation.LongDescription": "Adds timezone information to the dateTime value. The timezone information includes timezoneHours and optionally timezoneMinutes, which specify the desired offset from UTC time.", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "Determine if the day after the current system time is in the next day.", - "Code": "Date.IsInNextDay(Date.AddDays(DateTime.FixedLocalNow(), 1))", - "Result": "true" + "Description": "Set the timezone to UTC+7:30 (7 hours and 30 minutes past UTC).", + "Code": "DateTime.AddZone(#datetime(2010, 12, 31, 11, 56, 02), 7, 30)", + "Result": "#datetimezone(2010, 12, 31, 11, 56, 2, 7, 30)" } ] }, - "ReturnType": "logical", + "ReturnType": "datetimezone", "Parameters": { - "dateTime": "any" + "dateTime": "datetime", + "timezoneHours": "number", + "timezoneMinutes": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInNextMonth", + "Name": "DateTime.IsInNextNHours", "Documentation": { - "Documentation.Name": "Date.IsInNextMonth", - "Documentation.Description": "Indicates whether this date occurs during the next month, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next month, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "DateTime.IsInNextNHours", + "Documentation.Description": "Indicates whether this datetime occurs during the next number of hours, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of hours, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.\r\n ", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "Determine if the month after the current system time is in the next month.", - "Code": "Date.IsInNextMonth(Date.AddMonths(DateTime.FixedLocalNow(), 1))", + "Description": "Determine if the hour after the current system time is in the next two hours.", + "Code": "DateTime.IsInNextNHours(DateTime.FixedLocalNow() + #duration(0, 2, 0, 0), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "hours": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInNextQuarter", + "Name": "DateTime.IsInNextNMinutes", "Documentation": { - "Documentation.Name": "Date.IsInNextQuarter", - "Documentation.Description": "Indicates whether this date occurs during the next quarter, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next quarter, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "DateTime.IsInNextNMinutes", + "Documentation.Description": "Indicates whether this datetime occurs during the next number of minutes, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of minutes, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.\r\n ", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "Determine if the quarter after the current system time is in the next quarter.", - "Code": "Date.IsInNextQuarter(Date.AddQuarters(DateTime.FixedLocalNow(), 1))", + "Description": "Determine if the minute after the current system time is in the next two minutes.", + "Code": "DateTime.IsInNextNMinutes(DateTime.FixedLocalNow() + #duration(0, 0, 2, 0), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "minutes": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInNextWeek", + "Name": "DateTime.IsInNextNSeconds", "Documentation": { - "Documentation.Name": "Date.IsInNextWeek", - "Documentation.Description": "Indicates whether this date occurs during the next week, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next week, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "DateTime.IsInNextNSeconds", + "Documentation.Description": "Indicates whether this datetime occurs during the next number of seconds, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next number of seconds, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.\r\n ", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "Determine if the week after the current system time is in the next week.", - "Code": "Date.IsInNextWeek(Date.AddDays(DateTime.FixedLocalNow(), 7))", + "Description": "Determine if the second after the current system time is in the next two seconds.", + "Code": "DateTime.IsInNextNSeconds(DateTime.FixedLocalNow() + #duration(0, 0, 0, 2), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "seconds": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInNextYear", + "Name": "DateTime.IsInPreviousNHours", "Documentation": { - "Documentation.Name": "Date.IsInNextYear", - "Documentation.Description": "Indicates whether this date occurs during the next year, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next year, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "DateTime.IsInPreviousNHours", + "Documentation.Description": "Indicates whether this datetime occurs during the previous number of hours, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of hours, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.\r\n ", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "Determine if the year after the current system time is in the next year.", - "Code": "Date.IsInNextYear(Date.AddYears(DateTime.FixedLocalNow(), 1))", + "Description": "Determine if the hour before the current system time is in the previous two hours.", + "Code": "DateTime.IsInPreviousNHours(DateTime.FixedLocalNow() - #duration(0, 2, 0, 0), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "hours": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInPreviousDay", + "Name": "DateTime.IsInPreviousNMinutes", "Documentation": { - "Documentation.Name": "Date.IsInPreviousDay", - "Documentation.Description": "Indicates whether this date occurs during the previous day, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous day, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current day.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "DateTime.IsInPreviousNMinutes", + "Documentation.Description": "Indicates whether this datetime occurs during the previous number of minutes, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of minutes, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.\r\n ", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "Determine if the day before the current system time is in the previous day.", - "Code": "Date.IsInPreviousDay(Date.AddDays(DateTime.FixedLocalNow(), -1))", + "Description": "Determine if the minute before the current system time is in the previous two minutes.", + "Code": "DateTime.IsInPreviousNMinutes(DateTime.FixedLocalNow() - #duration(0, 0, 2, 0), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "minutes": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInPreviousMonth", + "Name": "DateTime.IsInPreviousNSeconds", "Documentation": { - "Documentation.Name": "Date.IsInPreviousMonth", - "Documentation.Description": "Indicates whether this date occurs during the previous month, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous month, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current month.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "DateTime.IsInPreviousNSeconds", + "Documentation.Description": "Indicates whether this datetime occurs during the previous number of seconds, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.", + "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous number of seconds, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.\r\n ", + "Documentation.Category": "DateTime", "Documentation.Examples": [ { - "Description": "Determine if the month before the current system time is in the previous month.", - "Code": "Date.IsInPreviousMonth(Date.AddMonths(DateTime.FixedLocalNow(), -1))", + "Description": "Determine if the second before the current system time is in the previous two seconds.", + "Code": "DateTime.IsInPreviousNSeconds(DateTime.FixedLocalNow() - #duration(0, 0, 0, 2), 2)", "Result": "true" } ] }, "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "dateTime": "any", + "seconds": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInPreviousQuarter", + "Name": "DateTimeZone.SwitchZone", "Documentation": { - "Documentation.Name": "Date.IsInPreviousQuarter", - "Documentation.Description": "Indicates whether this date occurs during the previous quarter, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous quarter, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current quarter.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "DateTimeZone.SwitchZone", + "Documentation.Description": "Changes the timezone of the value.", + "Documentation.LongDescription": "Changes timezone information to on the datetimezone value dateTimeZone to the new timezone information provided by timezoneHours and optionally timezoneMinutes.\r\n If dateTimeZone does not have a timezone component, an exception is thrown.", + "Documentation.Category": "DateTimeZone", "Documentation.Examples": [ { - "Description": "Determine if the quarter before the current system time is in the previous quarter.", - "Code": "Date.IsInPreviousQuarter(Date.AddQuarters(DateTime.FixedLocalNow(), -1))", - "Result": "true" + "Description": "Change timezone information for #datetimezone(2010, 12, 31, 11, 56, 02, 7, 30) to 8 hours.", + "Code": "DateTimeZone.SwitchZone(#datetimezone(2010, 12, 31, 11, 56, 02, 7, 30), 8)", + "Result": "#datetimezone(2010, 12, 31, 12, 26, 2, 8, 0)" + }, + { + "Description": "Change timezone information for #datetimezone(2010, 12, 31, 11, 56, 02, 7, 30) to -30 minutes.", + "Code": "DateTimeZone.SwitchZone(#datetimezone(2010, 12, 31, 11, 56, 02, 7, 30), 0, -30)", + "Result": "#datetimezone(2010, 12, 31, 3, 56, 2, 0, -30)" } ] }, - "ReturnType": "logical", + "ReturnType": "datetimezone", "Parameters": { - "dateTime": "any" + "dateTimeZone": "datetimezone", + "timezoneHours": "number", + "timezoneMinutes": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInPreviousWeek", + "Name": "Embedded.Value", "Documentation": { - "Documentation.Name": "Date.IsInPreviousWeek", - "Documentation.Description": "Indicates whether this date occurs during the previous week, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous week, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current week.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "Embedded.Value", + "Documentation.Description": "Accesses a value by name in an embedded mashup.", + "Documentation.LongDescription": "Accesses a value by name in an embedded mashup.", + "Documentation.Category": "Values.Implementation", + "Documentation.Examples": [] + }, + "ReturnType": "any", + "Parameters": { + "value": "any", + "path": "text" + }, + "RequiredParameters": "2" + }, + { + "Name": "Function.From", + "Documentation": { + "Documentation.Name": "Function.From", + "Documentation.Description": "Creates a function with a specific parameter signature on top of a function that takes a single list argument", + "Documentation.LongDescription": "Takes a unary function function and creates a new function with the type functionType that constructs a list out of its arguments and passes it to function.", + "Documentation.Category": "Function", "Documentation.Examples": [ { - "Description": "Determine if the week before the current system time is in the previous week.", - "Code": "Date.IsInPreviousWeek(Date.AddDays(DateTime.FixedLocalNow(), -7))", - "Result": "true" + "Description": "Converts List.Sum into a two-argument function whose arguments are added together", + "Code": "Function.From(type function (a as number, b as number) as number, List.Sum)(2, 1)", + "Result": "3" + }, + { + "Description": "Converts a function taking a list into a two-argument function", + "Code": "Function.From(type function (a as text, b as text) as text, (list) => list{0} & list{1})(\"2\", \"1\")", + "Result": "\"21\"" } ] }, - "ReturnType": "logical", + "ReturnType": "function", "Parameters": { - "dateTime": "any" + "functionType": "type", + "function": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInPreviousYear", + "Name": "Function.Invoke", "Documentation": { - "Documentation.Name": "Date.IsInPreviousYear", - "Documentation.Description": "Indicates whether this date occurs during the previous year, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous year, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current year.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "Function.Invoke", + "Documentation.Description": "Invokes the given function", + "Documentation.LongDescription": "Invokes the given function using the specified list of arguments and returns the result.", + "Documentation.Category": "Function", "Documentation.Examples": [ { - "Description": "Determine if the year before the current system time is in the previous year.", - "Code": "Date.IsInPreviousYear(Date.AddYears(DateTime.FixedLocalNow(), -1))", - "Result": "true" + "Description": "Invokes Record.FieldNames with one argument [A=1,B=2]", + "Code": "Function.Invoke(Record.FieldNames, {[A = 1, B = 2]})", + "Result": "{\"A\", \"B\"}" } ] }, - "ReturnType": "logical", + "ReturnType": "any", + "Parameters": { + "function": "function", + "args": "list" + }, + "RequiredParameters": "2" + }, + { + "Name": "Function.InvokeAfter", + "Documentation": { + "Documentation.Name": "Function.InvokeAfter", + "Documentation.Description": "Invokes the given function after the specified duration has passed.", + "Documentation.LongDescription": "Returns the result of invoking function after duration delay has passed.", + "Documentation.Category": "Function", + "Documentation.Examples": [] + }, + "ReturnType": "any", + "Parameters": { + "function": "function", + "delay": "duration" + }, + "RequiredParameters": "2" + }, + { + "Name": "Function.ScalarVector", + "Documentation": { + "Documentation.Name": "Function.ScalarVector", + "Documentation.Description": "Creates a scalar function on top of a vector function, batching multiple invocations.", + "Documentation.LongDescription": "

Returns a scalar function of type scalarFunctionType that invokes vectorFunction with a single row of arguments and returns its single output. Additionally, when the scalar function is repeatedly applied for each row of a table of inputs, such as in Table.AddColumn, instead vectorFunction will be applied once for all inputs.

\r\n

vectorFunction will be passed a table whose columns match in name and position the parameters of scalarFunctionType. Each row of this table contains the arguments for one call to the scalar function, with the columns corresponding to the parameters of scalarFunctionType.

\r\n

vectorFunction must return a list of the same length as the input table, whose item at each position must be the same result as evaluating the scalar function on the input row of the same position.

\r\n

The input table is expected to be streamed in, so vectorFunction is expected to stream its output as input comes in, only working with one chunk of input at a time. In particular, vectorFunction must not enumerate its input table more than once.

", + "Documentation.Category": "Function", + "Documentation.Examples": [] + }, + "ReturnType": "function", "Parameters": { - "dateTime": "any" + "scalarFunctionType": "type", + "vectorFunction": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsInYearToDate", + "Name": "GeographyPoint.From", "Documentation": { - "Documentation.Name": "Date.IsInYearToDate", - "Documentation.Description": "Indicates whether this date occurs during the current year and is on or before the current day, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current year and is on or before the current day, as determined by the current date and time on the system.\r\n ", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Determine if the current system time is in the year to date.", - "Code": "Date.IsInYearToDate(DateTime.FixedLocalNow())", - "Result": "true" - } - ] + "Documentation.Name": "GeographyPoint.From", + "Documentation.Description": "Creates a record representing a geographic point from parts.", + "Documentation.LongDescription": "Creates a record representing a geographic point from its constituent parts, such as longitude, latitude, and if present, elevation (Z) and measure (M). An optional spatial reference identifier (SRID) can be given if different from the default value (4326).", + "Documentation.Category": "Record.Serialization", + "Documentation.Examples": [] }, - "ReturnType": "logical", + "ReturnType": "record", "Parameters": { - "dateTime": "any" + "longitude": "number", + "latitude": "number", + "z": "number", + "m": "number", + "srid": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.IsLeapYear", + "Name": "GeometryPoint.From", "Documentation": { - "Documentation.Name": "Date.IsLeapYear", - "Documentation.Description": "Indicates whether this date falls in a leap year.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime falls in is a leap year.\r\n ", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Determine if the year 2012, as represented by #date(2012, 01, 01) is a leap year.", - "Code": "Date.IsLeapYear(#date(2012, 01, 01))", - "Result": "true" - } - ] + "Documentation.Name": "GeometryPoint.From", + "Documentation.Description": "Creates a record representing a geometric point from parts.", + "Documentation.LongDescription": "Creates a record representing a geometric point from its constituent parts, such as X coordinate, Y coordinate, and if present, Z coordinate and measure (M). An optional spatial reference identifier (SRID) can be given if different from the default value (0).", + "Documentation.Category": "Record.Serialization", + "Documentation.Examples": [] }, - "ReturnType": "logical", + "ReturnType": "record", "Parameters": { - "dateTime": "any" + "x": "number", + "y": "number", + "z": "number", + "m": "number", + "srid": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.Month", + "Name": "Github.Tables", "Documentation": { - "Documentation.Name": "Date.Month", - "Documentation.Description": "Returns the month component.", - "Documentation.LongDescription": "Returns the month component of the provided datetime value, dateTime.", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Find the month in #datetime(2011, 12, 31, 9, 15, 36).", - "Code": "Date.Month(#datetime(2011, 12, 31, 9, 15, 36))", - "Result": "12" - } - ] + "Documentation.Description": "Enter the GitHub repository owner and the repository name.", + "Documentation.DisplayName": "GitHub", + "Documentation.Caption": "GitHub.Tables", + "Documentation.Name": "GitHub", + "Documentation.LongDescription": "Returns a table with relevant GitHub data." }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "dateTime": "any" + "RepositoryOwner": "text", + "Repository": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.MonthName", + "Name": "HdInsight.Files", "Documentation": { - "Documentation.Name": "Date.MonthName", - "Documentation.Description": "Returns the name of the month component.", - "Documentation.LongDescription": "Returns the name of the month component for the provided date. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Get the month name.", - "Code": "Date.MonthName(#datetime(2011, 12, 31, 5, 0, 0), \"en-US\")", - "Result": "\"December\"" - } - ] + "Documentation.Name": "HdInsight.Files", + "Documentation.Description": "Returns a table containing the properties and contents of the blobs found in the specified container from an Azure storage vault.", + "Documentation.LongDescription": "Returns a table containing a row for each blob file found at the container URL, account, from an Azure storage vault. Each row contains properties of the file and a link to its content.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "date": "any", - "culture": "text" + "account": "text", + "containerName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.QuarterOfYear", + "Name": "Html.Table", "Documentation": { - "Documentation.Name": "Date.QuarterOfYear", - "Documentation.Description": "Returns a number indicating which quarter of the year the date falls in.", - "Documentation.LongDescription": "Returns a number from 1 to 4 indicating which quarter of the year the date dateTime falls in. dateTime can be a date, datetime, or datetimezone value.", - "Documentation.Category": "Date", + "Documentation.Name": "Html.Table", + "Documentation.Description": "Returns a table containing the results of running the specified CSS selectors against the provided HTML.", + "Documentation.LongDescription": "Returns a table containing the results of running the specified CSS selectors against the provided html. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n ", + "Documentation.Category": "Accessing data", "Documentation.Examples": [ { - "Description": "Find which quarter of the year the date #date(2011, 12, 31) falls in.", - "Code": "Date.QuarterOfYear(#date(2011, 12, 31))", - "Result": "4" + "Description": "Returns a table from a sample html text value.", + "Code": "Html.Table(\"
Jo
Manager\", {{\"Name\", \".name\"}, {\"Title\", \"span\"}}, [RowSelector=\".name\"])", + "Result": "#table({\"Name\", \"Title\"}, {{\"Jo\", \"Manager\"}})" + }, + { + "Description": "Extracts all the hrefs from a sample html text value.", + "Code": "Html.Table(\"Test\", {{\"Link\", \"a\", each [Attributes][href]}})", + "Result": "#table({\"Link\"}, {{\"/test.html\"}})" } ] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "dateTime": "any" + "html": "any", + "columnNameSelectorPairs": "list", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.StartOfDay", + "Name": "Identity.From", "Documentation": { - "Documentation.Name": "Date.StartOfDay", - "Documentation.Description": "Returns the start of the day.", - "Documentation.LongDescription": "Returns the start of the day represented by dateTime.\r\n dateTime must be a date, datetime, or datetimezone value.", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Find the start of the day for October 10th, 2011, 8:00AM.", - "Code": "Date.StartOfDay(#datetime(2011, 10, 10, 8, 0, 0))", - "Result": "#datetime(2011, 10, 10, 0, 0, 0)" - } - ] + "Documentation.Name": "Identity.From", + "Documentation.Description": "Creates an identity.", + "Documentation.LongDescription": "Creates an identity.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "dateTime": "any" + "identityProvider": "function", + "value": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.StartOfMonth", + "Name": "Identity.IsMemberOf", "Documentation": { - "Documentation.Name": "Date.StartOfMonth", - "Documentation.Description": "Returns the start of the month.", - "Documentation.LongDescription": "Returns the start of the month that contains dateTime.\r\n dateTime must be a date or datetime value.", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Find the start of the month for October 10th, 2011, 8:10:32AM.", - "Code": "Date.StartOfMonth(#datetime(2011, 10, 10, 8, 10, 32))", - "Result": "#datetime(2011, 10, 1, 0, 0, 0)" - } - ] + "Documentation.Name": "Identity.IsMemberOf", + "Documentation.Description": "Determines whether an identity is a member of an identity collection.", + "Documentation.LongDescription": "Determines whether an identity is a member of an identity collection.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "identity": "record", + "collection": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.StartOfQuarter", + "Name": "Informix.Database", "Documentation": { - "Documentation.Name": "Date.StartOfQuarter", - "Documentation.Description": "Returns the start of the quarter.", - "Documentation.LongDescription": "Returns the start of the quarter that contains dateTime.\r\n dateTime must be a date, datetime, or datetimezone value.", - "Documentation.Category": "Date", - "Documentation.Examples": [ - { - "Description": "Find the start of the quarter for October 10th, 2011, 8:00AM.", - "Code": "Date.StartOfQuarter(#datetime(2011, 10, 10, 8, 0, 0))", - "Result": "#datetime(2011, 10, 1, 0, 0, 0)" - } - ] + "Documentation.Name": "Informix.Database", + "Documentation.Description": "Returns a table of SQL tables and views available in an Informix database.", + "Documentation.LongDescription": "Returns a table of SQL tables and views available in an Informix database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "dateTime": "any" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.StartOfWeek", + "Name": "List.Alternate", "Documentation": { - "Documentation.Name": "Date.StartOfWeek", - "Documentation.Description": "Returns the start of the week.", - "Documentation.LongDescription": "Returns the start of the week that contains dateTime.\r\n dateTime must be a date, datetime, or datetimezone value.", - "Documentation.Category": "Date", + "Documentation.Name": "List.Alternate", + "Documentation.Description": "Returns a list comprised of all the odd numbered offset elements in a list.", + "Documentation.LongDescription": "Returns a list comprised of all the odd numbered offset elements in a list. Alternates between taking and skipping values from the list list depending on the parameters.\r\n ", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Find the start of the week for Tuesday, October 11th, 2011.", - "Code": "Date.StartOfWeek(#datetime(2011, 10, 11, 8, 10, 32))", - "Result": "// Sunday, October 9th, 2011\r\n#datetime(2011, 10, 9, 0, 0, 0)" + "Description": "Create a list from {1..10} that skips the first number.", + "Code": "List.Alternate({1..10}, 1)", + "Result": "{2, 3, 4, 5, 6, 7, 8, 9, 10}" + }, + { + "Description": "Create a list from {1..10} that skips every other number.", + "Code": "List.Alternate({1..10}, 1, 1)", + "Result": "{2, 4, 6, 8, 10}" + }, + { + "Description": "Create a list from {1..10} that starts at 1 and skips every other number.", + "Code": "List.Alternate({1..10}, 1, 1, 1)", + "Result": "{1, 3, 5, 7, 9}" }, { - "Description": "Find the start of the week for Tuesday, October 11th, 2011, using Monday as the start of the week.", - "Code": "Date.StartOfWeek(#datetime(2011, 10, 11, 8, 10, 32), Day.Monday)", - "Result": "// Monday, October 10th, 2011\r\n#datetime(2011, 10, 10, 0, 0, 0)" + "Description": "Create a list from {1..10} that starts at 1, skips one value, keeps two values, and so on.", + "Code": "List.Alternate({1..10}, 1, 2, 1)", + "Result": "{1, 3, 4, 6, 7, 9, 10}" } ] }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "firstDayOfWeek": "Day.Type" + "list": "list", + "count": "number", + "repeatInterval": "number", + "offset": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.StartOfYear", + "Name": "List.Contains", "Documentation": { - "Documentation.Name": "Date.StartOfYear", - "Documentation.Description": "Returns the start of the year.", - "Documentation.LongDescription": "Returns the start of the year that contains dateTime.\r\n dateTime must be a date, datetime, or datetimezone value.", - "Documentation.Category": "Date", + "Documentation.Name": "List.Contains", + "Documentation.Description": "Indicates whether the list contains the value.", + "Documentation.LongDescription": "Indicates whether the list list contains the value value.\r\n Returns true if value is found in the list, false otherwise. An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", + "Documentation.Category": "List.Membership functions", "Documentation.Examples": [ { - "Description": "Find the start of the year for October 10th, 2011, 8:10:32AM.", - "Code": "Date.StartOfYear(#datetime(2011, 10, 10, 8, 10, 32))", - "Result": "#datetime(2011, 1, 1, 0, 0, 0)" + "Description": "Find if the list {1, 2, 3, 4, 5} contains 3.", + "Code": "List.Contains({1, 2, 3, 4, 5}, 3)", + "Result": "true" + }, + { + "Description": "Find if the list {1, 2, 3, 4, 5} contains 6.", + "Code": "List.Contains({1, 2, 3, 4, 5}, 6)", + "Result": "false" } ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "dateTime": "any" + "list": "list", + "value": "any", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.ToRecord", + "Name": "List.ContainsAll", "Documentation": { - "Documentation.Name": "Date.ToRecord", - "Documentation.Description": "Returns a record containing parts of the date value.", - "Documentation.LongDescription": "Returns a record containing the parts of the given date value, date.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.ContainsAll", + "Documentation.Description": "Indicates where a list includes all the values in another list.", + "Documentation.LongDescription": "Indicates whether the list list includes all the values in another list, values.\r\n Returns true if value is found in the list, false otherwise. An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", + "Documentation.Category": "List.Membership functions", "Documentation.Examples": [ { - "Description": "Convert the #date(2011, 12, 31) value into a record containing parts from the date value.", - "Code": "Date.ToRecord(#date(2011, 12, 31))", - "Result": "[\r\n Year = 2011,\r\n Month = 12,\r\n Day = 31\r\n]" + "Description": "Find out if the list {1, 2, 3, 4, 5} contains 3 and 4.", + "Code": "List.ContainsAll({1, 2, 3, 4, 5}, {3, 4})", + "Result": "true" + }, + { + "Description": "Find out if the list {1, 2, 3, 4, 5} contains 5 and 6.", + "Code": "List.ContainsAll({1, 2, 3, 4, 5}, {5, 6})", + "Result": "false" } ] }, - "ReturnType": "record", + "ReturnType": "logical", "Parameters": { - "date": "date" + "list": "list", + "values": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.ToText", + "Name": "List.ContainsAny", "Documentation": { - "Documentation.Name": "Date.ToText", - "Documentation.Description": "Returns a textual representation of the date value.", - "Documentation.LongDescription": "Returns a textual representation of date. An optional record parameter, options, may be provided to specify additional properties. culture is only used for legacy workflows. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options and culture may also be text values. This has the same behavior as if options = [Format = options, Culture = culture].", - "Documentation.Category": "Date", + "Documentation.Name": "List.ContainsAny", + "Documentation.Description": "Indicates where a list includes any of the values in another list.", + "Documentation.LongDescription": "Indicates whether the list list includes any of the values in another list, values.\r\n Returns true if value is found in the list, false otherwise. An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", + "Documentation.Category": "List.Membership functions", "Documentation.Examples": [ { - "Description": "Convert #date(2010, 12, 31) into a text value. Result output may vary depending on current culture.", - "Code": "Date.ToText(#date(2010, 12, 31))", - "Result": "\"12/31/2010\"" - }, - { - "Description": "Convert using a custom format and the German culture.", - "Code": "Date.ToText(#date(2010, 12, 31), [Format=\"dd MMM yyyy\", Culture=\"de-DE\"])", - "Result": "\"31 Dez 2010\"" + "Description": "Find out if the list {1, 2, 3, 4, 5} contains 3 or 9.", + "Code": "List.ContainsAny({1, 2, 3, 4, 5}, {3, 9})", + "Result": "true" }, { - "Description": "Find the year in the Hijri calendar that corresponds to January 1st, 2000 in the Gregorian calendar.", - "Code": "Date.ToText(#date(2000, 1, 1), [Format=\"yyyy\", Culture=\"ar-SA\"])", - "Result": "\"1420\"" + "Description": "Find out if the list {1, 2, 3, 4, 5} contains 6 or 7.", + "Code": "List.ContainsAny({1, 2, 3, 4, 5}, {6, 7})", + "Result": "false" } ] }, - "ReturnType": "text", + "ReturnType": "logical", "Parameters": { - "date": "date", - "options": "any", - "culture": "text" + "list": "list", + "values": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.WeekOfMonth", + "Name": "List.Covariance", "Documentation": { - "Documentation.Name": "Date.WeekOfMonth", - "Documentation.Description": "Returns a number from 1 to 6 indicating which week of the month this date falls in.", - "Documentation.LongDescription": "Returns a number from 1 to 6 indicating which week of the month the date dateTime falls in.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Covariance", + "Documentation.Description": "Returns the covariance between the two lists of numbers.", + "Documentation.LongDescription": "Returns the covariance between two lists, numberList1 and numberList2. numberList1 and numberList2 must contain the same number of number values.", + "Documentation.Category": "List.Numerics", "Documentation.Examples": [ { - "Description": "Determine which week of March the 15th falls on in 2011.", - "Code": "Date.WeekOfMonth(#date(2011, 03, 15))", - "Result": "3" + "Description": "Calculate the covariance between two lists.", + "Code": "List.Covariance({1, 2, 3}, {1, 2, 3})", + "Result": "0.66666666666666607" } ] }, "ReturnType": "number", "Parameters": { - "dateTime": "any", - "firstDayOfWeek": "Day.Type" + "numberList1": "list", + "numberList2": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.WeekOfYear", + "Name": "List.Difference", "Documentation": { - "Documentation.Name": "Date.WeekOfYear", - "Documentation.Description": "Returns a number from 1 to 54 indicating which week of the year this date falls in.", - "Documentation.LongDescription": "Returns a number from 1 to 54 indicating which week of the year the date, dateTime, falls in.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "List.Difference", + "Documentation.Description": "Returns the difference of the two given lists.", + "Documentation.LongDescription": "Returns the items in list list1 that do not appear in list list2. Duplicate values are supported.\r\n An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", + "Documentation.Category": "List.Set operations", "Documentation.Examples": [ { - "Description": "Determine which week of the year contains March 27th, 2011.", - "Code": "Date.WeekOfYear(#date(2011, 03, 27))", - "Result": "14" + "Description": "Find the items in list {1, 2, 3, 4, 5} that do not appear in {4, 5, 3}.", + "Code": "List.Difference({1, 2, 3, 4, 5}, {4, 5, 3})", + "Result": "{1, 2}" }, { - "Description": "Determine which week of the year contains March 27th, 2011, using Monday as the start of the week.", - "Code": "Date.WeekOfYear(#date(2011, 03, 27), Day.Monday)", - "Result": "13" + "Description": "Find the items in the list {1, 2} that do not appear in {1, 2, 3}.", + "Code": "List.Difference({1, 2}, {1, 2, 3})", + "Result": "{}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "dateTime": "any", - "firstDayOfWeek": "Day.Type" + "list1": "list", + "list2": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Date.Year", + "Name": "List.FindText", "Documentation": { - "Documentation.Name": "Date.Year", - "Documentation.Description": "Returns the year component.", - "Documentation.LongDescription": "Returns the year component of the provided datetime value, dateTime.", - "Documentation.Category": "Date", + "Documentation.Name": "List.FindText", + "Documentation.Description": "Returns a list of values (including record fields) that contain the specified text.", + "Documentation.LongDescription": "Returns a list of the values from the list list which contained the value text.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Find the year in #datetime(2011, 12, 31, 9, 15, 36).", - "Code": "Date.Year(#datetime(2011, 12, 31, 9, 15, 36))", - "Result": "2011" + "Description": "Find the text values in the list {\"a\", \"b\", \"ab\"} that match \"a\". ", + "Code": "List.FindText({\"a\", \"b\", \"ab\"}, \"a\")", + "Result": "{\"a\", \"ab\"}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "dateTime": "any" + "list": "list", + "text": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.Date", + "Name": "List.FirstN", "Documentation": { - "Documentation.Name": "DateTime.Date", - "Documentation.Description": "Returns the date component of the given date, datetime, or datetimezone value.", - "Documentation.LongDescription": "Returns the date component of dateTime, the given date, datetime, or datetimezone value.", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.FirstN", + "Documentation.Description": "Returns the first set of items in the list by specifying how many items to return or a qualifying condition.", + "Documentation.LongDescription": " ", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Find date value of #datetime(2010, 12, 31, 11, 56, 02).", - "Code": "DateTime.Date(#datetime(2010, 12, 31, 11, 56, 02))", - "Result": "#date(2010, 12, 31)" + "Description": "Find the intial values in the list {3, 4, 5, -1, 7, 8, 2} that are greater than 0.", + "Code": "List.FirstN({3, 4, 5, -1, 7, 8, 2}, each _ > 0)", + "Result": "{3, 4, 5}" } ] }, - "ReturnType": "date", + "ReturnType": "any", "Parameters": { - "dateTime": "any" + "list": "list", + "countOrCondition": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.From", + "Name": "List.MatchesAll", "Documentation": { - "Documentation.Name": "DateTime.From", - "Documentation.Description": "Creates a datetime from the given value.", - "Documentation.LongDescription": "Returns a datetime value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, DateTime.From returns null. If the given value is datetime, value is returned. Values of the following types can be converted to a datetime value:\r\n \r\nIf value is of any other type, an error is returned.", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.MatchesAll", + "Documentation.Description": "Returns true if the condition function is satisfied by all values in the list.", + "Documentation.LongDescription": "Returns true if the condition function, condition, is satisfied by all values in the list list, otherwise returns false.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Convert #time(06, 45, 12) to a datetime value.", - "Code": "DateTime.From(#time(06, 45, 12))", - "Result": "#datetime(1899, 12, 30, 06, 45, 12)" + "Description": "Determine if all the values in the list {11, 12, 13} are greater than 10.", + "Code": "List.MatchesAll({11, 12, 13}, each _ > 10)", + "Result": "true" }, { - "Description": "Convert #date(1975, 4, 4) to a datetime value.", - "Code": "DateTime.From(#date(1975, 4, 4))", - "Result": "#datetime(1975, 4, 4, 0, 0, 0)" - } - ] - }, - "ReturnType": "datetime", - "Parameters": { - "value": "any", - "culture": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "DateTime.FromFileTime", - "Documentation": { - "Documentation.Name": "DateTime.FromFileTime", - "Documentation.Description": "Creates a datetime from a 64 bits long number.", - "Documentation.LongDescription": "Creates a datetime value from the fileTime value and converts it to the local time zone. The filetime is a Windows file time value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC).\r\n", - "Documentation.Category": "DateTime", - "Documentation.Examples": [ - { - "Description": "Convert 129876402529842245 into a datetime value.", - "Code": "DateTime.FromFileTime(129876402529842245)", - "Result": "#datetime(2012, 7, 24, 14, 50, 52.9842245)" + "Description": "Determine if all the values in the list {1, 2, 3} are greater than 10.", + "Code": "List.MatchesAll({1, 2, 3}, each _ > 10)", + "Result": "false" } ] }, - "ReturnType": "datetime", + "ReturnType": "logical", "Parameters": { - "fileTime": "number" + "list": "list", + "condition": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.FromText", + "Name": "List.MatchesAny", "Documentation": { - "Documentation.Name": "DateTime.FromText", - "Documentation.Description": "Creates a datetimezone from local and universal datetime formats.", - "Documentation.LongDescription": "Creates a datetime value from a textual representation, text. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options may also be a text value. This has the same behavior as if options = [Format = null, Culture = options].", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.MatchesAny", + "Documentation.Description": "Returns true if the condition function is satisfied by any value.", + "Documentation.LongDescription": "Returns true if the condition function, condition, is satisfied by any of values in the list list, otherwise returns false.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Convert \"2010-12-31T01:30:00\" into a datetime value.", - "Code": "DateTime.FromText(\"2010-12-31T01:30:25\")", - "Result": "#datetime(2010, 12, 31, 1, 30, 25)" - }, - { - "Description": "Convert \"2010-12-31T01:30:00.121212\" into a datetime value.", - "Code": "DateTime.FromText(\"30 Dez 2010 02:04:50.369730\", [Format=\"dd MMM yyyy HH:mm:ss.ffffff\", Culture=\"de-DE\"])", - "Result": "#datetime(2010, 12, 30, 2, 4, 50.36973)" - }, - { - "Description": "Convert \"2010-12-31T01:30:00\" into a datetime value.", - "Code": "DateTime.FromText(\"2000-02-08T03:45:12Z\", [Format=\"yyyy-MM-dd'T'HH:mm:ss'Z'\", Culture=\"en-US\"])", - "Result": "#datetime(2000, 2, 8, 3, 45, 12)" + "Description": "Find if any of the values in the list {9, 10, 11} are greater than 10.", + "Code": "List.MatchesAny({9, 10, 11}, each _ > 10)", + "Result": "true" }, { - "Description": "Convert \"20101231T013000\" into a datetime value.", - "Code": "DateTime.FromText(\"20101231T013000\", [Format=\"yyyyMMdd'T'HHmmss\", Culture=\"en-US\"])", - "Result": "#datetime(2010, 12, 31, 1, 30, 0)" + "Description": "Find if any of the values in the list {1, 2, 3} are greater than 10.", + "Code": "List.MatchesAny({1, 2, 3}, each _ > 10)", + "Result": "false" } ] }, - "ReturnType": "datetime", + "ReturnType": "logical", "Parameters": { - "text": "text", - "options": "any" + "list": "list", + "condition": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInCurrentHour", + "Name": "List.MaxN", "Documentation": { - "Documentation.Name": "DateTime.IsInCurrentHour", - "Documentation.Description": "Indicates whether this datetime occurs during the current hour, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current hour, as determined by the current date and time on the system.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.MaxN", + "Documentation.Description": "Returns the maximum value(s) in the list. The number of values to return or a filtering condition must be specified.", + "Documentation.LongDescription": "Returns the maximum value(s) in the list, list.\r\n After the rows are sorted, optional parameters may be specified to further filter the result. The optional parameter countOrCondition specifies the number of values to return or a filtering condition. The optional parameter comparisonCriteria specifies how to compare values in the list.\r\n ", + "Documentation.Category": "List.Ordering", + "Documentation.Examples": [] + }, + "ReturnType": "list", + "Parameters": { + "list": "list", + "countOrCondition": "any", + "comparisonCriteria": "any", + "includeNulls": "logical" + }, + "RequiredParameters": "2" + }, + { + "Name": "List.MinN", + "Documentation": { + "Documentation.Name": "List.MinN", + "Documentation.Description": "Returns the minimum value(s) in the list. The number of values to return or a filtering condition may be specified.", + "Documentation.LongDescription": "Returns the minimum value(s) in the list, list.\r\n The parameter, countOrCondition, specifies the number of values to return or a filtering condition. The optional parameter, comparisonCriteria, specifies how to compare values in the list.\r\n ", + "Documentation.Category": "List.Ordering", "Documentation.Examples": [ { - "Description": "Determine if the current system time is in the current hour.", - "Code": "DateTime.IsInCurrentHour(DateTime.FixedLocalNow())", - "Result": "true" + "Description": "Find the 5 smallest values in the list {3, 4, 5, -1, 7, 8, 2}.", + "Code": "List.MinN({3, 4, 5, -1, 7, 8, 2}, 5)", + "Result": "{-1, 2, 3, 4, 5}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any" + "list": "list", + "countOrCondition": "any", + "comparisonCriteria": "any", + "includeNulls": "logical" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInCurrentMinute", + "Name": "List.Numbers", "Documentation": { - "Documentation.Name": "DateTime.IsInCurrentMinute", - "Documentation.Description": "Indicates whether this datetime occurs during the current minute, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current minute, as determined by the current date and time on the system.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Numbers", + "Documentation.Description": "Returns a list of numbers given an initial value, count, and optional increment value.", + "Documentation.LongDescription": "Returns a list of numbers given an initial value, count, and optional increment value. The default increment value is 1.\r\n", + "Documentation.Category": "List.Generators", "Documentation.Examples": [ { - "Description": "Determine if the current system time is in the current minute.", - "Code": "DateTime.IsInCurrentMinute(DateTime.FixedLocalNow())", - "Result": "true" + "Description": "Generate a list of 10 consecutive numbers starting at 1.", + "Code": "List.Numbers(1, 10)", + "Result": "{\r\n 1,\r\n 2,\r\n 3,\r\n 4,\r\n 5,\r\n 6,\r\n 7,\r\n 8,\r\n 9,\r\n 10\r\n}" + }, + { + "Description": "Generate a list of 10 numbers starting at 1, with an increment of 2 for each subsequent number.", + "Code": "List.Numbers(1, 10, 2)", + "Result": "{\r\n 1,\r\n 3,\r\n 5,\r\n 7,\r\n 9,\r\n 11,\r\n 13,\r\n 15,\r\n 17,\r\n 19\r\n}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any" + "start": "number", + "count": "number", + "increment": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInCurrentSecond", + "Name": "List.Percentile", "Documentation": { - "Documentation.Name": "DateTime.IsInCurrentSecond", - "Documentation.Description": "Indicates whether this datetime occurs during the current second, as determined by the current date and time on the system.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the current second, as determined by the current date and time on the system.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Percentile", + "Documentation.Description": "Returns one or more sample percentiles corresponding to the given probabilities.", + "Documentation.LongDescription": "Returns one or more sample percentiles of the list list. If the value percentiles is a number between 0.0 and 1.0, it will be treated as a percentile and the result will be\r\n a single value corresponding to that probability. If the value percentiles is a list of numbers with values between 0.0 and 1.0, the result will be a list of percentiles\r\n corresponding to the input probability. The PercentileMode option in options can be used by advanced users to pick a more-specific interpolation method but is not recommended for most uses.\r\n Predefined symbols PercentileMode.ExcelInc and PercentileMode.ExcelExc match the interpolation methods used by the Excel functions\r\n PERCENTILE.INC and PERCENTILE.EXC. The default behavior matches PercentileMode.ExcelInc. The symbols\r\n PercentileMode.SqlCont and PercentileMode.SqlDisc match the SQL Server behavior for PERCENTILE_CONT and\r\n PERCENTILE_DISC, respectively.\r\n ", + "Documentation.Category": "List.Ordering", "Documentation.Examples": [ { - "Description": "Determine if the current system time is in the current second.", - "Code": "DateTime.IsInCurrentSecond(DateTime.FixedLocalNow())", - "Result": "true" + "Description": "Find the first quartile of the list {5, 3, 1, 7, 9}.", + "Code": "List.Percentile({5, 3, 1, 7, 9}, 0.25)", + "Result": "3" + }, + { + "Description": "Find the quartiles of the list {5, 3, 1, 7, 9} using an interpolation method matching Excel's PERCENTILE.EXC.", + "Code": "List.Percentile({5, 3, 1, 7, 9}, {0.25, 0.5, 0.75}, [PercentileMode=PercentileMode.ExcelExc])", + "Result": "{2, 5, 8}" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "dateTime": "any" + "list": "list", + "percentiles": "any", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInNextHour", + "Name": "List.PositionOf", "Documentation": { - "Documentation.Name": "DateTime.IsInNextHour", - "Documentation.Description": "Indicates whether this datetime occurs during the next hour, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next hour, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.PositionOf", + "Documentation.Description": "Returns the offset(s) of a value in a list.", + "Documentation.LongDescription": "Returns the offset at which the value value appears in the list list. Returns -1 if the value doesn't appear.\r\n An optional occurrence parameter occurrence can be specified.\r\n", + "Documentation.Category": "List.Membership functions", "Documentation.Examples": [ { - "Description": "Determine if the hour after the current system time is in the next hour.", - "Code": "DateTime.IsInNextHour(DateTime.FixedLocalNow() + #duration(0, 1, 0, 0))", - "Result": "true" + "Description": "Find the position in the list {1, 2, 3} at which the value 3 appears.", + "Code": "List.PositionOf({1, 2, 3}, 3)", + "Result": "2" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "dateTime": "any" + "list": "list", + "value": "any", + "occurrence": "Occurrence.Type", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInNextMinute", + "Name": "List.PositionOfAny", "Documentation": { - "Documentation.Name": "DateTime.IsInNextMinute", - "Documentation.Description": "Indicates whether this datetime occurs during the next minute, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next minute, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.PositionOfAny", + "Documentation.Description": "Returns the first offset of a value in a list.", + "Documentation.LongDescription": "Returns the offset in list list of the first occurrence of a value in a list values. Returns -1 if no occurrence is found.\r\n An optional occurrence parameter occurrence can be specified.\r\n", + "Documentation.Category": "List.Membership functions", "Documentation.Examples": [ { - "Description": "Determine if the minute after the current system time is in the next minute.", - "Code": "DateTime.IsInNextMinute(DateTime.FixedLocalNow() + #duration(0, 0, 1, 0))", - "Result": "true" + "Description": "Find the first position in the list {1, 2, 3} at which the value 2 or 3 appears.", + "Code": "List.PositionOfAny({1, 2, 3}, {2, 3})", + "Result": "1" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "dateTime": "any" + "list": "list", + "values": "list", + "occurrence": "Occurrence.Type", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInNextSecond", + "Name": "List.Range", "Documentation": { - "Documentation.Name": "DateTime.IsInNextSecond", - "Documentation.Description": "Indicates whether this datetime occurs during the next second, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the next second, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Range", + "Documentation.Description": "Returns a subset of the list beginning at an offset.", + "Documentation.LongDescription": "Returns a subset of the list beginning at the offset list. An optional parameter, offset, sets the maximum number of items in the subset.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Determine if the second after the current system time is in the next second.", - "Code": "DateTime.IsInNextSecond(DateTime.FixedLocalNow() + #duration(0, 0, 0, 1))", - "Result": "true" + "Description": "Find the subset starting at offset 6 of the list of numbers 1 through 10.", + "Code": "List.Range({1..10}, 6)", + "Result": "{7, 8, 9, 10}" + }, + { + "Description": "Find the subset of length 2 from offset 6, from the list of numbers 1 through 10.", + "Code": "List.Range({1..10}, 6, 2)", + "Result": "{7, 8}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any" + "list": "list", + "offset": "number", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInPreviousHour", + "Name": "List.RemoveItems", "Documentation": { - "Documentation.Name": "DateTime.IsInPreviousHour", - "Documentation.Description": "Indicates whether this datetime occurs during the previous hour, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous hour, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current hour.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.RemoveItems", + "Documentation.Description": "Removes items from list1 that are present in list.", + "Documentation.LongDescription": "Removes all occurrences of the given values in the list2 from list1. If the values in list2 don't exist in list1, the original list is returned.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Determine if the hour before the current system time is in the previous hour.", - "Code": "DateTime.IsInPreviousHour(DateTime.FixedLocalNow() - #duration(0, 1, 0, 0))", - "Result": "true" + "Description": "Remove the items in the list {2, 4, 6} from the list {1, 2, 3, 4, 2, 5, 5}.", + "Code": "List.RemoveItems({1, 2, 3, 4, 2, 5, 5}, {2, 4, 6})", + "Result": "{1, 3, 5, 5}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any" + "list1": "list", + "list2": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInPreviousMinute", - "Documentation": { - "Documentation.Name": "DateTime.IsInPreviousMinute", - "Documentation.Description": "Indicates whether this datetime occurs during the previous minute, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous minute, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current minute.\r\n ", - "Documentation.Category": "DateTime", + "Name": "List.RemoveMatchingItems", + "Documentation": { + "Documentation.Name": "List.RemoveMatchingItems", + "Documentation.Description": "Removes all occurrences of the input values.", + "Documentation.LongDescription": "Removes all occurrences of the given values in list2 from the list list1. If the values in list2 don't exist in list1, the original list is returned.\r\n An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Determine if the minute before the current system time is in the previous minute.", - "Code": "DateTime.IsInPreviousMinute(DateTime.FixedLocalNow() - #duration(0, 0, 1, 0))", - "Result": "true" + "Description": "Create a list from {1, 2, 3, 4, 5, 5} without {1, 5}.", + "Code": "List.RemoveMatchingItems({1, 2, 3, 4, 5, 5}, {1, 5})", + "Result": "{2, 3, 4}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any" + "list1": "list", + "list2": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.IsInPreviousSecond", + "Name": "List.RemoveRange", "Documentation": { - "Documentation.Name": "DateTime.IsInPreviousSecond", - "Documentation.Description": "Indicates whether this datetime occurs during the previous second, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.", - "Documentation.LongDescription": "Indicates whether the given datetime value dateTime occurs during the previous second, as determined by the current date and time on the system. Note that this function will return false when passed a value that occurs within the current second.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.RemoveRange", + "Documentation.Description": "Removes count number of values starting at the specified position.", + "Documentation.LongDescription": "Removes count values in the list starting at the specified position, index.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Determine if the second before the current system time is in the previous second.", - "Code": "DateTime.IsInPreviousSecond(DateTime.FixedLocalNow() - #duration(0, 0, 0, 1))", - "Result": "true" + "Description": "Remove 3 values in the list {1, 2, 3, 4, -6, -2, -1, 5} starting at index 4.", + "Code": "List.RemoveRange({1, 2, 3, 4, -6, -2, -1, 5}, 4, 3)", + "Result": "{1, 2, 3, 4, 5}" } ] }, - "ReturnType": "logical", + "ReturnType": "list", "Parameters": { - "dateTime": "any" + "list": "list", + "index": "number", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.Time", + "Name": "List.Repeat", "Documentation": { - "Documentation.Name": "DateTime.Time", - "Documentation.Description": "Returns the time part of the given datetime value.", - "Documentation.LongDescription": "Returns the time part of the given datetime value, dateTime.", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Repeat", + "Documentation.Description": "Returns a list that is count repetitions of the original list.", + "Documentation.LongDescription": "Returns a list that is count repetitions of the original list, list.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Find the time value of #datetime(2010, 12, 31, 11, 56, 02).", - "Code": "DateTime.Time(#datetime(2010, 12, 31, 11, 56, 02))", - "Result": "#time(11, 56, 2)" + "Description": "Create a list that has {1, 2} repeated 3 times.", + "Code": "List.Repeat({1, 2}, 3)", + "Result": "{1, 2, 1, 2, 1, 2}" } ] }, - "ReturnType": "time", + "ReturnType": "list", "Parameters": { - "dateTime": "any" + "list": "list", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.ToRecord", + "Name": "List.ReplaceMatchingItems", "Documentation": { - "Documentation.Name": "DateTime.ToRecord", - "Documentation.Description": "Returns a record containing the datetime value's parts.", - "Documentation.LongDescription": "Returns a record containing the parts of the given datetime value, dateTime.\r\n ", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.ReplaceMatchingItems", + "Documentation.Description": "Applies each replacement of { old, new }.", + "Documentation.LongDescription": "Performs the given replacements to the list list. A replacement operation replacements consists of a list of two values, the old value and new value, provided in a list.\r\n An optional equation criteria value, equationCriteria, can be specified to control equality testing.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Convert the #datetime(2011, 12, 31, 11, 56, 2) value into a record containing Date and Time values.", - "Code": "DateTime.ToRecord(#datetime(2011, 12, 31, 11, 56, 2))", - "Result": "[\r\n Year = 2011,\r\n Month = 12,\r\n Day = 31,\r\n Hour = 11,\r\n Minute = 56,\r\n Second = 2\r\n]" + "Description": "Create a list from {1, 2, 3, 4, 5} replacing the value 5 with -5, and the value 1 with -1.", + "Code": "List.ReplaceMatchingItems({1, 2, 3, 4, 5}, {{5, -5}, {1, -1}})", + "Result": "{-1, 2, 3, 4, -5}" } ] }, - "ReturnType": "record", + "ReturnType": "list", "Parameters": { - "dateTime": "datetime" + "list": "list", + "replacements": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTime.ToText", + "Name": "List.Select", "Documentation": { - "Documentation.Name": "DateTime.ToText", - "Documentation.Description": "Returns a textual representation of the datetime value.", - "Documentation.LongDescription": "Returns a textual representation of dateTime. An optional record parameter, options, may be provided to specify additional properties. culture is only used for legacy workflows. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options and culture may also be text values. This has the same behavior as if options = [Format = options, Culture = culture].", - "Documentation.Category": "DateTime", + "Documentation.Name": "List.Select", + "Documentation.Description": "Returns a list of values that match the condition.", + "Documentation.LongDescription": "Returns a list of values from the list list, that match the selection condition selection.", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Convert #datetime(2010, 12, 31, 01, 30, 25) into a text value. Result output may vary depending on current culture.", - "Code": "DateTime.ToText(#datetime(2010, 12, 31, 01, 30, 25))", - "Result": "\"12/31/2010 1:30:25 AM\"" - }, - { - "Description": "Convert using a custom format and the German culture.", - "Code": "DateTime.ToText(#datetime(2010, 12, 30, 2, 4, 50.36973), [Format=\"dd MMM yyyy HH:mm:ss.ffffff\", Culture=\"de-DE\"])", - "Result": "\"30 Dez 2010 02:04:50.369730\"" - }, - { - "Description": "Convert using the ISO 8601 pattern.", - "Code": "DateTime.ToText(#datetime(2000, 2, 8, 3, 45, 12),[Format=\"yyyy-MM-dd'T'HH:mm:ss'Z'\", Culture=\"en-US\"])", - "Result": "\"2000-02-08T03:45:12Z\"" + "Description": "Find the values in the list {1, -3, 4, 9, -2} that are greater than 0.", + "Code": "List.Select({1, -3, 4, 9, -2}, each _ > 0)", + "Result": "{1, 4, 9}" } ] }, - "ReturnType": "text", + "ReturnType": "list", "Parameters": { - "dateTime": "datetime", - "options": "any", - "culture": "text" + "list": "list", + "selection": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.From", + "Name": "List.Split", "Documentation": { - "Documentation.Name": "DateTimeZone.From", - "Documentation.Description": "Creates a datetimezone from the given value.", - "Documentation.LongDescription": "Returns a datetimezone value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, DateTimeZone.From returns null. If the given value is datetimezone, value is returned. Values of the following types can be converted to a datetimezone value:\r\n \r\nIf value is of any other type, an error is returned.", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [ - { - "Description": "Convert \"2020-10-30T01:30:00-08:00\" to a datetimezone value.", - "Code": "DateTimeZone.From(\"2020-10-30T01:30:00-08:00\")", - "Result": "#datetimezone(2020, 10, 30, 01, 30, 00, -8, 00)" - } - ] + "Documentation.Name": "List.Split", + "Documentation.Description": "Splits the specified list into a list of lists using the specified page size.", + "Documentation.LongDescription": "Splits list into a list of lists where the first element of the output list is a list containing the first pageSize elements from\r\n the source list, the next element of the output list is a list containing the next pageSize elements from the source list, and so on.", + "Documentation.Category": "List.Transformation functions", + "Documentation.Examples": [] }, - "ReturnType": "datetimezone", + "ReturnType": "list", "Parameters": { - "value": "any", - "culture": "text" + "list": "list", + "pageSize": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.FromFileTime", + "Name": "List.Transform", "Documentation": { - "Documentation.Name": "DateTimeZone.FromFileTime", - "Documentation.Description": "Creates a datetimezone from a 64 bits long number.", - "Documentation.LongDescription": "Creates a datetimezone value from the fileTime value and converts it to the local time zone. The filetime is a Windows file time value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 midnight, January 1, 1601 A.D. (C.E.) Coordinated Universal Time (UTC).\r\n ", - "Documentation.Category": "DateTimeZone", + "Documentation.Name": "List.Transform", + "Documentation.Description": "Returns a new list of values computed from this list.", + "Documentation.LongDescription": "Returns a new list of values by applying the transform function transform to the list, list.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Convert 129876402529842245 into a datetimezone value.", - "Code": "DateTimeZone.FromFileTime(129876402529842245)", - "Result": "#datetimezone(2012, 7, 24, 14, 50, 52.9842245, -7, 0)" + "Description": "Add 1 to each value in the list {1, 2}.", + "Code": "List.Transform({1, 2}, each _ + 1)", + "Result": "{2, 3}" } ] }, - "ReturnType": "datetimezone", + "ReturnType": "list", "Parameters": { - "fileTime": "number" + "list": "list", + "transform": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.FromText", + "Name": "Marketo.Leads", "Documentation": { - "Documentation.Name": "DateTimeZone.FromText", - "Documentation.Description": "Creates a datetimezone from local, universal, and custom datetimezone formats.", - "Documentation.LongDescription": "Creates a datetimezone value from a textual representation, text. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options may also be a text value. This has the same behavior as if options = [Format = null, Culture = options].", - "Documentation.Category": "DateTimeZone", + "Documentation.Name": "Marketo.Leads", + "Documentation.DisplayName": "Marketo.Leads", + "Documentation.Caption": "Marketo.Leads", + "Documentation.Description": "Returns a table with lead details.", + "Documentation.LongDescription": "Makes a call to the Marketo REST API endpoint at url/rest/v1/leads.json. All leads in list leadIds are returned.", "Documentation.Examples": [ { - "Description": "Convert \"2010-12-31T01:30:00-08:00\" into a datetimezone value.", - "Code": "DateTimeZone.FromText(\"2010-12-31T01:30:00-08:00\")", - "Result": "#datetimezone(2010, 12, 31, 1, 30, 0, -8, 0)" - }, - { - "Description": "Convert using a custom format and the German culture.", - "Code": "DateTimeZone.FromText(\"30 Dez 2010 02:04:50.369730 +02:00\", [Format=\"dd MMM yyyy HH:mm:ss.ffffff zzz\", Culture=\"de-DE\"])", - "Result": "#datetimezone(2010, 12, 30, 2, 4, 50.36973, 2, 0)" - }, - { - "Description": "Convert using ISO 8601.", - "Code": "DateTimeZone.FromText(\"2009-06-15T13:45:30.0000000-07:00\", [Format=\"O\", Culture=\"en-US\"])", - "Result": "#datetimezone(2009, 6, 15, 13, 45, 30, -7, 0)" + "Description": "Pulls the details for three leads", + "Code": "Marketo.Leads(\"https://100-AAA-999.mktorest.com/rest\", {50, 2343, 88498})", + "Result": "A table with details for the supplied leads" } ] }, - "ReturnType": "datetimezone", + "ReturnType": "table", "Parameters": { - "text": "text", + "url": "text", + "leadIds": "list", "options": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.RemoveZone", + "Name": "Marketo.Tables", "Documentation": { - "Documentation.Name": "DateTimeZone.RemoveZone", - "Documentation.Description": "Removes timezone information from the given datetimezone value.", - "Documentation.LongDescription": "Returns a #datetime value from dateTimeZone with timezone information removed.", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [ - { - "Description": "Remove timezone information from the value #datetimezone(2011, 12, 31, 9, 15, 36, -7, 0).", - "Code": "DateTimeZone.RemoveZone(#datetimezone(2011, 12, 31, 9, 15, 36, -7, 0))", - "Result": "#datetime(2011, 12, 31, 9, 15, 36)" - } - ] + "Documentation.Description": "Enter the URL of the Marketo REST API endpoint associated with your account.", + "Documentation.DisplayName": "Marketo", + "Documentation.Caption": "Marketo.Tables", + "Documentation.Name": "Marketo", + "Documentation.LongDescription": "Returns a table with relevant Marketo data." }, - "ReturnType": "datetime", + "ReturnType": "table", "Parameters": { - "dateTimeZone": "datetimezone" + "url": "text", + "QueryStart": "date" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.ToLocal", - "Documentation": { - "Documentation.Name": "DateTimeZone.ToLocal", - "Documentation.Description": "Converts the timezone component to the local timezone.", - "Documentation.LongDescription": "Changes timezone information of the datetimezone value dateTimeZone to the local timezone information.\r\n If dateTimeZone does not have a timezone component, the local timezone information is added.", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [ - { - "Description": "Change timezone information for #datetimezone(2010, 12, 31, 11, 56, 02, 7, 30) to local timezone (assuming PST).", - "Code": "DateTimeZone.ToLocal(#datetimezone(2010, 12, 31, 11, 56, 02, 7, 30))", - "Result": "#datetimezone(2010, 12, 31, 12, 26, 2, -8, 0)" - } - ] + "Name": "Mixpanel.Export", + "Documentation": {}, + "ReturnType": "any", + "Parameters": { + "fromDate": "text", + "toDate": "text", + "events": "list", + "bucket": "text" + }, + "RequiredParameters": "2" + }, + { + "Name": "MySQL.Database", + "Documentation": { + "Documentation.Name": "MySQL.Database", + "Documentation.Description": "Returns a table of SQL tables, views, and stored scalar functions available in a MySQL database.", + "Documentation.LongDescription": "Returns a table of SQL tables, views, and stored scalar functions available in a MySQL database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "datetimezone", + "ReturnType": "table", "Parameters": { - "dateTimeZone": "datetimezone" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.ToRecord", + "Name": "Netezza.Database", "Documentation": { - "Documentation.Name": "DateTimeZone.ToRecord", - "Documentation.Description": "Returns a record containing the datetimezone value's parts.", - "Documentation.LongDescription": "Returns a record containing the parts of the given datetimezone value, dateTimeZone.\r\n ", - "Documentation.Category": "DateTimeZone", + "Documentation.Name": "IBM Netezza", + "Documentation.Caption": "IBM Netezza", + "Documentation.Description": "Import data from an IBM Netezza database.", + "Documentation.LongDescription": "\r\nReturns a table of Netezza tables, views, and stored functions from the Netezza Server database database on server server. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n\r\nThe record parameter is specified as [option1 = value1, option2 = value2...].", "Documentation.Examples": [ { - "Description": "Convert the #datetimezone(2011, 12, 31, 11, 56, 2, 8, 0) value into a record containing Date, Time, and Zone values.", - "Code": "DateTimeZone.ToRecord(#datetimezone(2011, 12, 31, 11, 56, 2, 8, 0))", - "Result": "[\r\n Year = 2011,\r\n Month = 12,\r\n Day = 31,\r\n Hour = 11,\r\n Minute = 56,\r\n Second = 2,\r\n ZoneHours = 8,\r\n ZoneMinutes = 0\r\n]" + "Description": "List the tables in an IBM Netezza project.", + "Code": "Netezza.Database(\"netezza:5480\", \"netezza_database\")" } ] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "dateTimeZone": "datetimezone" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.ToText", + "Name": "Number.Atan2", "Documentation": { - "Documentation.Name": "DateTimeZone.ToText", - "Documentation.Description": "Returns a textual representation of the datetimezone value.", - "Documentation.LongDescription": "Returns a textual representation of dateTimeZone. An optional record parameter, options, may be provided to specify additional properties. culture is only used for legacy workflows. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options and culture may also be text values. This has the same behavior as if options = [Format = options, Culture = culture].", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [ - { - "Description": "Convert #datetimezone(2010, 12, 31, 01, 30, 25, 2, 0) into a text value. Result output may vary depending on current culture.", - "Code": "DateTimeZone.ToText(#datetimezone(2010, 12, 31, 01, 30, 25, 2, 0))", - "Result": "\"12/31/2010 1:30:25 AM +02:00\"" - }, - { - "Description": "Convert using a custom format and the German culture.", - "Code": "DateTimeZone.ToText(#datetimezone(2010, 12, 30, 2, 4, 50.36973, -8,0), [Format=\"dd MMM yyyy HH:mm:ss.ffffff zzz\", Culture=\"de-DE\"])", - "Result": "\"30 Dez 2010 02:04:50.369730 -08:00\"" - }, - { - "Description": "Convert using the ISO 8601 pattern.", - "Code": "DateTimeZone.ToText(#datetimezone(2000, 2, 8, 3, 45, 12, 2, 0),[Format=\"O\", Culture=\"en-US\"])", - "Result": "\"2000-02-08T03:45:12.0000000+02:00\"" - } - ] + "Documentation.Name": "Number.Atan2", + "Documentation.Description": "Returns the arctangent of the division of the two numbers.", + "Documentation.LongDescription": "Returns the arctangent of the division of the two numbers, y and x. The divison will be constructed as y/x.", + "Documentation.Category": "Number.Trigonometry", + "Documentation.Examples": [] }, - "ReturnType": "text", + "ReturnType": "number", "Parameters": { - "dateTimeZone": "datetimezone", - "options": "any", - "culture": "text" + "y": "number", + "x": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.ToUtc", + "Name": "Number.BitwiseAnd", "Documentation": { - "Documentation.Name": "DateTimeZone.ToUtc", - "Documentation.Description": "Converts the timezone component to UTC timezone.", - "Documentation.LongDescription": "Changes timezone information of the datetime value dateTimeZone to the UTC or Universal Time timezone information.\r\n If dateTimeZone does not have a timezone component, the UTC timezone information is added.", - "Documentation.Category": "DateTimeZone", - "Documentation.Examples": [ - { - "Description": "Change timezone information for #datetimezone(2010, 12, 31, 11, 56, 02, 7, 30) to UTC timezone.", - "Code": "DateTimeZone.ToUtc(#datetimezone(2010, 12, 31, 11, 56, 02, 7, 30))", - "Result": "#datetimezone(2010, 12, 31, 4, 26, 2, 0, 0)" - } - ] + "Documentation.Name": "Number.BitwiseAnd", + "Documentation.Description": "Returns the result of performing a bitwise \"And\" operation between the two inputs.", + "Documentation.LongDescription": "Returns the result of performing a bitwise \"And\" operation between number1 and number2.", + "Documentation.Category": "Number.Bytes", + "Documentation.Examples": [] }, - "ReturnType": "datetimezone", + "ReturnType": "number", "Parameters": { - "dateTimeZone": "datetimezone" + "number1": "number", + "number2": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.ZoneHours", + "Name": "Number.BitwiseOr", "Documentation": { - "Documentation.Name": "DateTimeZone.ZoneHours", - "Documentation.Description": "Changes the timezone of the value.", - "Documentation.LongDescription": "Changes the timezone of the value.", - "Documentation.Category": "DateTimeZone", + "Documentation.Name": "Number.BitwiseOr", + "Documentation.Description": "Returns the result of performing a bitwise \"Or\" between the two inputs.", + "Documentation.LongDescription": "Returns the result of performing a bitwise \"Or\" between number1 and number2.", + "Documentation.Category": "Number.Bytes", "Documentation.Examples": [] }, "ReturnType": "number", "Parameters": { - "dateTimeZone": "datetimezone" + "number1": "number", + "number2": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DateTimeZone.ZoneMinutes", + "Name": "Number.BitwiseShiftLeft", "Documentation": { - "Documentation.Name": "DateTimeZone.ZoneMinutes", - "Documentation.Description": "Changes the timezone of the value.", - "Documentation.LongDescription": "Changes the timezone of the value.", - "Documentation.Category": "DateTimeZone", + "Documentation.Name": "Number.BitwiseShiftLeft", + "Documentation.Description": "Shifts the bits set to the left.", + "Documentation.LongDescription": "Returns the result of performing a bitwise shift to the left on number1, by the specified number of bits number2.", + "Documentation.Category": "Number.Bytes", "Documentation.Examples": [] }, "ReturnType": "number", "Parameters": { - "dateTimeZone": "datetimezone" + "number1": "number", + "number2": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Decimal.From", + "Name": "Number.BitwiseShiftRight", "Documentation": { - "Documentation.Name": "Decimal.From", - "Documentation.Description": "Creates a Decimal from the given value.", - "Documentation.LongDescription": "Returns a Decimal number value from the given value. If the given value is null, Decimal.From returns null. If the given value is number within the range of Decimal, value is returned, otherwise an error is returned. If value is of any other type, it will first be converted to a number using Number.FromText. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", - "Documentation.Examples": [ - { - "Description": "Get the Decimal number value of \"4.5\".", - "Code": "Decimal.From(\"4.5\")", - "Result": "4.5" - } - ] + "Documentation.Name": "Number.BitwiseShiftRight", + "Documentation.Description": "Shifts the bits set to the right.", + "Documentation.LongDescription": "Returns the result of performing a bitwise shift to the right on number1, by the specified number of bits number2.", + "Documentation.Category": "Number.Bytes", + "Documentation.Examples": [] }, "ReturnType": "number", "Parameters": { - "value": "any", - "culture": "text" + "number1": "number", + "number2": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "DeltaLake.Table", + "Name": "Number.BitwiseXor", "Documentation": { - "Documentation.Name": "DeltaLake.Table", - "Documentation.Description": "Returns the contents of the Delta Lake table.", - "Documentation.LongDescription": "Returns the contents of the Delta Lake table.", - "Documentation.Category": "Accessing data", + "Documentation.Name": "Number.BitwiseXor", + "Documentation.Description": "Returns the result of performing a bitwise \"XOR\" (Exclusive-OR) between the two inputs.", + "Documentation.LongDescription": "Returns the result of performing a bitwise \"XOR\" (Exclusive-OR) between number1 and number2.", + "Documentation.Category": "Number.Bytes", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "number", "Parameters": { - "directory": "table", - "options": "record" + "number1": "number", + "number2": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Double.From", + "Name": "Number.Combinations", "Documentation": { - "Documentation.Name": "Double.From", - "Documentation.Description": "Creates a Double from the given value.", - "Documentation.LongDescription": "Returns a Double number value from the given value. If the given value is null, Double.From returns null. If the given value is number within the range of Double, value is returned, otherwise an error is returned. If value is of any other type, it will first be converted to a number using Number.FromText. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "Number.Combinations", + "Documentation.Description": "Returns the number of unique combinations.", + "Documentation.LongDescription": "Returns the number of unique combinations from a list of items, setSize with specified combination size, combinationSize.\r\n\r\n", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Get the Double number value of \"4\".", - "Code": "Double.From(\"4.5\")", - "Result": "4.5" + "Description": "Find the number of combinations from a total of 5 items when each combination is a group of 3.", + "Code": "Number.Combinations(5, 3)", + "Result": "10" } ] }, "ReturnType": "number", "Parameters": { - "value": "any", - "culture": "text" + "setSize": "number", + "combinationSize": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.Days", + "Name": "Number.IntegerDivide", "Documentation": { - "Documentation.Name": "Duration.Days", - "Documentation.Description": "Returns the days portion of a duration.", - "Documentation.LongDescription": "Returns the days portion of duration.", - "Documentation.Category": "Duration", + "Documentation.Name": "Number.IntegerDivide", + "Documentation.Description": "Divides two numbers and returns the integer portion of the result.", + "Documentation.LongDescription": "Returns the integer portion of the result from dividing a number, number1, by another number, number2.\r\n If number1 or number2 are null, Number.IntegerDivide returns null.\r\n ", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Extract the number of days between two dates.", - "Code": "Duration.Days(#date(2022, 3, 4) - #date(2022, 2, 25))", - "Result": "7" + "Description": "Divide 6 by 4.", + "Code": "Number.IntegerDivide(6, 4)", + "Result": "1" + }, + { + "Description": "Divide 8.3 by 3.", + "Code": "Number.IntegerDivide(8.3, 3)", + "Result": "2" } ] }, "ReturnType": "number", "Parameters": { - "duration": "duration" + "number1": "number", + "number2": "number", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.From", + "Name": "Number.Mod", "Documentation": { - "Documentation.Name": "Duration.From", - "Documentation.Description": "Creates a duration from the given value.", - "Documentation.LongDescription": "Returns a duration value from the given value. If the given value is null, Duration.From returns null. If the given value is duration, value is returned. Values of the following types can be converted to a duration value:\r\n \r\nIf value is of any other type, an error is returned.", - "Documentation.Category": "Duration", + "Documentation.Name": "Number.Mod", + "Documentation.Description": "Integer divides two numbers and returns the remainder.", + "Documentation.LongDescription": "Returns the remainder resulting from the integer division of number by divisor.\r\n If number or divisor are null, Number.Mod returns null.\r\n ", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Convert 2.525 into a duration value.", - "Code": "Duration.From(2.525)", - "Result": "#duration(2, 12, 36, 0)" + "Description": "Find the remainder when you divide 5 by 3.", + "Code": "Number.Mod(5, 3)", + "Result": "2" } ] }, - "ReturnType": "duration", + "ReturnType": "number", "Parameters": { - "value": "any" + "number": "number", + "divisor": "number", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.FromText", + "Name": "Number.Permutations", "Documentation": { - "Documentation.Name": "Duration.FromText", - "Documentation.Description": "Returns a duration value from textual elapsed time forms (d.h:m:s).", - "Documentation.LongDescription": "Returns a duration value from the specified text, text. The following formats can be parsed by this function:\r\n \r\n
\r\n (All ranges are inclusive)
\r\n ddd: Number of days.
\r\n hh: Number of hours, between 0 and 23.
\r\n mm: Number of minutes, between 0 and 59.
\r\n ss: Number of seconds, between 0 and 59.
\r\n ff: Fraction of seconds, between 0 and 9999999.", - "Documentation.Category": "Duration", + "Documentation.Name": "Number.Permutations", + "Documentation.Description": "Returns the number of permutations.", + "Documentation.LongDescription": "Returns the number of permutations that can be generated from a number of items, setSize, with a specified permutation size, permutationSize.", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Convert \"2.05:55:20\" into a duration value.", - "Code": "Duration.FromText(\"2.05:55:20\")", - "Result": "#duration(2, 5, 55, 20)" + "Description": "Find the number of permutations from a total of 5 items in groups of 3.", + "Code": "Number.Permutations(5, 3)", + "Result": "60" } ] }, - "ReturnType": "duration", + "ReturnType": "number", "Parameters": { - "text": "text" + "setSize": "number", + "permutationSize": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.Hours", + "Name": "Number.Power", "Documentation": { - "Documentation.Name": "Duration.Hours", - "Documentation.Description": "Returns the hours portion of a duration.", - "Documentation.LongDescription": "Returns the hours portion of duration.", - "Documentation.Category": "Duration", + "Documentation.Name": "Number.Power", + "Documentation.Description": "Raises a number to the given power.", + "Documentation.LongDescription": "Returns the result of raising number to the power of power.\r\n If number or power are null, Number.Power returns null.\r\n ", + "Documentation.Category": "Number.Operations", "Documentation.Examples": [ { - "Description": "Extract the hours from a duration value.", - "Code": "Duration.Hours(#duration(5, 4, 3, 2))", - "Result": "4" + "Description": "Find the value of 5 raised to the power of 3 (5 cubed).", + "Code": "Number.Power(5, 3)", + "Result": "125" } ] }, "ReturnType": "number", "Parameters": { - "duration": "duration" + "number": "number", + "power": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.Minutes", + "Name": "Number.RandomBetween", "Documentation": { - "Documentation.Name": "Duration.Minutes", - "Documentation.Description": "Returns the minutes portion of a duration.", - "Documentation.LongDescription": "Returns the minutes portion of duration.", - "Documentation.Category": "Duration", + "Documentation.Name": "Number.RandomBetween", + "Documentation.Description": "Returns a random number between two numbers.", + "Documentation.LongDescription": "Returns a random number between bottom and top.", + "Documentation.Category": "Number.Random", "Documentation.Examples": [ { - "Description": "Extract the minutes from a duration value.", - "Code": "Duration.Minutes(#duration(5, 4, 3, 2))", - "Result": "3" + "Description": "Get a random number between 1 and 5.", + "Code": "Number.RandomBetween(1, 5)", + "Result": "2.546797" } ] }, "ReturnType": "number", "Parameters": { - "duration": "duration" + "bottom": "number", + "top": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.Seconds", + "Name": "Odbc.Query", "Documentation": { - "Documentation.Name": "Duration.Seconds", - "Documentation.Description": "Returns the seconds portion of a duration.", - "Documentation.LongDescription": "Returns the seconds portion of duration.", - "Documentation.Category": "Duration", + "Documentation.Name": "Odbc.Query", + "Documentation.Description": "Returns the result of running a native query on an ODBC data source.", + "Documentation.LongDescription": "Returns the result of running query with the connection string connectionString using ODBC. connectionString can be text or a record of property value pairs. Property values can either be text or number. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n", + "Documentation.Category": "Accessing data", "Documentation.Examples": [ { - "Description": "Extract the seconds from a duration value.", - "Code": "Duration.Seconds(#duration(5, 4, 3, 2))", - "Result": "2" + "Description": "Return the result of running a simple query against the provided connection string.", + "Code": "Odbc.Query(\"dsn=your_dsn\", \"select * from Customers\")", + "Result": "table" } ] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "duration": "duration" + "connectionString": "any", + "query": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.ToRecord", + "Name": "OleDb.Query", "Documentation": { - "Documentation.Name": "Duration.ToRecord", - "Documentation.Description": "Returns a record containing the parts of the duration.", - "Documentation.LongDescription": "Returns a record containing the parts the duration value, duration.\r\n ", - "Documentation.Category": "Duration", + "Documentation.Name": "OleDb.Query", + "Documentation.Description": "Returns the result of running a native query on an OLE DB data source.", + "Documentation.LongDescription": "Returns the result of running query with the connection string connectionString using OLE DB. connectionString can be text or a record of property value pairs. Property values can either be text or number. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] + }, + "ReturnType": "table", + "Parameters": { + "connectionString": "any", + "query": "text", + "options": "record" + }, + "RequiredParameters": "2" + }, + { + "Name": "PlanviewEnterprise.Feed", + "Documentation": { + "Documentation.Description": "Enter the URL and database name associated with your Planview Portfolios account.", + "Documentation.DisplayName": "PlanviewEnterprise.Feed", + "Documentation.Caption": "PlanviewEnterprise.Feed", + "Documentation.Name": "Planview Portfolios", + "Documentation.LongDescription": "Returns a table with Planview Portfolios data.", "Documentation.Examples": [ { - "Description": "Convert #duration(2, 5, 55, 20) into a record of its parts including days, hours, minutes and seconds if applicable.", - "Code": "Duration.ToRecord(#duration(2, 5, 55, 20))", - "Result": "[\r\n Days = 2,\r\n Hours = 5,\r\n Minutes = 55,\r\n Seconds = 20\r\n]" + "Description": "Returns a table of Planview Portfolios information", + "Code": "PlanviewEnterprise.Feed(\"https://contoso.com/planview\", \"pve\")", + "Result": "A table of Planview Portfolios data about database pve" } ] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "duration": "duration" + "url": "text", + "database": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.ToText", + "Name": "PostgreSQL.Database", "Documentation": { - "Documentation.Name": "Duration.ToText", - "Documentation.Description": "Returns the text of the form \"d.h:m:s\".", - "Documentation.LongDescription": "Returns a textual representation in the form \"day.hour:mins:sec\" of the given duration value, duration.\r\n ", - "Documentation.Category": "Duration", + "Documentation.Name": "PostgreSQL.Database", + "Documentation.Description": "Returns a table of SQL tables and views available in a PostgreSQL database.", + "Documentation.LongDescription": "Returns a table of SQL tables and views available in a PostgreSQL database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] + }, + "ReturnType": "table", + "Parameters": { + "server": "text", + "database": "text", + "options": "record" + }, + "RequiredParameters": "2" + }, + { + "Name": "Record.Field", + "Documentation": { + "Documentation.Name": "Record.Field", + "Documentation.Description": "Returns the value of the specified field in a record.", + "Documentation.LongDescription": "Returns the value of the specified field in the record. If the field is not found, an exception is thrown.", + "Documentation.Category": "Record.Selection", "Documentation.Examples": [ { - "Description": "Convert #duration(2, 5, 55, 20) into a text value.", - "Code": "Duration.ToText(#duration(2, 5, 55, 20))", - "Result": "\"2.05:55:20\"" + "Description": "Find the value of field \"CustomerID\" in the record.", + "Code": "Record.Field([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"], \"CustomerID\")", + "Result": "1" } ] }, - "ReturnType": "text", + "ReturnType": "any", "Parameters": { - "duration": "duration", - "format": "text" + "record": "record", + "field": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.TotalDays", + "Name": "Record.FieldOrDefault", "Documentation": { - "Documentation.Name": "Duration.TotalDays", - "Documentation.Description": "Returns the total days this duration spans.", - "Documentation.LongDescription": "Returns the total days spanned by duration.", - "Documentation.Category": "Duration", + "Documentation.Name": "Record.FieldOrDefault", + "Documentation.Description": "Returns the value of the specified field in a record or the default value if the field is not found.", + "Documentation.LongDescription": "Returns the value of the specified field field in the record record. If the field is not found, the optional defaultValue is returned.", + "Documentation.Category": "Record.Selection", "Documentation.Examples": [ { - "Description": "Find the total days spanned by a duration value.", - "Code": "Duration.TotalDays(#duration(5, 4, 3, 2))", - "Result": "5.1687731481481478" + "Description": "Find the value of field \"Phone\" in the record, or return null if it doesn't exist.", + "Code": "Record.FieldOrDefault([CustomerID = 1, Name = \"Bob\"], \"Phone\")", + "Result": "null" + }, + { + "Description": "Find the value of field \"Phone\" in the record, or return the default if it doesn't exist.", + "Code": "Record.FieldOrDefault([CustomerID = 1, Name = \"Bob\"], \"Phone\", \"123-4567\")", + "Result": "\"123-4567\"" } ] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "duration": "duration" + "record": "record", + "field": "text", + "defaultValue": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.TotalHours", + "Name": "Record.FromList", "Documentation": { - "Documentation.Name": "Duration.TotalHours", - "Documentation.Description": "Returns the total hours this duration spans.", - "Documentation.LongDescription": "Returns the total hours spanned by duration.", - "Documentation.Category": "Duration", + "Documentation.Name": "Record.FromList", + "Documentation.Description": "Returns a record given a list of field values and a set of fields.", + "Documentation.LongDescription": "Returns a record given a list of field values and a set of fields. The fields can be specified either by a list of text values, or a record type. An error is thrown if the fields are not unique.", + "Documentation.Category": "Record.Serialization", "Documentation.Examples": [ { - "Description": "Find the total hours spanned by a duration value.", - "Code": "Duration.TotalHours(#duration(5, 4, 3, 2))", - "Result": "124.05055555555555" + "Description": "Build a record from a list of field values and a list of field names.", + "Code": "Record.FromList({1, \"Bob\", \"123-4567\"}, {\"CustomerID\", \"Name\", \"Phone\"})", + "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" + }, + { + "Description": "Build a record from a list of field values and a record type.", + "Code": "Record.FromList({1, \"Bob\", \"123-4567\"}, type [CustomerID = number, Name = text, Phone = number])", + "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" } ] }, - "ReturnType": "number", + "ReturnType": "record", "Parameters": { - "duration": "duration" + "list": "list", + "fields": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.TotalMinutes", + "Name": "Record.HasFields", "Documentation": { - "Documentation.Name": "Duration.TotalMinutes", - "Documentation.Description": "Returns the total minutes this duration spans.", - "Documentation.LongDescription": "Returns the total minutes spanned by duration.", - "Documentation.Category": "Duration", + "Documentation.Name": "Record.HasFields", + "Documentation.Description": "Indicates whether the record has the specified fields.", + "Documentation.LongDescription": "Indicates whether the record record has the fields specified in fields, by returning a logical value (true or false).\r\n Multiple field values can be specified using a list.", + "Documentation.Category": "Record.Information", "Documentation.Examples": [ { - "Description": "Find the total minutes spanned by a duration value.", - "Code": "Duration.TotalMinutes(#duration(5, 4, 3, 2))", - "Result": "7443.0333333333338" + "Description": "Check if the record has the field \"CustomerID\".", + "Code": "Record.HasFields([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"], \"CustomerID\")", + "Result": "true" + }, + { + "Description": "Check if the record has the field \"CustomerID\" and \"Address\".", + "Code": "Record.HasFields([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"], {\"CustomerID\", \"Address\"})", + "Result": "false" } ] }, - "ReturnType": "number", + "ReturnType": "logical", "Parameters": { - "duration": "duration" + "record": "record", + "fields": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Duration.TotalSeconds", + "Name": "Record.RemoveFields", "Documentation": { - "Documentation.Name": "Duration.TotalSeconds", - "Documentation.Description": "Returns the total seconds this duration spans.", - "Documentation.LongDescription": "Returns the total seconds spanned by duration.", - "Documentation.Category": "Duration", + "Documentation.Name": "Record.RemoveFields", + "Documentation.Description": "Removes the specified field(s) from the input record.", + "Documentation.LongDescription": "Returns a record that removes all the fields specified in list fields from the input record. If the field specified does not exist, an exception is thrown.", + "Documentation.Category": "Record.Transformations", "Documentation.Examples": [ { - "Description": "Find the total seconds spanned by a duration value.", - "Code": "Duration.TotalSeconds(#duration(5, 4, 3, 2))", - "Result": "446582" + "Description": "Remove the field \"Price\" from the record.", + "Code": "Record.RemoveFields([CustomerID = 1, Item = \"Fishing rod\", Price = 18.00], \"Price\")", + "Result": "[CustomerID = 1, Item = \"Fishing rod\"]" + }, + { + "Description": "Remove the fields \"Price\" and \"Item\" from the record.", + "Code": "Record.RemoveFields([CustomerID = 1, Item = \"Fishing rod\", Price = 18.00], {\"Price\", \"Item\"})", + "Result": "[CustomerID = 1]" } ] }, - "ReturnType": "number", - "Parameters": { - "duration": "duration" - }, - "RequiredParameters": "1" - }, - { - "Name": "Emigo.GetExtractFunction", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "ExtractName": "text", - "DataRestrictionType": "text", - "DataRestrictionValue": "text", - "DataRestrictionMode": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "EmigoDataSourceConnector.GetExtractFunction", - "Documentation": {}, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "ExtractName": "text", - "DataRestrictionType": "text", - "DataRestrictionValue": "text", - "DataRestrictionMode": "text" + "record": "record", + "fields": "any", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Error.Record", + "Name": "Record.RenameFields", "Documentation": { - "Documentation.Name": "Error.Record", - "Documentation.Description": "Returns an error record from the provided text values for reason, message and detail.", - "Documentation.LongDescription": "Returns an error record from the provided text values for reason, message and detail.", - "Documentation.Category": "Error", - "Documentation.Examples": [] + "Documentation.Name": "Record.RenameFields", + "Documentation.Description": "Applies rename(s) from a list in the form { old, new }.", + "Documentation.LongDescription": "Returns a record after renaming fields in the input record to the new field names specified in list renames. For multiple renames, a nested list can be used ({ {old1, new1}, {old2, new2} }.", + "Documentation.Category": "Record.Transformations", + "Documentation.Examples": [ + { + "Description": "Rename the field \"UnitPrice\" to \"Price\" from the record.", + "Code": "Record.RenameFields(\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", UnitPrice = 100.0],\r\n {\"UnitPrice\", \"Price\"}\r\n)", + "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0]" + }, + { + "Description": "Rename the fields \"UnitPrice\" to \"Price\" and \"OrderNum\" to \"OrderID\" from the record.", + "Code": "Record.RenameFields(\r\n [OrderNum = 1, CustomerID = 1, Item = \"Fishing rod\", UnitPrice = 100.0],\r\n {\r\n {\"UnitPrice\", \"Price\"},\r\n {\"OrderNum\", \"OrderID\"}\r\n }\r\n)", + "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0]" + } + ] }, "ReturnType": "record", "Parameters": { - "reason": "text", - "message": "text", - "detail": "any", - "parameters": "list" + "record": "record", + "renames": "list", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Excel.ShapeTable", + "Name": "Record.ReorderFields", "Documentation": { - "Documentation.Name": "Excel.ShapeTable", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Values.Implementation", - "Documentation.Examples": [] + "Documentation.Name": "Record.ReorderFields", + "Documentation.Description": "Reorders the field(s) specified into the new order.", + "Documentation.LongDescription": "Returns a record after reordering the fields in record in the order of fields specified in list fieldOrder. Field values are maintained and fields not listed in fieldOrder are left in their original position.", + "Documentation.Category": "Record.Transformations", + "Documentation.Examples": [ + { + "Description": "Reorder some of the fields in the record.", + "Code": "Record.ReorderFields(\r\n [CustomerID = 1, OrderID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n {\"OrderID\", \"CustomerID\"}\r\n)", + "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0]" + } + ] }, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "table": "table", - "options": "record" + "record": "record", + "fieldOrder": "list", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Expression.Constant", + "Name": "Record.SelectFields", "Documentation": { - "Documentation.Name": "Expression.Constant", - "Documentation.Description": "Returns the M source code representation of a constant value.", - "Documentation.LongDescription": "Returns the M source code representation of a constant value.", - "Documentation.Category": "Expression", + "Documentation.Name": "Record.SelectFields", + "Documentation.Description": "Returns a record that contains only the specified fields.", + "Documentation.LongDescription": "Returns a record which includes only the fields specified in list fields from the input record.", + "Documentation.Category": "Record.Selection", "Documentation.Examples": [ { - "Description": "Get the M source code representation of a number value.", - "Code": "Expression.Constant(123)", - "Result": "\"123\"" - }, - { - "Description": "Get the M source code representation of a date value.", - "Code": "Expression.Constant(#date(2035, 01, 02))", - "Result": "\"#date(2035, 1, 2)\"" - }, - { - "Description": "Get the M source code representation of a text value.", - "Code": "Expression.Constant(\"abc\")", - "Result": "\"\"\"abc\"\"\"" + "Description": "Select the fields \"Item\" and \"Price\" in the record.", + "Code": "Record.SelectFields(\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n {\"Item\", \"Price\"}\r\n)", + "Result": "[Item = \"Fishing rod\", Price = 100]" } ] }, - "ReturnType": "text", + "ReturnType": "record", "Parameters": { - "value": "any" + "record": "record", + "fields": "any", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Expression.Evaluate", + "Name": "Record.TransformFields", "Documentation": { - "Documentation.Name": "Expression.Evaluate", - "Documentation.Description": "Returns the result of evaluating an M expression.", - "Documentation.LongDescription": "Returns the result of evaluating an M expression document, with the available identifiers that can be referenced defined by environment.", - "Documentation.Category": "Expression", + "Documentation.Name": "Record.TransformFields", + "Documentation.Description": "Returns a record after applying specified transformations.", + "Documentation.LongDescription": "Returns a record after applying transformations specified in list transformOperations to record.\r\n One or more fields may be transformed at a given time.\r\n
In the case of a single field being transformed, transformOperations is expected to be a list with two items. The first item in transformOperations specifies a field name, and the second item in transformOperations specifies the function to be used for transformation. For example, {\"Quantity\", Number.FromText}
\r\n
In the case of a multiple fields being transformed, transformOperations is expected to be a list of lists, where each inner list is a pair of field name and transformation operation. For example, {{\"Quantity\",Number.FromText},{\"UnitPrice\", Number.FromText}}
", + "Documentation.Category": "Record.Transformations", "Documentation.Examples": [ { - "Description": "Evaluate a simple sum.", - "Code": "Expression.Evaluate(\"1 + 1\")", - "Result": "2" - }, - { - "Description": "Evaluate a more complex sum.", - "Code": "Expression.Evaluate(\"List.Sum({1, 2, 3})\", [List.Sum = List.Sum])", - "Result": "6" + "Description": "Convert \"Price\" field to number.", + "Code": "Record.TransformFields(\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = \"100.0\"],\r\n {\"Price\", Number.FromText}\r\n)", + "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100]" }, { - "Description": "Evaluate the concatenation of a text value with an identifier.", - "Code": "Expression.Evaluate(Expression.Constant(\"\"\"abc\") & \" & \" & Expression.Identifier(\"x\"), [x = \"def\"\"\"])", - "Result": "\"\"\"abcdef\"\"\"" + "Description": "Convert \"OrderID\" and \"Price\" fields to numbers.", + "Code": "Record.TransformFields(\r\n [OrderID = \"1\", CustomerID = 1, Item = \"Fishing rod\", Price = \"100.0\"],\r\n {{\"OrderID\", Number.FromText}, {\"Price\", Number.FromText}}\r\n)", + "Result": "[OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100]" } ] }, - "ReturnType": "any", + "ReturnType": "record", "Parameters": { - "document": "text", - "environment": "record" + "record": "record", + "transformOperations": "list", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Expression.Identifier", + "Name": "Snowflake.Databases", "Documentation": { - "Documentation.Name": "Expression.Identifier", - "Documentation.Description": "Returns the M source code representation of an identifier.", - "Documentation.LongDescription": "Returns the M source code representation of an identifier name.", - "Documentation.Category": "Expression", + "Documentation.Name": "Snowflake", + "Documentation.Caption": "Snowflake", + "Documentation.Description": "Import data from a Snowflake Computing warehouse.", + "Documentation.LongDescription": "Returns a table listing the tables in the Snowflake Computing warehouse located at server. An optional record parameter, options, may be specified to control the following options:\r\n\r\n ", "Documentation.Examples": [ { - "Description": "Get the M source code representation of an identifier.", - "Code": "Expression.Identifier(\"MyIdentifier\")", - "Result": "\"MyIdentifier\"" - }, - { - "Description": "Get the M source code representation of an identifier that contains a space.", - "Code": "Expression.Identifier(\"My Identifier\")", - "Result": "\"#\"\"My Identifier\"\"\"" + "Description": "List the tables in a Snowflake warehouse.", + "Code": "Snowflake.Databases(\"contoso.snowflakecomputing.com\", \"CONTOSO_WH\")" } ] }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "name": "text" + "server": "text", + "warehouse": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "File.Contents", + "Name": "Spark.Tables", "Documentation": { - "Documentation.Name": "File.Contents", - "Documentation.Description": "Returns the contents of the specified file as binary.", - "Documentation.LongDescription": "Returns the contents of the file, path, as binary. The options parameter is currently intended for internal use only.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Spark.Tables", + "Documentation.Caption": "Spark", + "Documentation.Description": "Returns a table listing the tables on the specified Spark cluster.", + "Documentation.LongDescription": "Returns a table listing the tables on the Spark cluster host using protocol. Valid protocols are:\r\nSparkProtocol.Standard, SparkProtocol.Azure, SparkProtocol.HTTP", + "Documentation.Examples": [ + { + "Description": "List the tables in an Azure Spark instance.", + "Code": "Spark.Tables(\"contoso.azurehdinsight.net\", SparkProtocol.Azure)" + } + ] }, - "ReturnType": "binary", + "ReturnType": "table", "Parameters": { - "path": "text", + "server": "text", + "protocol": "SparkProtocol.Type", "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Function.IsDataSource", + "Name": "Splitter.SplitTextByCharacterTransition", "Documentation": { - "Documentation.Name": "Function.IsDataSource", - "Documentation.Description": "Returns whether or not a particular function is considered a data source.", - "Documentation.LongDescription": "Returns whether or not function is considered a data source.", - "Documentation.Category": "Type", - "Documentation.Examples": [] + "Documentation.Name": "Splitter.SplitTextByCharacterTransition", + "Documentation.Description": "Returns a function that splits text into a list of text according to a transition from one kind of character to another. The {0} and {1} parameters can either be a list of characters, or a function that takes a character and returns true/false.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text according to a transition from one kind of character to another. The before and after parameters can either be a list of characters, or a function that takes a character and returns true/false.", + "Documentation.Category": "Splitter", + "Documentation.Examples": [ + { + "Description": "Split the input whenever an upper or lowercase letter is followed by a digit.", + "Code": "Splitter.SplitTextByCharacterTransition({\"A\"..\"Z\", \"a\"..\"z\"}, {\"0\"..\"9\"})(\"Abc123\")", + "Result": "{\"Abc\", \"123\"}" + } + ] }, - "ReturnType": "logical", + "ReturnType": "function", "Parameters": { - "function": "function" + "before": "any", + "after": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Geography.FromWellKnownText", + "Name": "Sql.Database", "Documentation": { - "Documentation.Name": "Geography.FromWellKnownText", - "Documentation.Description": "Translates text representing a geographic value in Well-Known Text (WKT) format into a structured record.", - "Documentation.LongDescription": "Translates text representing a geographic value in Well-Known Text (WKT) format into a structured record. WKT is a standard format defined by the Open Geospatial Consortium (OGC) and is the typical serialization format used by databases including SQL Server.", - "Documentation.Category": "Record.Serialization", + "Documentation.Name": "Sql.Database", + "Documentation.Description": "Returns a table of SQL tables, views, and stored functions from the SQL Server database.", + "Documentation.LongDescription": "Returns a table of SQL tables, views, and stored functions from the SQL Server database database on server server. The port may be optionally specified with the server, separated by a colon or a comma. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "input": "text" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Geography.ToWellKnownText", + "Name": "SqlExpression.ToExpression", "Documentation": { - "Documentation.Name": "Geography.ToWellKnownText", - "Documentation.Description": "Translates a structured geographic point value into its Well-Known Text (WKT) representation.", - "Documentation.LongDescription": "Translates a structured geographic point value into its Well-Known Text (WKT) representation as defined by the Open Geospatial Consortium (OGC), also the serialization format used by many databases including SQL Server.", - "Documentation.Category": "Record.Serialization", + "Documentation.Name": "SqlExpression.ToExpression", + "Documentation.Description": "Converts the provided SQL query to M code. This function is intended for internal use only.", + "Documentation.LongDescription": "Converts the provided sql query to M code, with the available identifiers defined by environment. This function is intended for internal use only.", + "Documentation.Category": "Values.Implementation", "Documentation.Examples": [] }, "ReturnType": "text", "Parameters": { - "input": "record", - "omitSRID": "logical" + "sql": "text", + "environment": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Geometry.FromWellKnownText", + "Name": "Sybase.Database", "Documentation": { - "Documentation.Name": "Geometry.FromWellKnownText", - "Documentation.Description": "Translates text representing a geometric value in Well-Known Text (WKT) format into a structured record.", - "Documentation.LongDescription": "Translates text representing a geometric value in Well-Known Text (WKT) format into a structured record. WKT is a standard format defined by the Open Geospatial Consortium (OGC) and is the typical serialization format used by databases including SQL Server.", - "Documentation.Category": "Record.Serialization", + "Documentation.Name": "Sybase.Database", + "Documentation.Description": "Returns a table of SQL tables and views available in a Sybase database.", + "Documentation.LongDescription": "Returns a table of SQL tables and views available in a Sybase database on server server in the database instance named database. The port may be optionally specified with the server, separated by a colon. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n The record parameter is specified as [option1 = value1, option2 = value2...] or [Query = \"select ...\"] for example.\r\n ", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "input": "text" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Geometry.ToWellKnownText", + "Name": "Table.AddIndexColumn", "Documentation": { - "Documentation.Name": "Geometry.ToWellKnownText", - "Documentation.Description": "Translates a structured geometric point value into its Well-Known Text (WKT) representation.", - "Documentation.LongDescription": "Translates a structured geometric point value into its Well-Known Text (WKT) representation as defined by the Open Geospatial Consortium (OGC), also the serialization format used by many databases including SQL Server.", - "Documentation.Category": "Record.Serialization", - "Documentation.Examples": [] + "Documentation.Name": "Table.AddIndexColumn", + "Documentation.Description": "Appends a column with explicit position values.", + "Documentation.LongDescription": "Appends a column named newColumnName to the table with explicit position values.\r\n An optional value, initialValue, the initial index value. An optional value, increment, specifies how much to increment each index value.", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [ + { + "Description": "Add an index column named \"Index\" to the table.", + "Code": "Table.AddIndexColumn(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Index\"\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Index = 0],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\", Index = 1],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\", Index = 2],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\", Index = 3]\r\n})" + }, + { + "Description": "Add an index column named \"index\", starting at value 10 and incrementing by 5, to the table.", + "Code": "Table.AddIndexColumn(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Index\",\r\n 10,\r\n 5\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Index = 10],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\", Index = 15],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\", Index = 20],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\", Index = 25]\r\n})" + } + ] }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "input": "record", - "omitSRID": "logical" + "table": "table", + "newColumnName": "text", + "initialValue": "number", + "increment": "number", + "columnType": "type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Github.Contents", - "Documentation": {}, - "ReturnType": "any", + "Name": "Table.Column", + "Documentation": { + "Documentation.Name": "Table.Column", + "Documentation.Description": "Returns a specified column of data from the table as a list.", + "Documentation.LongDescription": "Returns the column of data specified by column from the table table as a list.", + "Documentation.Category": "Table.Column operations", + "Documentation.Examples": [ + { + "Description": "Returns the values from the [Name] column in the table.", + "Code": "Table.Column(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Name\"\r\n)", + "Result": "{\"Bob\", \"Jim\", \"Paul\", \"Ringo\"}" + } + ] + }, + "ReturnType": "list", "Parameters": { - "url": "text" + "table": "table", + "column": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Github.PagedTable", - "Documentation": {}, - "ReturnType": "any", + "Name": "Table.ColumnsOfType", + "Documentation": { + "Documentation.Name": "Table.ColumnsOfType", + "Documentation.Description": "Returns a list with the names of the columns that match the specified types.", + "Documentation.LongDescription": "Returns a list with the names of the columns from table table that match the types specified in listOfTypes.", + "Documentation.Category": "Table.Column operations", + "Documentation.Examples": [ + { + "Description": "Return the names of columns of type Number.Type from the table.", + "Code": "Table.ColumnsOfType(\r\n Table.FromRecords(\r\n {[a = 1, b = \"hello\"]},\r\n type table[a = Number.Type, b = Text.Type]\r\n ),\r\n {type number}\r\n)", + "Result": "{\"a\"}" + } + ] + }, + "ReturnType": "list", "Parameters": { - "url": "text" + "table": "table", + "listOfTypes": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Graph.Nodes", + "Name": "Table.ConformToPageReader", "Documentation": { - "Documentation.Name": "Graph.Nodes", + "Documentation.Name": "Table.ConformToPageReader", "Documentation.Description": "This function is intended for internal use only.", "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Expression", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "graph": "record" + "table": "table", + "shapingFunction": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Guid.From", + "Name": "Table.Contains", "Documentation": { - "Documentation.Name": "Guid.From", - "Documentation.Description": "Returns a guid value from the given value.", - "Documentation.LongDescription": "Returns a Guid.Type value from the given value. If the given value is null, Guid.From returns null. A check will be performed to determine if the given value is in an acceptable format. Acceptable formats provided in the examples.", - "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Name": "Table.Contains", + "Documentation.Description": "Indicates whether the specified record appears as a row in the table.", + "Documentation.LongDescription": "Indicates whether the specified record, row, appears as a row in the table.\r\n An optional parameter equationCriteria may be specified to control comparison between the rows of the table.", + "Documentation.Category": "Table.Membership", "Documentation.Examples": [ { - "Description": "The Guid can be provided as 32 contiguous hexadecimal digits.", - "Code": "Guid.From(\"05FE1DADC8C24F3BA4C2D194116B4967\")", - "Result": "\"05fe1dad-c8c2-4f3b-a4c2-d194116b4967\"" - }, - { - "Description": "The Guid can be provided as 32 hexadecimal digits separated by hyphens into blocks of 8-4-4-4-12.", - "Code": "Guid.From(\"05FE1DAD-C8C2-4F3B-A4C2-D194116B4967\")", - "Result": "\"05fe1dad-c8c2-4f3b-a4c2-d194116b4967\"" + "Description": "Determine if the table contains the row.", + "Code": "Table.Contains(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n [Name = \"Bob\"]\r\n)", + "Result": "true" }, { - "Description": "The Guid can be provided as 32 hexadecimal digits separated by hyphens and enclosed in braces.", - "Code": "Guid.From(\"{05FE1DAD-C8C2-4F3B-A4C2-D194116B4967}\")", - "Result": "\"05fe1dad-c8c2-4f3b-a4c2-d194116b4967\"" + "Description": "Determine if the table contains the row.", + "Code": "Table.Contains(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n [Name = \"Ted\"]\r\n)", + "Result": "false" }, { - "Description": "The Guid can be provided as 32 hexadecimal digits separated by hyphens and enclosed by parentheses.", - "Code": "Guid.From(\"(05FE1DAD-C8C2-4F3B-A4C2-D194116B4967)\")", - "Result": "\"05fe1dad-c8c2-4f3b-a4c2-d194116b4967\"" + "Description": "Determine if the table contains the row comparing only the column [Name].", + "Code": "Table.Contains(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n [CustomerID = 4, Name = \"Bob\"],\r\n \"Name\"\r\n)", + "Result": "true" } ] }, - "ReturnType": "text", - "Parameters": { - "value": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "HexagonSmartApi.GetODataMetadata", - "Documentation": {}, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "url": "Uri.Type", - "includeAnnotations": "logical" + "table": "table", + "row": "record", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Int16.From", + "Name": "Table.ContainsAll", "Documentation": { - "Documentation.Name": "Int16.From", - "Documentation.Description": "Creates a 16-bit integer from the given value.", - "Documentation.LongDescription": "Returns a 16-bit integer number value from the given value. If the given value is null, Int16.From returns null. If the given value is number within the range of 16-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "Table.ContainsAll", + "Documentation.Description": "Indicates whether all of the specified records appear as rows in the table.", + "Documentation.LongDescription": "Indicates whether all the specified records in the list of records rows, appear as rows in the table.\r\n An optional parameter equationCriteria may be specified to control comparison between the rows of the table.", + "Documentation.Category": "Table.Membership", "Documentation.Examples": [ { - "Description": "Get the 16-bit integer number value of \"4\".", - "Code": "Int64.From(\"4\")", - "Result": "4" + "Description": "Determine if the table contains all the rows, comparing only the column [CustomerID].", + "Code": "Table.ContainsAll(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n {\r\n [CustomerID = 1, Name = \"Bill\"],\r\n [CustomerID = 2, Name = \"Fred\"]\r\n },\r\n \"CustomerID\"\r\n)", + "Result": "true" }, { - "Description": "Get the 16-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", - "Code": "Int16.From(\"4.5\", null, RoundingMode.AwayFromZero)", - "Result": "5" + "Description": "Determine if the table contains all the rows.", + "Code": "Table.ContainsAll(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n {\r\n [CustomerID = 1, Name = \"Bill\"],\r\n [CustomerID = 2, Name = \"Fred\"]\r\n }\r\n)", + "Result": "false" } ] }, - "ReturnType": "number", + "ReturnType": "logical", "Parameters": { - "value": "any", - "culture": "text", - "roundingMode": "RoundingMode.Type" + "table": "table", + "rows": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Int32.From", + "Name": "Table.ContainsAny", "Documentation": { - "Documentation.Name": "Int32.From", - "Documentation.Description": "Creates a 32-bit integer from the given value.", - "Documentation.LongDescription": "Returns a 32-bit integer number value from the given value. If the given value is null, Int32.From returns null. If the given value is number within the range of 32-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "Table.ContainsAny", + "Documentation.Description": "Indicates whether any of the specified records appear as rows in the table.", + "Documentation.LongDescription": "Indicates whether any the specified records in the list of records rows, appear as rows in the table.\r\n An optional parameter equationCriteria may be specified to control comparison between the rows of the table.", + "Documentation.Category": "Table.Membership", "Documentation.Examples": [ { - "Description": "Get the 32-bit integer number value of \"4\".", - "Code": "Int32.From(\"4\")", - "Result": "4" + "Description": "Determine if the table ({[a = 1, b = 2], [a = 3, b = 4]}) contains the rows [a = 1, b = 2] or [a = 3, b = 5].", + "Code": "Table.ContainsAny(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n {\r\n [a = 1, b = 2],\r\n [a = 3, b = 5]\r\n }\r\n)", + "Result": "true" }, { - "Description": "Get the 32-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", - "Code": "Int32.From(\"4.5\", null, RoundingMode.AwayFromZero)", - "Result": "5" + "Description": "Determine if the table ({[a = 1, b = 2], [a = 3, b = 4]}) contains the rows [a = 1, b = 3] or [a = 3, b = 5].", + "Code": "Table.ContainsAny(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n {\r\n [a = 1, b = 3],\r\n [a = 3, b = 5]\r\n }\r\n)", + "Result": "false" + }, + { + "Description": "Determine if the table (Table.FromRecords({[a = 1, b = 2], [a = 3, b = 4]})) contains the rows [a = 1, b = 3] or [a = 3, b = 5] comparing only the column [a].", + "Code": "Table.ContainsAny(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n {\r\n [a = 1, b = 3],\r\n [a = 3, b = 5]\r\n },\r\n \"a\"\r\n)", + "Result": "true" } ] }, - "ReturnType": "number", + "ReturnType": "logical", "Parameters": { - "value": "any", - "culture": "text", - "roundingMode": "RoundingMode.Type" + "table": "table", + "rows": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Int64.From", + "Name": "Table.ExpandListColumn", "Documentation": { - "Documentation.Name": "Int64.From", - "Documentation.Description": "Creates a 64-bit integer from the given value.", - "Documentation.LongDescription": "Returns a 64-bit integer number value from the given value. If the given value is null, Int64.From returns null. If the given value is number within the range of 64-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "Table.ExpandListColumn", + "Documentation.Description": "Given a column of lists in a table, create a copy of a row for each value in its list.", + "Documentation.LongDescription": "Given a table, where a column is a list of values, splits the list into a row for each value. Values in the other columns are duplicated in each new row created.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Get the 64-bit integer number value of \"4\".", - "Code": "Int64.From(\"4\")", - "Result": "4" - }, - { - "Description": "Get the 64-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", - "Code": "Int64.From(\"4.5\", null, RoundingMode.AwayFromZero)", - "Result": "5" + "Description": "Split the list column [Name] in the table.", + "Code": "Table.ExpandListColumn(\r\n Table.FromRecords({[Name = {\"Bob\", \"Jim\", \"Paul\"}, Discount = .15]}),\r\n \"Name\"\r\n)", + "Result": "Table.FromRecords({\r\n [Name = \"Bob\", Discount = 0.15],\r\n [Name = \"Jim\", Discount = 0.15],\r\n [Name = \"Paul\", Discount = 0.15]\r\n})" } ] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "value": "any", - "culture": "text", - "roundingMode": "RoundingMode.Type" + "table": "table", + "column": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Int8.From", + "Name": "Table.FillDown", "Documentation": { - "Documentation.Name": "Int8.From", - "Documentation.Description": "Creates a signed 8-bit integer from the given value.", - "Documentation.LongDescription": "Returns a signed 8-bit integer number value from the given value. If the given value is null, Int8.From returns null. If the given value is number within the range of signed 8-bit integer without a fractional part, value is returned. If it has fractional part, then the number is rounded with the rounding mode specified. The default rounding mode is RoundingMode.ToEven. If value is of any other type, it will first be converted to a number using Number.FromText. Refer to Number.Round for the available rounding modes. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "Table.FillDown", + "Documentation.Description": "Propagates the value of a previous cell to the null-valued cells below in the column.", + "Documentation.LongDescription": "Returns a table from the table specified where the value of a previous cell is propagated to the null-valued cells below in the columns specified.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Get the signed 8-bit integer number value of \"4\".", - "Code": "Int8.From(\"4\")", - "Result": "4" - }, - { - "Description": "Get the signed 8-bit integer number value of \"4.5\" using RoundingMode.AwayFromZero.", - "Code": "Int8.From(\"4.5\", null, RoundingMode.AwayFromZero)", - "Result": "5" + "Description": "Return a table with the null values in column [Place] filled with the value above them from the table.", + "Code": "Table.FillDown(\r\n Table.FromRecords({\r\n [Place = 1, Name = \"Bob\"],\r\n [Place = null, Name = \"John\"],\r\n [Place = 2, Name = \"Brad\"],\r\n [Place = 3, Name = \"Mark\"],\r\n [Place = null, Name = \"Tom\"],\r\n [Place = null, Name = \"Adam\"]\r\n }),\r\n {\"Place\"}\r\n)", + "Result": "Table.FromRecords({\r\n [Place = 1, Name = \"Bob\"],\r\n [Place = 1, Name = \"John\"],\r\n [Place = 2, Name = \"Brad\"],\r\n [Place = 3, Name = \"Mark\"],\r\n [Place = 3, Name = \"Tom\"],\r\n [Place = 3, Name = \"Adam\"]\r\n})" } ] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "value": "any", - "culture": "text", - "roundingMode": "RoundingMode.Type" + "table": "table", + "columns": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "ItemExpression.From", + "Name": "Table.FillUp", "Documentation": { - "Documentation.Name": "ItemExpression.From", - "Documentation.Description": "Returns the abstract syntax tree (AST) for the body of a function.", - "Documentation.LongDescription": "

Returns the abstract syntax tree (AST) for the body of function, normalized into an item expression:\r\n

\r\n

\r\n

An error is raised if an item expression AST cannot be returned for the body of function.

", - "Documentation.Category": "Table.Table construction", + "Documentation.Name": "Table.FillUp", + "Documentation.Description": "Propagates the value of a cell to the null-valued cells above in the column.", + "Documentation.LongDescription": "Returns a table from the table specified where the value of the next cell is propagated to the null-valued cells above in the columns specified.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Returns the AST for the body of the function each _ <> null", - "Code": "ItemExpression.From(each _ <> null)", - "Result": "[\r\n Kind = \"Binary\",\r\n Operator = \"NotEquals\",\r\n Left = ItemExpression.Item,\r\n Right =\r\n [\r\n Kind = \"Constant\",\r\n Value = null\r\n ]\r\n]" + "Description": "Return a table with the null values in column [Column2] filled with the value below them from the table.", + "Code": "Table.FillUp(\r\n Table.FromRecords({\r\n [Column1 = 1, Column2 = 2],\r\n [Column1 = 3, Column2 = null],\r\n [Column1 = 5, Column2 = 3]\r\n }),\r\n {\"Column2\"}\r\n)", + "Result": "Table.FromRecords({\r\n [Column1 = 1, Column2 = 2],\r\n [Column1 = 3, Column2 = 3],\r\n [Column1 = 5, Column2 = 3]\r\n})" } ] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "function": "function" + "table": "table", + "columns": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "JamfPro.Contents", - "Documentation": {}, + "Name": "Table.FilterWithDataTable", + "Documentation": { + "Documentation.Name": "Table.FilterWithDataTable", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [] + }, "ReturnType": "any", "Parameters": { - "URL": "Uri.Type" + "table": "table", + "dataTableIdentifier": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Json.Document", + "Name": "Table.FindText", "Documentation": { - "Documentation.Name": "Json.Document", - "Documentation.Description": "Returns the content of the JSON document.", - "Documentation.LongDescription": "Returns the content of the JSON document.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] + "Documentation.Name": "Table.FindText", + "Documentation.Description": "Returns all the rows that contain the given text in the table.", + "Documentation.LongDescription": "Returns the rows in the table table that contain the text text. If the text is not found, an empty table is returned.", + "Documentation.Category": "Table.Row operations", + "Documentation.Examples": [ + { + "Description": "Find the rows in the table that contain \"Bob\".", + "Code": "Table.FindText(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Bob\"\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" + } + ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "jsonText": "any", - "encoding": "TextEncoding.Type" + "table": "table", + "text": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Json.FromValue", + "Name": "Table.FirstN", "Documentation": { - "Documentation.Name": "Json.FromValue", - "Documentation.Description": "Produces a JSON representation of a given value.", - "Documentation.LongDescription": "

Produces a JSON representation of a given value value with a text encoding specified by encoding. If encoding is omitted, UTF8 is used. Values are represented as follows:

\r\n \r\n ", - "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Name": "Table.FirstN", + "Documentation.Description": "Returns the first count rows specified.", + "Documentation.LongDescription": "Returns the first row(s) of the table table, depending on the value of countOrCondition:\r\n ", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Convert a complex value to JSON.", - "Code": "Text.FromBinary(Json.FromValue([A = {1, true, \"3\"}, B = #date(2012, 3, 25)]))", - "Result": "\"{\"\"A\"\":[1,true,\"\"3\"\"],\"\"B\"\":\"\"2012-03-25\"\"}\"" + "Description": "Find the first two rows of the table.", + "Code": "Table.FirstN(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n }),\r\n 2\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n})" + }, + { + "Description": "Find the first rows where [a] > 0 in the table.", + "Code": "Table.FirstN(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4],\r\n [a = -5, b = -6]\r\n }),\r\n each [a] > 0\r\n)", + "Result": "Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n})" } ] }, - "ReturnType": "binary", + "ReturnType": "table", "Parameters": { - "value": "any", - "encoding": "TextEncoding.Type" + "table": "table", + "countOrCondition": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Kusto.Databases", - "Documentation": {}, - "ReturnType": "list", + "Name": "Table.FromPartitions", + "Documentation": { + "Documentation.Name": "Table.FromPartitions", + "Documentation.Description": "Returns a table that is the result of combining a set of partitioned tables.", + "Documentation.LongDescription": "Returns a table that is the result of combining a set of partitioned tables, partitions. partitionColumn is the name of the column to add. The type of the column defaults to any, but can be specified by partitionColumnType.", + "Documentation.Category": "Table.Row operations", + "Documentation.Examples": [ + { + "Description": "Find item type from the list {number}.", + "Code": "Table.FromPartitions(\r\n \"Year\",\r\n {\r\n {\r\n 1994,\r\n Table.FromPartitions(\r\n \"Month\",\r\n {\r\n {\r\n \"Jan\",\r\n Table.FromPartitions(\r\n \"Day\",\r\n {\r\n {1, #table({\"Foo\"}, {{\"Bar\"}})},\r\n {2, #table({\"Foo\"}, {{\"Bar\"}})}\r\n }\r\n )\r\n },\r\n {\r\n \"Feb\",\r\n Table.FromPartitions(\r\n \"Day\",\r\n {\r\n {3, #table({\"Foo\"}, {{\"Bar\"}})},\r\n {4, #table({\"Foo\"}, {{\"Bar\"}})}\r\n }\r\n )\r\n }\r\n }\r\n )\r\n }\r\n }\r\n)", + "Result": "Table.FromRecords({\r\n [\r\n Foo = \"Bar\",\r\n Day = 1,\r\n Month = \"Jan\",\r\n Year = 1994\r\n ],\r\n [\r\n Foo = \"Bar\",\r\n Day = 2,\r\n Month = \"Jan\",\r\n Year = 1994\r\n ],\r\n [\r\n Foo = \"Bar\",\r\n Day = 3,\r\n Month = \"Feb\",\r\n Year = 1994\r\n ],\r\n [\r\n Foo = \"Bar\",\r\n Day = 4,\r\n Month = \"Feb\",\r\n Year = 1994\r\n ]\r\n})" + } + ] + }, + "ReturnType": "table", "Parameters": { - "cluster": "text", - "options": "record" + "partitionColumn": "text", + "partitions": "list", + "partitionColumnType": "type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Lines.FromBinary", + "Name": "Table.HasColumns", "Documentation": { - "Documentation.Name": "Lines.FromBinary", - "Documentation.Description": "Converts a binary value to a list of text values split at lines breaks. If a quote style is specified, then line breaks may appear within quotes. If includeLineSeparators is true, then the line break characters are included in the text.", - "Documentation.LongDescription": "Converts a binary value to a list of text values split at lines breaks. If a quote style is specified, then line breaks may appear within quotes. If includeLineSeparators is true, then the line break characters are included in the text.", - "Documentation.Category": "Lines", - "Documentation.Examples": [] + "Documentation.Name": "Table.HasColumns", + "Documentation.Description": "Indicates whether the table contains the specified column(s).", + "Documentation.LongDescription": "Indicates whether the table contains the specified column(s), columns. Returns true if the table contains the column(s), false otherwise.", + "Documentation.Category": "Table.Column operations", + "Documentation.Examples": [ + { + "Description": "Determine if the table has the column [Name].", + "Code": "Table.HasColumns(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Name\"\r\n)", + "Result": "true" + }, + { + "Description": "Find if the table has the column [Name] and [PhoneNumber].", + "Code": "Table.HasColumns(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n {\"Name\", \"PhoneNumber\"}\r\n)", + "Result": "false" + } + ] }, - "ReturnType": "list", + "ReturnType": "logical", "Parameters": { - "binary": "binary", - "quoteStyle": "QuoteStyle.Type", - "includeLineSeparators": "logical", - "encoding": "TextEncoding.Type" + "table": "table", + "columns": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Lines.FromText", + "Name": "Table.LastN", "Documentation": { - "Documentation.Name": "Lines.FromText", - "Documentation.Description": "Converts a text value to a list of text values split at lines breaks. If includeLineSeparators is true, then the line break characters are included in the text.", - "Documentation.LongDescription": "Converts a text value to a list of text values split at lines breaks. If includeLineSeparators is true, then the line break characters are included in the text.\r\n
\r\n \r\n
\r\n ", - "Documentation.Category": "Lines", - "Documentation.Examples": [] + "Documentation.Name": "Table.LastN", + "Documentation.Description": "Returns the last specified number of rows.", + "Documentation.LongDescription": "Returns the last row(s) from the table, table, depending on the value of countOrCondition:\r\n ", + "Documentation.Category": "Table.Row operations", + "Documentation.Examples": [ + { + "Description": "Find the last two rows of the table.", + "Code": "Table.LastN(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n }),\r\n 2\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n})" + }, + { + "Description": "Find the last rows where [a] > 0 in the table.", + "Code": "Table.LastN(\r\n Table.FromRecords({\r\n [a = -1, b = -2],\r\n [a = 3, b = 4],\r\n [a = 5, b = 6]\r\n }),\r\n each _ [a] > 0\r\n)", + "Result": "Table.FromRecords({\r\n [a = 3, b = 4],\r\n [a = 5, b = 6]\r\n})" + } + ] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "text": "text", - "quoteStyle": "QuoteStyle.Type", - "includeLineSeparators": "logical" + "table": "table", + "countOrCondition": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Lines.ToBinary", + "Name": "Table.MatchesAllRows", "Documentation": { - "Documentation.Name": "Lines.ToBinary", - "Documentation.Description": "Converts a list of text into a binary value using the specified encoding and lineSeparator.The specified lineSeparator is appended to each line. If not specified then the carriage return and line feed characters are used.", - "Documentation.LongDescription": "Converts a list of text into a binary value using the specified encoding and lineSeparator.The specified lineSeparator is appended to each line. If not specified then the carriage return and line feed characters are used.", - "Documentation.Category": "Lines", - "Documentation.Examples": [] + "Documentation.Name": "Table.MatchesAllRows", + "Documentation.Description": "Indicates whether all the rows in the table meet the given condition.", + "Documentation.LongDescription": "Indicates whether all the rows in the table match the given condition. Returns true if all of the rows match, false otherwise.", + "Documentation.Category": "Table.Row operations", + "Documentation.Examples": [ + { + "Description": "Determine whether all of the row values in column [a] are even in the table.", + "Code": "Table.MatchesAllRows(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n }),\r\n each Number.Mod([a], 2) = 0\r\n)", + "Result": "true" + }, + { + "Description": "Find if all of the row values are [a = 1, b = 2], in the table ({[a = 1, b = 2], [a = 3, b = 4]}).", + "Code": "Table.MatchesAllRows(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = -3, b = 4]\r\n }),\r\n each _ = [a = 1, b = 2]\r\n)", + "Result": "false" + } + ] }, - "ReturnType": "binary", + "ReturnType": "logical", "Parameters": { - "lines": "list", - "lineSeparator": "text", - "encoding": "TextEncoding.Type", - "includeByteOrderMark": "logical" + "table": "table", + "condition": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Lines.ToText", + "Name": "Table.MatchesAnyRows", "Documentation": { - "Documentation.Name": "Lines.ToText", - "Documentation.Description": "Converts a list of text into a single text. The specified lineSeparator is appended to each line. If not specified then the carriage return and line feed characters are used.", - "Documentation.LongDescription": "Converts a list of text into a single text. The specified lineSeparator is appended to each line. If not specified then the carriage return and line feed characters are used.", - "Documentation.Category": "Lines", - "Documentation.Examples": [] + "Documentation.Name": "Table.MatchesAnyRows", + "Documentation.Description": "Indicates whether any the rows in the table meet the given condition.", + "Documentation.LongDescription": "Indicates whether any the rows in the table match the given condition. Returns true if any of the rows match, false otherwise.", + "Documentation.Category": "Table.Row operations", + "Documentation.Examples": [ + { + "Description": "Determine whether any of the row values in column [a] are even in the table ({[a = 2, b = 4], [a = 6, b = 8]}).", + "Code": "Table.MatchesAnyRows(\r\n Table.FromRecords({\r\n [a = 1, b = 4],\r\n [a = 3, b = 8]\r\n }),\r\n each Number.Mod([a], 2) = 0\r\n)", + "Result": "false" + }, + { + "Description": "Determine whether any of the row values are [a = 1, b = 2], in the table ({[a = 1, b = 2], [a = 3, b = 4]}).", + "Code": "Table.MatchesAnyRows(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = -3, b = 4]\r\n }),\r\n each _ = [a = 1, b = 2]\r\n)", + "Result": "true" + } + ] }, - "ReturnType": "text", + "ReturnType": "logical", "Parameters": { - "lines": "list", - "lineSeparator": "text" + "table": "table", + "condition": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.AllTrue", + "Name": "Table.Max", "Documentation": { - "Documentation.Name": "List.AllTrue", - "Documentation.Description": "Returns true if all expressions are true.", - "Documentation.LongDescription": "Returns true if all expressions in the list list are true.", - "Documentation.Category": "List.Membership functions", + "Documentation.Name": "Table.Max", + "Documentation.Description": "Returns the largest row or default value using the given criteria.", + "Documentation.LongDescription": "Returns the largest row in the table, given the comparisonCriteria. If the table is empty, the optional default value is returned. ", + "Documentation.Category": "Table.Ordering", "Documentation.Examples": [ { - "Description": "Determine if all the expressions in the list {true, true, 2 > 0} are true.", - "Code": "List.AllTrue({true, true, 2 > 0})", - "Result": "true" + "Description": "Find the row with the largest value in column [a] in the table ({[a = 2, b = 4], [a = 6, b = 8]}).", + "Code": "Table.Max(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n }),\r\n \"a\"\r\n)", + "Result": "[a = 6, b = 8]" }, { - "Description": "Determine if all the expressions in the list {true, true, 2 < 0} are true.", - "Code": "List.AllTrue({true, false, 2 < 0})", - "Result": "false" + "Description": "Find the row with the largest value in column [a] in the table ({}). Return -1 if empty.", + "Code": "Table.Max(#table({\"a\"}, {}), \"a\", -1)", + "Result": "-1" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "list": "list" + "table": "table", + "comparisonCriteria": "any", + "default": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.AnyTrue", + "Name": "Table.Min", "Documentation": { - "Documentation.Name": "List.AnyTrue", - "Documentation.Description": "Returns true if any expression is true.", - "Documentation.LongDescription": "Returns true if any expression in the list list is true.", - "Documentation.Category": "List.Membership functions", + "Documentation.Name": "Table.Min", + "Documentation.Description": "Returns the smallest row or a default value using the given criteria.", + "Documentation.LongDescription": "Returns the smallest row in the table, given the comparisonCriteria. If the table is empty, the optional default value is returned.", + "Documentation.Category": "Table.Ordering", "Documentation.Examples": [ { - "Description": "Determine if any of the expressions in the list {true, false, 2 > 0} are true.", - "Code": "List.AnyTrue({true, false, 2>0})", - "Result": "true" + "Description": "Find the row with the smallest value in column [a] in the table.", + "Code": "Table.Min(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n }),\r\n \"a\"\r\n)", + "Result": "[a = 2, b = 4]" }, { - "Description": "Determine if any of the expressions in the list {2 = 0, false, 2 < 0} are true.", - "Code": "List.AnyTrue({2 = 0, false, 2 < 0})", - "Result": "false" + "Description": "Find the row with the smallest value in column [a] in the table. Return -1 if empty.", + "Code": "Table.Min(#table({\"a\"}, {}), \"a\", -1)", + "Result": "-1" } ] }, - "ReturnType": "logical", + "ReturnType": "any", "Parameters": { - "list": "list" + "table": "table", + "comparisonCriteria": "any", + "default": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Average", + "Name": "Table.OnError", "Documentation": { - "Documentation.Name": "List.Average", - "Documentation.Description": "Returns the average of the values. Works with number, date, datetime, datetimezone and duration values.", - "Documentation.LongDescription": "Returns the average value for the items in the list, list. The result is given in the same datatype as the values in the list. Only works with number, date, time, datetime, datetimezone and duration values.\r\n If the list is empty null is returned.", - "Documentation.Category": "List.Averages", + "Documentation.Name": "Table.OnError", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Values.Implementation", + "Documentation.Examples": [] + }, + "ReturnType": "table", + "Parameters": { + "table": "table", + "handler": "function" + }, + "RequiredParameters": "2" + }, + { + "Name": "Table.PositionOf", + "Documentation": { + "Documentation.Name": "Table.PositionOf", + "Documentation.Description": "Returns the position or positions of the row within the table.", + "Documentation.LongDescription": "Returns the row position of the first occurrence of the row in the table specified. Returns -1 if no occurrence is found.\r\n \r\n ", + "Documentation.Category": "Table.Membership", "Documentation.Examples": [ { - "Description": "Find the average of the list of numbers, {3, 4, 6}.", - "Code": "List.Average({3, 4, 6})", - "Result": "4.333333333333333" + "Description": "Find the position of the first occurrence of [a = 2, b = 4] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}).", + "Code": "Table.PositionOf(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n [a = 2, b = 4]\r\n)", + "Result": "0" }, { - "Description": "Find the average of the date values January 1, 2011, January 2, 2011 and January 3, 2011.", - "Code": "List.Average({#date(2011, 1, 1), #date(2011, 1, 2), #date(2011, 1, 3)})", - "Result": "#date(2011, 1, 2)" + "Description": "Find the position of the second occurrence of [a = 2, b = 4] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}).", + "Code": "Table.PositionOf(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n [a = 2, b = 4],\r\n 1\r\n)", + "Result": "2" + }, + { + "Description": "Find the position of all the occurrences of [a = 2, b = 4] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}).", + "Code": "Table.PositionOf(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n [a = 2, b = 4],\r\n Occurrence.All\r\n)", + "Result": "{0, 2}" } ] }, "ReturnType": "any", "Parameters": { - "list": "list", - "precision": "Precision.Type" + "table": "table", + "row": "record", + "occurrence": "any", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Buffer", + "Name": "Table.PositionOfAny", "Documentation": { - "Documentation.Name": "List.Buffer", - "Documentation.Description": "Buffers a list.", - "Documentation.LongDescription": "Buffers the list list in memory. The result of this call is a stable list.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Table.PositionOfAny", + "Documentation.Description": "Returns the position or positions of any of the specified rows within the table.", + "Documentation.LongDescription": "Returns the row(s) position(s) from the table of the first occurrence of the list of rows. Returns -1 if no occurrence is found.\r\n \r\n ", + "Documentation.Category": "Table.Membership", "Documentation.Examples": [ { - "Description": "Create a stable copy of the list {1..10}.", - "Code": "List.Buffer({1..10})", - "Result": "{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}" + "Description": "Find the position of the first occurrence of [a = 2, b = 4] or [a = 6, b = 8] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}).", + "Code": "Table.PositionOfAny(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n {\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n }\r\n)", + "Result": "0" + }, + { + "Description": "Find the position of all the occurrences of [a = 2, b = 4] or [a = 6, b = 8] in the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}.", + "Code": "Table.PositionOfAny(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 6, b = 8],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n {\r\n [a = 2, b = 4],\r\n [a = 6, b = 8]\r\n },\r\n Occurrence.All\r\n)", + "Result": "{0, 1, 2}" } ] }, - "ReturnType": "list", + "ReturnType": "any", "Parameters": { - "list": "list" + "table": "table", + "rows": "list", + "occurrence": "number", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Combine", + "Name": "Table.PrefixColumns", "Documentation": { - "Documentation.Name": "List.Combine", - "Documentation.Description": "Returns a single list by combining multiple lists.", - "Documentation.LongDescription": "Takes a list of lists, lists, and merges them into a single new list.", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Table.PrefixColumns", + "Documentation.Description": "Returns a table where the columns have all been prefixed with the given text.", + "Documentation.LongDescription": "Returns a table where all the column names from the table provided are prefixed with the given text, prefix, plus a period in the form prefix.ColumnName.", + "Documentation.Category": "Table.Column operations", "Documentation.Examples": [ { - "Description": "Combine the two simple lists {1, 2} and {3, 4}.", - "Code": "List.Combine({{1, 2}, {3, 4}})", - "Result": "{\r\n 1,\r\n 2,\r\n 3,\r\n 4\r\n}" - }, - { - "Description": "Combine the two lists, {1, 2} and {3, {4, 5}}, one of which contains a nested list.", - "Code": "List.Combine({{1, 2}, {3, {4, 5}}})", - "Result": "{\r\n 1,\r\n 2,\r\n 3,\r\n {4, 5}\r\n}" + "Description": "Prefix the columns with \"MyTable\" in the table.", + "Code": "Table.PrefixColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n \"MyTable\"\r\n)", + "Result": "Table.FromRecords({[MyTable.CustomerID = 1, MyTable.Name = \"Bob\", MyTable.Phone = \"123-4567\"]})" } ] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "lists": "list" + "table": "table", + "prefix": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Count", + "Name": "Table.Range", "Documentation": { - "Documentation.Name": "List.Count", - "Documentation.Description": "Returns the number of items in the list.", - "Documentation.LongDescription": "Returns the number of items in the list list.", - "Documentation.Category": "List.Information", + "Documentation.Name": "Table.Range", + "Documentation.Description": "Returns the rows beginning at the specified offset.", + "Documentation.LongDescription": "Returns the rows from the table starting at the specified offset. An optional parameter, count, specifies how many rows to return. By default, all the rows after the offset are returned.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Find the number of values in the list {1, 2, 3}.", - "Code": "List.Count({1, 2, 3})", - "Result": "3" + "Description": "Return all the rows starting at offset 1 in the table.", + "Code": "Table.Range(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 1\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" + }, + { + "Description": "Return one row starting at offset 1 in the table.", + "Code": "Table.Range(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 1,\r\n 1\r\n)", + "Result": "Table.FromRecords({[CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]})" } ] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "list": "list" + "table": "table", + "offset": "number", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Distinct", + "Name": "Table.RemoveColumns", "Documentation": { - "Documentation.Name": "List.Distinct", - "Documentation.Description": "Returns a list of values with duplicates removed.", - "Documentation.LongDescription": "Returns a list that contains all the values in list list with duplicates removed. If the list is empty, the result is an empty list.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Table.RemoveColumns", + "Documentation.Description": "Removes the specified columns.", + "Documentation.LongDescription": "Removes the specified columns from the table provided.\r\n If the specified column doesn't exist, an error is raised unless the optional parameter missingField specifies an alternative behavior (for example, MissingField.UseNull or MissingField.Ignore).", + "Documentation.Category": "Table.Column operations", "Documentation.Examples": [ { - "Description": "Remove the duplicates from the list {1, 1, 2, 3, 3, 3}.", - "Code": "List.Distinct({1, 1, 2, 3, 3, 3})", - "Result": "{1, 2, 3}" + "Description": "Remove column [Phone] from the table.", + "Code": "Table.RemoveColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n \"Phone\"\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\"]})" + }, + { + "Description": "Try to remove a non-existent column from the table.", + "Code": "Table.RemoveColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n \"Address\"\r\n)", + "Result": "[Expression.Error] The column 'Address' of the table wasn't found." } ] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "list": "list", - "equationCriteria": "any" + "table": "table", + "columns": "any", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.First", + "Name": "Table.RemoveMatchingRows", "Documentation": { - "Documentation.Name": "List.First", - "Documentation.Description": "Returns the first value of the list or the specified default if empty.", - "Documentation.LongDescription": "Returns the first item in the list list, or the optional default value, defaultValue, if the list is empty.\r\n If the list is empty and a default value is not specified, the function returns null.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Table.RemoveMatchingRows", + "Documentation.Description": "Removes all occurrences of the specified rows from the table.", + "Documentation.LongDescription": "Removes all occurrences of the specified rows from the table.\r\n An optional parameter equationCriteria may be specified to control the comparison between the rows of the table.", + "Documentation.Category": "Table.Membership", "Documentation.Examples": [ { - "Description": "Find the first value in the list {1, 2, 3}.", - "Code": "List.First({1, 2, 3})", - "Result": "1" - }, - { - "Description": "Find the first value in the list {}. If the list is empty, return -1.", - "Code": "List.First({}, -1)", - "Result": "-1" + "Description": "Remove any rows where [a = 1] from the table ({[a = 1, b = 2], [a = 3, b = 4], [a = 1, b = 6]}).", + "Code": "Table.RemoveMatchingRows(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4],\r\n [a = 1, b = 6]\r\n }),\r\n {[a = 1]},\r\n \"a\"\r\n)", + "Result": "Table.FromRecords({[a = 3, b = 4]})" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "list": "list", - "defaultValue": "any" + "table": "table", + "rows": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Intersect", + "Name": "Table.RemoveRows", "Documentation": { - "Documentation.Name": "List.Intersect", - "Documentation.Description": "Returns the intersection of the list values found in the input.", - "Documentation.LongDescription": "Returns the intersection of the list values found in the input list lists. An optional parameter, equationCriteria, can be specified.", - "Documentation.Category": "List.Set operations", + "Documentation.Name": "Table.RemoveRows", + "Documentation.Description": "Removes the specified number of rows.", + "Documentation.LongDescription": "Removes count of rows from the beginning of the table, starting at the offset specified. A default count of 1 is used if the count parameter isn't provided. ", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Find the intersection of the lists {1..5}, {2..6}, {3..7}.", - "Code": "List.Intersect({{1..5}, {2..6}, {3..7}})", - "Result": "{3, 4, 5}" + "Description": "Remove the first row from the table.", + "Code": "Table.RemoveRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 0\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" + }, + { + "Description": "Remove the row at position 1 from the table.", + "Code": "Table.RemoveRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 1\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" + }, + { + "Description": "Remove two rows starting at position 1 from the table.", + "Code": "Table.RemoveRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n 1,\r\n 2\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" } ] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "lists": "list", - "equationCriteria": "any" + "table": "table", + "offset": "number", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.IsDistinct", + "Name": "Table.RenameColumns", "Documentation": { - "Documentation.Name": "List.IsDistinct", - "Documentation.Description": "Indicates whether there are duplicates in the list.", - "Documentation.LongDescription": "Returns a logical value whether there are duplicates in the list list; true if the list is distinct, false if there are duplicate values. ", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Table.RenameColumns", + "Documentation.Description": "Applies rename(s) of the form {old, new}.", + "Documentation.LongDescription": "Performs the given renames to the columns in table table. A replacement operation renames consists of a list of two values, the old column name and new column name, provided in a list.\r\n If the column doesn't exist, an exception is thrown unless the optional parameter missingField specifies an alternative (eg. MissingField.UseNull or MissingField.Ignore).", + "Documentation.Category": "Table.Column operations", "Documentation.Examples": [ { - "Description": "Find if the list {1, 2, 3} is distinct (i.e. no duplicates).", - "Code": "List.IsDistinct({1, 2, 3})", - "Result": "true" + "Description": "Replace the column name \"CustomerNum\" with \"CustomerID\" in the table.", + "Code": "Table.RenameColumns(\r\n Table.FromRecords({[CustomerNum = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"CustomerNum\", \"CustomerID\"}\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" }, { - "Description": "Find if the list {1, 2, 3, 3} is distinct (i.e. no duplicates).", - "Code": "List.IsDistinct({1, 2, 3, 3})", - "Result": "false" + "Description": "Replace the column name \"CustomerNum\" with \"CustomerID\" and \"PhoneNum\" with \"Phone\" in the table.", + "Code": "Table.RenameColumns(\r\n Table.FromRecords({[CustomerNum = 1, Name = \"Bob\", PhoneNum = \"123-4567\"]}),\r\n {\r\n {\"CustomerNum\", \"CustomerID\"},\r\n {\"PhoneNum\", \"Phone\"}\r\n }\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" + }, + { + "Description": "Replace the column name \"NewCol\" with \"NewColumn\" in the table, and ignore if the column doesn't exist.", + "Code": "Table.RenameColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"NewCol\", \"NewColumn\"},\r\n MissingField.Ignore\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" } ] }, - "ReturnType": "logical", + "ReturnType": "table", "Parameters": { - "list": "list", - "equationCriteria": "any" + "table": "table", + "renames": "list", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.IsEmpty", + "Name": "Table.ReorderColumns", "Documentation": { - "Documentation.Name": "List.IsEmpty", - "Documentation.Description": "Returns true if the list is empty.", - "Documentation.LongDescription": "Returns true if the list, list, contains no values (length 0). If the list contains values (length > 0), returns false.", - "Documentation.Category": "List.Information", + "Documentation.Name": "Table.ReorderColumns", + "Documentation.Description": "Returns a table with the columns in the specified order.", + "Documentation.LongDescription": "Returns a table from the input table, with the columns in the order specified by columnOrder. Columns that are not specified in the list will not be reordered.\r\n If the column doesn't exist, an exception is thrown unless the optional parameter missingField specifies an alternative (eg. MissingField.UseNull or MissingField.Ignore).", + "Documentation.Category": "Table.Column operations", "Documentation.Examples": [ { - "Description": "Find if the list {} is empty.", - "Code": "List.IsEmpty({})", - "Result": "true" + "Description": "Switch the order of the columns [Phone] and [Name] in the table.", + "Code": "Table.ReorderColumns(\r\n Table.FromRecords({[CustomerID = 1, Phone = \"123-4567\", Name = \"Bob\"]}),\r\n {\"Name\", \"Phone\"}\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" }, { - "Description": "Find if the list {1, 2} is empty.", - "Code": "List.IsEmpty({1, 2})", - "Result": "false" + "Description": "Switch the order of the columns [Phone] and [Address] or use \"MissingField.Ignore\" in the table. It doesn't change the table because column [Address] doesn't exist.", + "Code": "Table.ReorderColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"Phone\", \"Address\"},\r\n MissingField.Ignore\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" } ] }, - "ReturnType": "logical", + "ReturnType": "table", "Parameters": { - "list": "list" + "table": "table", + "columnOrder": "list", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Last", + "Name": "Table.Repeat", "Documentation": { - "Documentation.Name": "List.Last", - "Documentation.Description": "Returns the last value of the list or the specified default if empty.", - "Documentation.LongDescription": "Returns the last item in the list list, or the optional default value, defaultValue, if the list is empty.\r\n If the list is empty and a default value is not specified, the function returns null.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Table.Repeat", + "Documentation.Description": "Repeats the rows of the tables a specified number of times.", + "Documentation.LongDescription": "Returns a table with the rows from the input table repeated the specified count times.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Find the last value in the list {1, 2, 3}.", - "Code": "List.Last({1, 2, 3})", - "Result": "3" - }, - { - "Description": "Find the last value in the list {} or -1 if it empty.", - "Code": "List.Last({}, -1)", - "Result": "-1" + "Description": "Repeat the rows in the table two times.", + "Code": "Table.Repeat(\r\n Table.FromRecords({\r\n [a = 1, b = \"hello\"],\r\n [a = 3, b = \"world\"]\r\n }),\r\n 2\r\n)", + "Result": "Table.FromRecords({\r\n [a = 1, b = \"hello\"],\r\n [a = 3, b = \"world\"],\r\n [a = 1, b = \"hello\"],\r\n [a = 3, b = \"world\"]\r\n})" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "list": "list", - "defaultValue": "any" + "table": "table", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.LastN", + "Name": "Table.ReplaceErrorValues", "Documentation": { - "Documentation.Name": "List.LastN", - "Documentation.Description": "Returns the last value in the list. Can optionally specify how many values to return or a qualifying condition.", - "Documentation.LongDescription": "Returns the last item of the list list. If the list is empty, an exception is thrown.\r\n This function takes an optional parameter, countOrCondition, to support gathering multiple items or filtering items. countOrCondition can be specified in three ways:\r\n ", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Table.ReplaceErrorValues", + "Documentation.Description": "Replaces the error values in the specified columns with the corresponding specified value.", + "Documentation.LongDescription": "Replaces the error values in the specified columns of the table with the new values in the errorReplacement list. The format of the list is {{column1, value1}, …}. There may only be one replacement value per column, specifying the column more than once will result in an error.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Find the last value in the list {3, 4, 5, -1, 7, 8, 2}.", - "Code": "List.LastN({3, 4, 5, -1, 7, 8, 2}, 1)", - "Result": "{2}" + "Description": "Replace the error value with the text \"world\" in the table.", + "Code": "Table.ReplaceErrorValues(\r\n Table.FromRows({{1, \"hello\"}, {3, ...}}, {\"A\", \"B\"}),\r\n {\"B\", \"world\"}\r\n)", + "Result": "Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 3, B = \"world\"]\r\n})" }, { - "Description": "Find the last values in the list {3, 4, 5, -1, 7, 8, 2} that are greater than 0.", - "Code": "List.LastN({3, 4, 5, -1, 7, 8, 2}, each _ > 0)", - "Result": "{7, 8, 2}" + "Description": "Replace the error value in column A with the text \"hello\" and in column B with the text \"world\" in the table.", + "Code": "Table.ReplaceErrorValues(\r\n Table.FromRows({{..., ...}, {1, 2}}, {\"A\", \"B\"}),\r\n {{\"A\", \"hello\"}, {\"B\", \"world\"}}\r\n)", + "Result": "Table.FromRecords({\r\n [A = \"hello\", B = \"world\"],\r\n [A = 1, B = 2]\r\n})" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "list": "list", - "countOrCondition": "any" + "table": "table", + "errorReplacement": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Max", + "Name": "Table.ReplaceKeys", "Documentation": { - "Documentation.Name": "List.Max", - "Documentation.Description": "Returns the maximum value or the default value for an empty list.", - "Documentation.LongDescription": "Returns the maximum item in the list list, or the optional default value default if the list is empty.\r\n An optional comparisonCriteria value, comparisonCriteria, may be specified to determine how to compare the items in the list. If this parameter is null, the default comparer is used.", - "Documentation.Category": "List.Ordering", + "Documentation.Name": "Table.ReplaceKeys", + "Documentation.Description": "Replaces the keys of the specified table.", + "Documentation.LongDescription": "Replaces the keys of the specified table.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Find the max in the list {1, 4, 7, 3, -2, 5}.", - "Code": "List.Max({1, 4, 7, 3, -2, 5}, 1)", - "Result": "7" - }, - { - "Description": "Find the max in the list {} or return -1 if it is empty. ", - "Code": "List.Max({}, -1)", - "Result": "-1" + "Description": "Replace the existing keys of a table.", + "Code": "let\r\n table = Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n }),\r\n tableWithKeys = Table.AddKey(table, {\"Id\"}, true),\r\n resultTable = Table.ReplaceKeys(tableWithKeys, {[Columns = {\"Id\"}, Primary = false]})\r\nin\r\n resultTable", + "Result": "Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n})" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "list": "list", - "default": "any", - "comparisonCriteria": "any", - "includeNulls": "logical" + "table": "table", + "keys": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Median", + "Name": "Table.ReplaceMatchingRows", "Documentation": { - "Documentation.Name": "List.Median", - "Documentation.Description": "Returns the median value in the list.", - "Documentation.LongDescription": "Returns the median item of the list list. This function returns null if the list contains no non-null values.\r\n If there is an even number of items, the function chooses the smaller of the two median items unless the list is\r\n comprised entirely of datetimes, durations, numbers or times, in which case it returns the average of the two items.", - "Documentation.Category": "List.Ordering", + "Documentation.Name": "Table.ReplaceMatchingRows", + "Documentation.Description": "Replaces all the specified rows with the provided row(s).", + "Documentation.LongDescription": "Replaces all the specified rows in the table with the provided ones. The rows to replace and the replacements are specified in replacements, using {old, new} formatting.\r\n An optional equationCriteria parameter may be specified to control comparison between the rows of the table.", + "Documentation.Category": "Table.Membership", "Documentation.Examples": [ { - "Description": "Find the median of the list {5, 3, 1, 7, 9}.", - "Code": "List.Median({5, 3, 1, 7, 9})", - "Result": "5" + "Description": "Replace the rows [a = 1, b = 2] and [a = 2, b = 3] with [a = -1, b = -2],[a = -2, b = -3] in the table.", + "Code": "Table.ReplaceMatchingRows(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 2, b = 3],\r\n [a = 3, b = 4],\r\n [a = 1, b = 2]\r\n }),\r\n {\r\n {[a = 1, b = 2], [a = -1, b = -2]},\r\n {[a = 2, b = 3], [a = -2, b = -3]}\r\n }\r\n)", + "Result": "Table.FromRecords({\r\n [a = -1, b = -2],\r\n [a = -2, b = -3],\r\n [a = 3, b = 4],\r\n [a = -1, b = -2]\r\n})" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "list": "list", - "comparisonCriteria": "any" + "table": "table", + "replacements": "list", + "equationCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Min", + "Name": "Table.ReplaceRelationshipIdentity", "Documentation": { - "Documentation.Name": "List.Min", - "Documentation.Description": "Returns the minimum value or the default value for an empty list.", - "Documentation.LongDescription": "Returns the minimum item in the list list, or the optional default value default if the list is empty.\r\n An optional comparisonCriteria value, comparisonCriteria, may be specified to determine how to compare the items in the list. If this parameter is null, the default comparer is used.", - "Documentation.Category": "List.Ordering", - "Documentation.Examples": [ - { - "Description": "Find the min in the list {1, 4, 7, 3, -2, 5}.", - "Code": "List.Min({1, 4, 7, 3, -2, 5})", - "Result": "-2" - }, - { - "Description": "Find the min in the list {} or return -1 if it is empty. ", - "Code": "List.Min({}, -1)", - "Result": "-1" - } - ] + "Documentation.Name": "Table.ReplaceRelationshipIdentity", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [] }, "ReturnType": "any", "Parameters": { - "list": "list", - "default": "any", - "comparisonCriteria": "any", - "includeNulls": "logical" + "value": "any", + "identity": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Mode", + "Name": "Table.SelectColumns", "Documentation": { - "Documentation.Name": "List.Mode", - "Documentation.Description": "Returns the most frequent value in the list.", - "Documentation.LongDescription": "Returns the item that appears most frequently in the list, list. If the list is empty an exception is thrown. If multiple items appear with the same maximum frequency, the last one is chosen.\r\n An optional comparisonCriteria value, equationCriteria, can be specified to control equality testing. ", - "Documentation.Category": "List.Averages", + "Documentation.Name": "Table.SelectColumns", + "Documentation.Description": "Returns a table with only the specified columns.", + "Documentation.LongDescription": "Returns the table with only the specified columns.\r\n \r\n ", + "Documentation.Category": "Table.Column operations", "Documentation.Examples": [ { - "Description": "Find the item that appears most frequently in the list {\"A\", 1, 2, 3, 3, 4, 5}.", - "Code": "List.Mode({\"A\", 1, 2, 3, 3, 4, 5})", - "Result": "3" + "Description": "Only include column [Name].", + "Code": "Table.SelectColumns(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"Name\"\r\n)", + "Result": "Table.FromRecords({\r\n [Name = \"Bob\"],\r\n [Name = \"Jim\"],\r\n [Name = \"Paul\"],\r\n [Name = \"Ringo\"]\r\n})" }, { - "Description": "Find the item that appears most frequently in the list {\"A\", 1, 2, 3, 3, 4, 5, 5}.", - "Code": "List.Mode({\"A\", 1, 2, 3, 3, 4, 5, 5})", - "Result": "5" + "Description": "Only include columns [CustomerID] and [Name].", + "Code": "Table.SelectColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"CustomerID\", \"Name\"}\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\"]})" + }, + { + "Description": "If the included column does not exist, the default result is an error.", + "Code": "Table.SelectColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n \"NewColumn\"\r\n)", + "Result": "[Expression.Error] The field 'NewColumn' of the record wasn't found." + }, + { + "Description": "If the included column does not exist, option MissingField.UseNull creates a column of null values.", + "Code": "Table.SelectColumns(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n {\"CustomerID\", \"NewColumn\"},\r\n MissingField.UseNull\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, NewColumn = null]})" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "list": "list", - "equationCriteria": "any" + "table": "table", + "columns": "any", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Modes", + "Name": "Table.SelectRows", "Documentation": { - "Documentation.Name": "List.Modes", - "Documentation.Description": "Returns a list of the most frequent values in the list.", - "Documentation.LongDescription": "Returns the item that appears most frequently in the list, list. If the list is empty an exception is thrown. If multiple items appear with the same maximum frequency, the last one is chosen.\r\n An optional comparisonCriteria value, equationCriteria, can be specified to control equality testing. ", - "Documentation.Category": "List.Averages", + "Documentation.Name": "Table.SelectRows", + "Documentation.Description": "Selects the rows that meet the condition function.", + "Documentation.LongDescription": "Returns a table of rows from the table, that matches the selection condition.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Find the items that appears most frequently in the list {\"A\", 1, 2, 3, 3, 4, 5, 5}.", - "Code": "List.Modes({\"A\", 1, 2, 3, 3, 4, 5, 5})", - "Result": "{3, 5}" + "Description": "Select the rows in the table where the values in [CustomerID] column are greater than 2.", + "Code": "Table.SelectRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n each [CustomerID] > 2\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" + }, + { + "Description": "Select the rows in the table where the names do not contain a \"B\".", + "Code": "Table.SelectRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n each not Text.Contains([Name], \"B\")\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n})" } ] }, - "ReturnType": "list", - "Parameters": { - "list": "list", - "equationCriteria": "any" - }, - "RequiredParameters": "1" - }, - { - "Name": "List.NonNullCount", - "Documentation": { - "Documentation.Name": "List.NonNullCount", - "Documentation.Description": "Returns the number of non-null items in the list.", - "Documentation.LongDescription": "Returns the number of non-null items in the list list.", - "Documentation.Category": "List.Information", - "Documentation.Examples": [] - }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "list": "list" + "table": "table", + "condition": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Positions", + "Name": "Table.Sort", "Documentation": { - "Documentation.Name": "List.Positions", - "Documentation.Description": "Returns a list of offsets for the input.", - "Documentation.LongDescription": "Returns a list of offsets for the input list list.\r\n When using List.Transform to change a list, the list of positions can be used to give the transform access to the position.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Table.Sort", + "Documentation.Description": "Sorts the table using one or more column names and comparison criteria.", + "Documentation.LongDescription": "Sorts the table using the list of one or more column names and optional comparisonCriteria in the form { { col1, comparisonCriteria }, {col2} }.", + "Documentation.Category": "Table.Ordering", "Documentation.Examples": [ { - "Description": "Find the offsets of values in the list {1, 2, 3, 4, null, 5}.", - "Code": "List.Positions({1, 2, 3, 4, null, 5})", - "Result": "{0, 1, 2, 3, 4, 5}" + "Description": "Sort the table on column \"OrderID\".", + "Code": "Table.Sort(\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200.0],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2.0],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20.0],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100.0],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n }),\r\n {\"OrderID\"}\r\n)", + "Result": "Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n})" + }, + { + "Description": "Sort the table on column \"OrderID\" in descending order.", + "Code": "Table.Sort(\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200.0],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2.0],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20.0],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100.0],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n }),\r\n {\"OrderID\", Order.Descending}\r\n)", + "Result": "Table.FromRecords({\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5],\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100]\r\n})" + }, + { + "Description": "Sort the table on column \"CustomerID\" then \"OrderID\", with \"CustomerID\" being in ascending order.", + "Code": "Table.Sort(\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200.0],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2.0],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20.0],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100.0],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n }),\r\n {\r\n {\"CustomerID\", Order.Ascending},\r\n \"OrderID\"\r\n }\r\n)", + "Result": "Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25],\r\n [OrderID = 8, CustomerID = 5, Item = \"Fishing Rod\", Price = 100],\r\n [OrderID = 9, CustomerID = 6, Item = \"Bait\", Price = 3.25]\r\n})" } ] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "list": "list" + "table": "table", + "comparisonCriteria": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Product", + "Name": "Table.Split", "Documentation": { - "Documentation.Name": "List.Product", - "Documentation.Description": "Returns the product of the numbers in the list.", - "Documentation.LongDescription": "Returns the product of the non-null numbers in the list, numbersList. Returns null if there are no non-null values in the list.", - "Documentation.Category": "List.Numerics", + "Documentation.Name": "Table.Split", + "Documentation.Description": "Splits the specified table into a list of tables using the specified page size.", + "Documentation.LongDescription": "Splits table into a list of tables where the first element of the list is a table containing the first pageSize rows from\r\n the source table, the next element of the list is a table containing the next pageSize rows from the source table, and so on.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Find the product of the numbers in the list {1, 2, 3, 3, 4, 5, 5}.", - "Code": "List.Product({1, 2, 3, 3, 4, 5, 5})", - "Result": "1800" + "Description": "Split a table of five records into tables with two records each.", + "Code": "let\r\n Customers = Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Cristina\", Phone = \"232-1550\"],\r\n [CustomerID = 5, Name = \"Anita\", Phone = \"530-1459\"]\r\n })\r\nin\r\n Table.Split(Customers, 2)", + "Result": "{\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n }),\r\n Table.FromRecords({\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Cristina\", Phone = \"232-1550\"]\r\n }),\r\n Table.FromRecords({\r\n [CustomerID = 5, Name = \"Anita\", Phone = \"530-1459\"]\r\n })\r\n}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "numbersList": "list", - "precision": "Precision.Type" + "table": "table", + "pageSize": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Random", + "Name": "Table.SplitAt", "Documentation": { - "Documentation.Name": "List.Random", - "Documentation.Description": "Returns a list of random numbers.", - "Documentation.LongDescription": "Returns a list of random numbers between 0 and 1, given the number of values to generate and an optional seed value.\r\n", - "Documentation.Category": "List.Generators", + "Documentation.Name": "Table.SplitAt", + "Documentation.Description": "Returns a list containing the first count rows specified and the remaining rows.", + "Documentation.LongDescription": "Returns a list containing two tables: a table with the first N rows of table (as specified by count) and a table containing the remaining rows of table.\r\n\r\nIf the tables of the resulting list are enumerated exactly once and in order, the function will enumerate table only once.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Create a list of 3 random numbers.", - "Code": "List.Random(3)", - "Result": "{0.992332, 0.132334, 0.023592}" - }, - { - "Description": "Create a list of 3 random numbers, specifying seed value.", - "Code": "List.Random(3, 2)", - "Result": "{0.883002, 0.245344, 0.723212}" + "Description": "Return the first two rows of the table and the remaining rows of the table.", + "Code": "Table.SplitAt(#table({\"a\", \"b\", \"c\"}, {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}), 2)", + "Result": "{\r\n #table({\"a\", \"b\", \"c\"}, {{1, 2, 3}, {4, 5, 6}}),\r\n #table({\"a\", \"b\", \"c\"}, {{7, 8, 9}})\r\n}" } ] }, "ReturnType": "list", "Parameters": { - "count": "number", - "seed": "number" + "table": "table", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.RemoveFirstN", + "Name": "Table.TransformColumnNames", "Documentation": { - "Documentation.Name": "List.RemoveFirstN", - "Documentation.Description": "Returns a list that skips the specified number of elements at the beginning of the list.", - "Documentation.LongDescription": "Returns a list that removes the first element of list list. If list is an empty list an empty list is returned.\r\nThis function takes an optional parameter, countOrCondition, to support removing multiple values as listed below.\r\n ", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Table.TransformColumnNames", + "Documentation.Description": "Transforms column names by using the given function.", + "Documentation.LongDescription": "Transforms column names by using the given nameGenerator function. Valid options:\r\n
\r\n MaxLength specifies the maximum length of new column names. If the given function results with a longer column name, the long name will be trimmed.\r\n
\r\n
\r\n Comparer is used to control the comparison while generating new column names. Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n \r\n ", + "Documentation.Category": "Table.Column operations", "Documentation.Examples": [ { - "Description": "Create a list from {1, 2, 3, 4, 5} without the first 3 numbers.", - "Code": "List.RemoveFirstN({1, 2, 3, 4, 5}, 3)", - "Result": "{4, 5}" + "Description": "Remove the #(tab) character from column names", + "Code": "Table.TransformColumnNames(Table.FromRecords({[#\"Col#(tab)umn\" = 1]}), Text.Clean)", + "Result": "Table.FromRecords({[Column = 1]})" }, { - "Description": "Create a list from {5, 4, 2, 6, 1} that starts with a number less than 3.", - "Code": "List.RemoveFirstN({5, 4, 2, 6, 1}, each _ > 3)", - "Result": "{2, 6, 1}" + "Description": "Transform column names to generate case-insensitive names of length 6.", + "Code": "Table.TransformColumnNames(\r\n Table.FromRecords({[ColumnNum = 1, cOlumnnum = 2, coLumnNUM = 3]}),\r\n Text.Clean,\r\n [MaxLength = 6, Comparer = Comparer.OrdinalIgnoreCase]\r\n)", + "Result": "Table.FromRecords({[Column = 1, cOlum1 = 2, coLum2 = 3]})" } ] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "list": "list", - "countOrCondition": "any" + "table": "table", + "nameGenerator": "function", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.RemoveLastN", + "Name": "Table.TransformColumnTypes", "Documentation": { - "Documentation.Name": "List.RemoveLastN", - "Documentation.Description": "Returns a list that removes the specified number of elements from the end of the list.", - "Documentation.LongDescription": "Returns a list that removes the last countOrCondition elements from the end of list list. If list has less than countOrCondition elements, an empty list is returned.\r\n ", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Table.TransformColumnTypes", + "Documentation.Description": "Applies type transformation(s) of the form { column, type } using a specific culture.", + "Documentation.LongDescription": "Returns a table from the input table by applying the transform operation to the columns specified in the parameter typeTransformations (where format is { column name, type name}), using the specified culture in the optional parameter culture (for example, \"en-US\").\r\n If the column doesn't exist, an exception is thrown.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Create a list from {1, 2, 3, 4, 5} without the last 3 numbers.", - "Code": "List.RemoveLastN({1, 2, 3, 4, 5}, 3)", - "Result": "{1, 2}" - }, - { - "Description": "Create a list from {5, 4, 2, 6, 4} that ends with a number less than 3.", - "Code": "List.RemoveLastN({5, 4, 2, 6, 4}, each _ > 3)", - "Result": "{5, 4, 2}" + "Description": "Transform the number values in column [a] to text values from the table ({[a = 1, b = 2], [a = 3, b = 4]}).", + "Code": "Table.TransformColumnTypes(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n {\"a\", type text},\r\n \"en-US\"\r\n)", + "Result": "Table.FromRecords({\r\n [a = \"1\", b = 2],\r\n [a = \"3\", b = 4]\r\n})" } ] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "list": "list", - "countOrCondition": "any" + "table": "table", + "typeTransformations": "list", + "culture": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.RemoveNulls", + "Name": "Table.TransformColumns", "Documentation": { - "Documentation.Name": "List.RemoveNulls", - "Documentation.Description": "Removes all \"null\" values from the specified list.", - "Documentation.LongDescription": "Removes all occurrences of \"null\" values in the list. If there are no 'null' values in the list, the original list is returned.", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Table.TransformColumns", + "Documentation.Description": "Transforms the values of one or more columns.", + "Documentation.LongDescription": "Transforms table by applying each column operation listed in transformOperations (where the format is { column name, transformation } or { column name, transformation, new column type }).\r\n If a defaultTransformation is specified, it will be applied to all columns not listed in transformOperations.\r\n If a column listed in transformOperations doesn't exist, an exception is thrown unless the optional parameter missingField specifies an alternative (for example, MissingField.UseNull or MissingField.Ignore).", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Remove the \"null\" values from the list {1, 2, 3, null, 4, 5, null, 6}.", - "Code": "List.RemoveNulls({1, 2, 3, null, 4, 5, null, 6})", - "Result": "{1, 2, 3, 4, 5, 6}" + "Description": "Convert the text values in column [A] to number values, and the number values in column [B] to text values.", + "Code": "Table.TransformColumns(\r\n Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n }),\r\n {\r\n {\"A\", Number.FromText},\r\n {\"B\", Text.From}\r\n }\r\n)", + "Result": "Table.FromRecords({\r\n [A = 1, B = \"2\"],\r\n [A = 5, B = \"10\"]\r\n})" + }, + { + "Description": "Convert the number values in missing column [X] to text values, ignoring columns which don't exist.", + "Code": "Table.TransformColumns(\r\n Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n }),\r\n {\"X\", Number.FromText},\r\n null,\r\n MissingField.Ignore\r\n)", + "Result": "Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n})" + }, + { + "Description": "Convert the number values in missing column [X] to text values, defaulting to null on columns which don't exist.", + "Code": "Table.TransformColumns(\r\n Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n }),\r\n {\"X\", Number.FromText},\r\n null,\r\n MissingField.UseNull\r\n)", + "Result": "Table.FromRecords({\r\n [A = \"1\", B = 2, X = null],\r\n [A = \"5\", B = 10, X = null]\r\n})" + }, + { + "Description": "Increment the number values in column [B] and convert them to text values, and convert all other columns to numbers.", + "Code": "Table.TransformColumns(\r\n Table.FromRecords({\r\n [A = \"1\", B = 2],\r\n [A = \"5\", B = 10]\r\n }),\r\n {\"B\", each Text.From(_ + 1), type text},\r\n Number.FromText\r\n)", + "Result": "Table.FromRecords({\r\n [A = 1, B = \"3\"],\r\n [A = 5, B = \"11\"]\r\n})" } ] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "list": "list" + "table": "table", + "transformOperations": "list", + "defaultTransformation": "function", + "missingField": "MissingField.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Reverse", + "Name": "Table.TransformRows", "Documentation": { - "Documentation.Name": "List.Reverse", - "Documentation.Description": "Reverses the order of values in the list.", - "Documentation.LongDescription": "Returns a list with the values in the list list in reversed order.", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Table.TransformRows", + "Documentation.Description": "Transforms the rows of the table using the specified transform function.", + "Documentation.LongDescription": "Creates a list by applying the transform operation to each row in table.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Create a list from {1..10} in reverse order.", - "Code": "List.Reverse({1..10})", - "Result": "{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}" + "Description": "Transform the rows of a table into a list of numbers.", + "Code": "Table.TransformRows(\r\n Table.FromRecords({\r\n [a = 1],\r\n [a = 2],\r\n [a = 3],\r\n [a = 4],\r\n [a = 5]\r\n }),\r\n each [a]\r\n)", + "Result": "{1, 2, 3, 4, 5}" + }, + { + "Description": "Transform the rows of a numeric table into textual records.", + "Code": "Table.TransformRows(\r\n Table.FromRecords({\r\n [a = 1],\r\n [a = 2],\r\n [a = 3],\r\n [a = 4],\r\n [a = 5]\r\n }),\r\n (row) as record => [B = Number.ToText(row[a])]\r\n)", + "Result": "{\r\n [B = \"1\"],\r\n [B = \"2\"],\r\n [B = \"3\"],\r\n [B = \"4\"],\r\n [B = \"5\"]\r\n}" } ] }, "ReturnType": "list", "Parameters": { - "list": "list" + "table": "table", + "transform": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Single", + "Name": "Table.View", "Documentation": { - "Documentation.Name": "List.Single", - "Documentation.Description": "Returns the one list item for a list of length one, otherwise throws an exception.", - "Documentation.LongDescription": "If there is only one item in the list list, returns that item.\r\n If there is more than one item or the list is empty, the function throws an exception.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Table.View", + "Documentation.Description": "Creates or extends a table with user-defined handlers for query and action operations.", + "Documentation.LongDescription": "

Returns a view of table where the functions specified in handlers are used in lieu of the default behavior of an operation when the operation is applied to the view.

\r\n

If table is provided, all handler functions are optional. If table isn't provided, the GetType and GetRows handler functions are required. If a handler function isn't specified for an operation, the default behavior of the operation is applied to table instead (except in the case of GetExpression).

\r\n

Handler functions must return a value that is semantically equivalent to the result of applying the operation against table (or the resulting view in the case of GetExpression).

\r\n

If a handler function raises an error, the default behavior of the operation is applied to the view.

\r\n

Table.View can be used to implement folding to a data source – the translation of M queries into source-specific queries (for example, to create T-SQL statements from M queries).

\r\n

Refer to the published Power Query custom connector documentation for a more complete description of Table.View.

", + "Documentation.Category": "Table.Table construction", "Documentation.Examples": [ { - "Description": "Find the single value in the list {1}.", - "Code": "List.Single({1})", - "Result": "1" - }, - { - "Description": "Find the single value in the list {1, 2, 3}.", - "Code": "List.Single({1, 2, 3})", - "Result": "[Expression.Error] There were too many elements in the enumeration to complete the operation." + "Description": "Create a basic view that doesn't require accessing the rows in order to determine the type or the row count.", + "Code": "Table.View(\r\n null,\r\n [\r\n GetType = () => type table [CustomerID = number, Name = text, Phone = nullable text],\r\n GetRows = () => Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n GetRowCount = () => 1\r\n ]\r\n)", + "Result": "Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "list": "list" + "table": "table", + "handlers": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.SingleOrDefault", + "Name": "Text.AfterDelimiter", "Documentation": { - "Documentation.Name": "List.SingleOrDefault", - "Documentation.Description": "Returns the one list item for a list of length one and the default value for an empty list.", - "Documentation.LongDescription": "If there is only one item in the list list, returns that item.\r\n If the list is empty, the function returns null unless an optional default is specified. If there is more than one item in the list, the function returns an error.", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Text.AfterDelimiter", + "Documentation.Description": "Text.AfterDelimiter", + "Documentation.LongDescription": "Returns the portion of text after the specified delimiter.\r\n An optional numeric index indicates which occurrence of the delimiter should be considered.\r\n An optional list index indicates which occurrence of the delimiter should be considered, as well as whether indexing should be done from the start or end of the input.", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Find the single value in the list {1}.", - "Code": "List.SingleOrDefault({1})", - "Result": "1" + "Description": "Get the portion of \"111-222-333\" after the (first) hyphen.", + "Code": "Text.AfterDelimiter(\"111-222-333\", \"-\")", + "Result": "\"222-333\"" }, { - "Description": "Find the single value in the list {}.", - "Code": "List.SingleOrDefault({})", - "Result": "null" + "Description": "Get the portion of \"111-222-333\" after the second hyphen.", + "Code": "Text.AfterDelimiter(\"111-222-333\", \"-\", 1)", + "Result": "\"333\"" }, { - "Description": "Find the single value in the list {}. If is empty, return -1.", - "Code": "List.SingleOrDefault({}, -1)", - "Result": "-1" + "Description": "Get the portion of \"111-222-333\" after the second hyphen from the end.", + "Code": "Text.AfterDelimiter(\"111-222-333\", \"-\", {1, RelativePosition.FromEnd})", + "Result": "\"222-333\"" } ] }, "ReturnType": "any", "Parameters": { - "list": "list", - "default": "any" + "text": "text", + "delimiter": "text", + "index": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Skip", + "Name": "Text.At", "Documentation": { - "Documentation.Name": "List.Skip", - "Documentation.Description": "Returns a list that skips the specified number of elements at the beginning of the list.", - "Documentation.LongDescription": "Returns a list that skips the first element of list list. If list is an empty list an empty list is returned.\r\nThis function takes an optional parameter, countOrCondition, to support skipping multiple values as listed below.\r\n ", - "Documentation.Category": "List.Selection", + "Documentation.Name": "Text.At", + "Documentation.Description": "Returns the character at the specified position.", + "Documentation.LongDescription": "Returns the character in the text value, text at position index. The first character in the text is at position 0.", + "Documentation.Category": "Text.Extraction", "Documentation.Examples": [ { - "Description": "Create a list from {1, 2, 3, 4, 5} without the first 3 numbers.", - "Code": "List.Skip({1, 2, 3, 4, 5}, 3)", - "Result": "{4, 5}" - }, - { - "Description": "Create a list from {5, 4, 2, 6, 1} that starts with a number less than 3.", - "Code": "List.Skip({5, 4, 2, 6, 1}, each _ > 3)", - "Result": "{2, 6, 1}" + "Description": "Find the character at position 4 in string \"Hello, World\".", + "Code": "Text.At(\"Hello, World\", 4)", + "Result": "\"o\"" } ] }, - "ReturnType": "list", + "ReturnType": "text", "Parameters": { - "list": "list", - "countOrCondition": "any" + "text": "text", + "index": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Sort", + "Name": "Text.BeforeDelimiter", "Documentation": { - "Documentation.Name": "List.Sort", - "Documentation.Description": "Sorts a list of data according to the criteria specified.", - "Documentation.LongDescription": "Sorts a list of data, list, according to the optional criteria specified.\r\n An optional parameter, comparisonCriteria, can be specified as the comparison criterion. This can take the following values:\r\n ", - "Documentation.Category": "List.Ordering", + "Documentation.Name": "Text.BeforeDelimiter", + "Documentation.Description": "Text.BeforeDelimiter", + "Documentation.LongDescription": "Returns the portion of text before the specified delimiter.\r\n An optional numeric index indicates which occurrence of the delimiter should be considered.\r\n An optional list index indicates which occurrence of the delimiter should be considered, as well as whether indexing should be done from the start or end of the input.", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Sort the list {2, 3, 1}.", - "Code": "List.Sort({2, 3, 1})", - "Result": "{1, 2, 3}" + "Description": "Get the portion of \"111-222-333\" before the (first) hyphen.", + "Code": "Text.BeforeDelimiter(\"111-222-333\", \"-\")", + "Result": "\"111\"" }, { - "Description": "Sort the list {2, 3, 1} in descending order.", - "Code": "List.Sort({2, 3, 1}, Order.Descending)", - "Result": "{3, 2, 1}" + "Description": "Get the portion of \"111-222-333\" before the second hyphen.", + "Code": "Text.BeforeDelimiter(\"111-222-333\", \"-\", 1)", + "Result": "\"111-222\"" }, { - "Description": "Sort the list {2, 3, 1} in descending order using the Value.Compare method.", - "Code": "List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))", - "Result": "{3, 2, 1}" + "Description": "Get the portion of \"111-222-333\" before the second hyphen from the end.", + "Code": "Text.BeforeDelimiter(\"111-222-333\", \"-\", {1, RelativePosition.FromEnd})", + "Result": "\"111\"" } ] }, - "ReturnType": "list", + "ReturnType": "any", "Parameters": { - "list": "list", - "comparisonCriteria": "any" + "text": "text", + "delimiter": "text", + "index": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.StandardDeviation", + "Name": "Text.Contains", "Documentation": { - "Documentation.Name": "List.StandardDeviation", - "Documentation.Description": "Returns a sample based estimate of the standard deviation.", - "Documentation.LongDescription": "Returns a sample based estimate of the standard deviation of the values in the list, numbersList.\r\n If numbersList is a list of numbers, a number is returned.\r\n An exception is thrown on an empty list or a list of items that is not type number.", - "Documentation.Category": "List.Averages", + "Documentation.Name": "Text.Contains", + "Documentation.Description": "Returns whether the text contains the substring.", + "Documentation.LongDescription": "Detects whether text contains the value substring. Returns true if the value is found. This function doesn't support wildcards or regular expressions.\r\n
\r\n
\r\n The optional argument comparer can be used to specify case-insensitive or culture and locale-aware comparisons.\r\n The following built-in comparers are available in the formula language:\r\n ", + "Documentation.Category": "Text.Membership", "Documentation.Examples": [ { - "Description": "Find the standard deviation of the numbers 1 through 5.", - "Code": "List.StandardDeviation({1..5})", - "Result": "1.5811388300841898" - } - ] - }, - "ReturnType": "number", - "Parameters": { - "numbersList": "list" - }, - "RequiredParameters": "1" - }, - { - "Name": "List.Sum", - "Documentation": { - "Documentation.Name": "List.Sum", - "Documentation.Description": "Returns the sum of the items in the list.", - "Documentation.LongDescription": "Returns the sum of the non-null values in the list, list. Returns null if there are no non-null values in the list.", - "Documentation.Category": "List.Addition", - "Documentation.Examples": [ + "Description": "Find if the text \"Hello World\" contains \"Hello\".", + "Code": "Text.Contains(\"Hello World\", \"Hello\")", + "Result": "true" + }, { - "Description": "Find the sum of the numbers in the list {1, 2, 3}.", - "Code": "List.Sum({1, 2, 3})", - "Result": "6" + "Description": "Find if the text \"Hello World\" contains \"hello\".", + "Code": "Text.Contains(\"Hello World\", \"hello\")", + "Result": "false" + }, + { + "Description": "Find if the text \"Hello World\" contains \"hello\", using a case-insensitive comparer.", + "Code": "Text.Contains(\"Hello World\", \"hello\", Comparer.OrdinalIgnoreCase)", + "Result": "true" } ] }, - "ReturnType": "any", + "ReturnType": "logical", "Parameters": { - "list": "list", - "precision": "Precision.Type" + "text": "text", + "substring": "text", + "comparer": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Union", + "Name": "Text.End", "Documentation": { - "Documentation.Name": "List.Union", - "Documentation.Description": "Returns the union of the list values found in the input.", - "Documentation.LongDescription": "Takes a list of lists lists, unions the items in the individual lists and returns them in the output list. As a result, the returned list contains all items in any input lists.\r\n This operation maintains traditional bag semantics, so duplicate values are matched as part of the Union.\r\n An optional equation criteria value, equationCriteria, can be specified to control equality testing. ", - "Documentation.Category": "List.Set operations", + "Documentation.Name": "Text.End", + "Documentation.Description": "Returns the last characters of the text.", + "Documentation.LongDescription": "Returns a text value that is the last count characters of the text value text.", + "Documentation.Category": "Text.Extraction", "Documentation.Examples": [ { - "Description": "Create a union of the list {1..5}, {2..6}, {3..7}.", - "Code": "List.Union({{1..5}, {2..6}, {3..7}})", - "Result": "{1, 2, 3, 4, 5, 6, 7}" + "Description": "Get the last 5 characters of the text \"Hello, World\".", + "Code": "Text.End(\"Hello, World\", 5)", + "Result": "\"World\"" } ] }, - "ReturnType": "list", + "ReturnType": "text", "Parameters": { - "lists": "list", - "equationCriteria": "any" + "text": "text", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "List.Zip", + "Name": "Text.EndsWith", "Documentation": { - "Documentation.Name": "List.Zip", - "Documentation.Description": "Returns a list of lists by combining items at the same position in multiple lists.", - "Documentation.LongDescription": "Takes a list of lists, lists, and returns a list of lists combining items at the same position.", - "Documentation.Category": "List.Transformation functions", + "Documentation.Name": "Text.EndsWith", + "Documentation.Description": "Indicates whether the text ends in the specified value.", + "Documentation.LongDescription": "Indicates whether the given text, text, ends with the specified value, substring. The indication is case sensitive.\r\n\r\n
\r\n comparer is a Comparer which is used to control the comparison. Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n ", + "Documentation.Category": "Text.Membership", "Documentation.Examples": [ { - "Description": "Zips the two simple lists {1, 2} and {3, 4}.", - "Code": "List.Zip({{1, 2}, {3, 4}})", - "Result": "{\r\n {1, 3},\r\n {2, 4}\r\n}" + "Description": "Check if \"Hello, World\" ends with \"world\".", + "Code": "Text.EndsWith(\"Hello, World\", \"world\")", + "Result": "false" }, { - "Description": "Zips the two simple lists of different lengths {1, 2} and {3}.", - "Code": "List.Zip({{1, 2}, {3}})", - "Result": "{\r\n {1, 3},\r\n {2, null}\r\n}" + "Description": "Check if \"Hello, World\" ends with \"World\".", + "Code": "Text.EndsWith(\"Hello, World\", \"World\")", + "Result": "true" } ] }, - "ReturnType": "list", + "ReturnType": "logical", "Parameters": { - "lists": "list" + "text": "text", + "substring": "text", + "comparer": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Logical.From", + "Name": "Text.Format", "Documentation": { - "Documentation.Name": "Logical.From", - "Documentation.Description": "Creates a logical from the given value.", - "Documentation.LongDescription": "Returns a logical value from the given value. If the given value is null, Logical.From returns null. If the given value is logical, value is returned. Values of the following types can be converted to a logical value:\r\n \r\nIf value is of any other type, an error is returned.", - "Documentation.Category": "Logical", + "Documentation.Name": "Text.Format", + "Documentation.Description": "Returns formatted text from a format string and arguments.", + "Documentation.LongDescription": "Returns formatted text that is created by applying arguments from a list or record to a format string formatString. An optional culture may also be provided (for example, \"en-US\").", + "Documentation.Category": "Text.Conversions from and to text", "Documentation.Examples": [ { - "Description": "Convert 2 to a logical value.", - "Code": "Logical.From(2)", - "Result": "true" + "Description": "Format a list of numbers.", + "Code": "Text.Format(\"#{0}, #{1}, and #{2}.\", {17, 7, 22})", + "Result": "\"17, 7, and 22.\"" + }, + { + "Description": "Format different data types from a record according to United States English culture.", + "Code": "Text.Format(\r\n \"The time for the #[distance] km run held in #[city] on #[date] was #[duration].\",\r\n [\r\n city = \"Seattle\",\r\n date = #date(2015, 3, 10),\r\n duration = #duration(0, 0, 54, 40),\r\n distance = 10\r\n ],\r\n \"en-US\"\r\n)", + "Result": "\"The time for the 10 km run held in Seattle on 3/10/2015 was 00:54:40.\"" } ] }, - "ReturnType": "logical", + "ReturnType": "text", "Parameters": { - "value": "any" + "formatString": "text", + "arguments": "any", + "culture": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Logical.FromText", + "Name": "Text.Middle", "Documentation": { - "Documentation.Name": "Logical.FromText", - "Documentation.Description": "Creates a logical value from the text values \"true\" and \"false\".", - "Documentation.LongDescription": "Creates a logical value from the text value text, either \"true\" or \"false\". If text contains a different string, an exception is thrown. The text value text is case insensitive.", - "Documentation.Category": "Logical", + "Documentation.Name": "Text.Middle", + "Documentation.Description": "Returns the substring up to a specific length.", + "Documentation.LongDescription": "Returns count characters, or through the end of text; at the offset start.", + "Documentation.Category": "Text.Extraction", "Documentation.Examples": [ { - "Description": "Create a logical value from the text string \"true\".", - "Code": "Logical.FromText(\"true\")", - "Result": "true" + "Description": "Find the substring from the text \"Hello World\" starting at index 6 spanning 5 characters.", + "Code": "Text.Middle(\"Hello World\", 6, 5)", + "Result": "\"World\"" }, { - "Description": "Create a logical value from the text string \"a\".", - "Code": "Logical.FromText(\"a\")", - "Result": "[Expression.Error] Could not convert to a logical." + "Description": "Find the substring from the text \"Hello World\" starting at index 6 through the end.", + "Code": "Text.Middle(\"Hello World\", 6, 20)", + "Result": "\"World\"" } ] }, - "ReturnType": "logical", + "ReturnType": "text", "Parameters": { - "text": "text" + "text": "text", + "start": "number", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Logical.ToText", + "Name": "Text.PadEnd", "Documentation": { - "Documentation.Name": "Logical.ToText", - "Documentation.Description": "Returns the text \"true\" or \"false\" given a logical value.", - "Documentation.LongDescription": "Creates a text value from the logical value logicalValue, either true or false. If logicalValue is not a logical value, an exception is thrown.", - "Documentation.Category": "Logical", + "Documentation.Name": "Text.PadEnd", + "Documentation.Description": "Returns text of a specified length by padding the end of the given text.", + "Documentation.LongDescription": "Returns a text value padded to length count by inserting spaces at the end of the text value text.\r\n An optional character character can be used to specify the character used for padding. The default pad character is a space.", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Create a text value from the logical true.", - "Code": "Logical.ToText(true)", - "Result": "\"true\"" + "Description": "Pad the end of a text value so it is 10 characters long.", + "Code": "Text.PadEnd(\"Name\", 10)", + "Result": "\"Name \"" + }, + { + "Description": "Pad the end of a text value with \"|\" so it is 10 characters long.", + "Code": "Text.PadEnd(\"Name\", 10, \"|\")", + "Result": "\"Name||||||\"" } ] }, "ReturnType": "text", "Parameters": { - "logicalValue": "logical" - }, - "RequiredParameters": "1" - }, - { - "Name": "MicroStrategyDataset.TestConnection", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "libraryUrl": "Uri.Type" + "text": "text", + "count": "number", + "character": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "MicrosoftAzureConsumptionInsights.Test", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "enrollmentNumber": "any", - "parameters": "record" + "Name": "Text.PadStart", + "Documentation": { + "Documentation.Name": "Text.PadStart", + "Documentation.Description": "Returns text of a specified length by padding the start of the given text.", + "Documentation.LongDescription": "Returns a text value padded to length count by inserting spaces at the start of the text value text.\r\n An optional character character can be used to specify the character used for padding. The default pad character is a space.", + "Documentation.Category": "Text.Transformations", + "Documentation.Examples": [ + { + "Description": "Pad the start of a text value so it is 10 characters long.", + "Code": "Text.PadStart(\"Name\", 10)", + "Result": "\" Name\"" + }, + { + "Description": "Pad the start of a text value with \"|\" so it is 10 characters long.", + "Code": "Text.PadStart(\"Name\", 10, \"|\")", + "Result": "\"||||||Name\"" + } + ] }, - "RequiredParameters": "1" - }, - { - "Name": "Mixpanel.Contents", - "Documentation": {}, - "ReturnType": "any", + "ReturnType": "text", "Parameters": { - "url": "text" + "text": "text", + "count": "number", + "character": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Mixpanel.FunnelById", - "Documentation": {}, - "ReturnType": "any", - "Parameters": { - "funnelId": "number", - "fromDate": "text", - "toDate": "text", - "length": "number", - "interval": "number" + "Name": "Text.PositionOf", + "Documentation": { + "Documentation.Name": "Text.PositionOf", + "Documentation.Description": "Returns the first position of the value (-1 if not found).", + "Documentation.LongDescription": "Returns the position of the specified occurrence of the text value substring found in text.\r\n An optional parameter occurrence may be used to specify which occurrence position to return (first occurrence by default).\r\n Returns -1 if substring was not found.\r\n\r\n
\r\n comparer is a Comparer which is used to control the comparison. Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n ", + "Documentation.Category": "Text.Membership", + "Documentation.Examples": [ + { + "Description": "Get the position of the first occurrence of \"World\" in the text \"Hello, World! Hello, World!\".", + "Code": "Text.PositionOf(\"Hello, World! Hello, World!\", \"World\")", + "Result": "7" + }, + { + "Description": "Get the position of last occurrence of \"World\" in \"Hello, World! Hello, World!\".", + "Code": "Text.PositionOf(\"Hello, World! Hello, World!\", \"World\", Occurrence.Last)", + "Result": "21" + } + ] }, - "RequiredParameters": "1" - }, - { - "Name": "Mixpanel.FunnelByName", - "Documentation": {}, "ReturnType": "any", "Parameters": { - "funnelName": "text", - "fromDate": "text", - "toDate": "text", - "length": "number", - "interval": "number" + "text": "text", + "substring": "text", + "occurrence": "Occurrence.Type", + "comparer": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Abs", + "Name": "Text.PositionOfAny", "Documentation": { - "Documentation.Name": "Number.Abs", - "Documentation.Description": "Returns the absolute value of the number.", - "Documentation.LongDescription": "Returns the absolute value of number. If number is null, Number.Abs returns null.\r\n ", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "Text.PositionOfAny", + "Documentation.Description": "Returns the first position in the text value of any listed character (-1 if not found).", + "Documentation.LongDescription": "Returns the first position of any character in the list characters that is found in text.\r\n An optional parameter occurrence may be used to specify which occurrence position to return.", + "Documentation.Category": "Text.Membership", "Documentation.Examples": [ { - "Description": "Absolute value of -3.", - "Code": "Number.Abs(-3)", - "Result": "3" + "Description": "Find the first position of \"W\" or \"H\" in text \"Hello, World!\".", + "Code": "Text.PositionOfAny(\"Hello, World!\", {\"H\", \"W\"})", + "Result": "0" + }, + { + "Description": "Find all the positions of \"W\" or \"H\" in text \"Hello, World!\".", + "Code": "Text.PositionOfAny(\"Hello, World!\", {\"H\", \"W\"}, Occurrence.All)", + "Result": "{0, 7}" } ] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number" + "text": "text", + "characters": "list", + "occurrence": "Occurrence.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Acos", + "Name": "Text.Range", "Documentation": { - "Documentation.Name": "Number.Acos", - "Documentation.Description": "Returns the arccosine of the number.", - "Documentation.LongDescription": "Returns the arccosine of number.", - "Documentation.Category": "Number.Trigonometry", - "Documentation.Examples": [] + "Documentation.Name": "Text.Range", + "Documentation.Description": "Returns the substring found at offset.", + "Documentation.LongDescription": "Returns the substring from the text text found at the offset offset.\r\n An optional parameter, count, can be included to specify how many characters to return. Throws an error if there aren't enough characters.", + "Documentation.Category": "Text.Extraction", + "Documentation.Examples": [ + { + "Description": "Find the substring from the text \"Hello World\" starting at index 6.", + "Code": "Text.Range(\"Hello World\", 6)", + "Result": "\"World\"" + }, + { + "Description": "Find the substring from the text \"Hello World Hello\" starting at index 6 spanning 5 characters.", + "Code": "Text.Range(\"Hello World Hello\", 6, 5)", + "Result": "\"World\"" + } + ] }, - "ReturnType": "number", + "ReturnType": "text", "Parameters": { - "number": "number" + "text": "text", + "offset": "number", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Asin", + "Name": "Text.Remove", "Documentation": { - "Documentation.Name": "Number.Asin", - "Documentation.Description": "Returns the arcsine of the number.", - "Documentation.LongDescription": "Returns the arcsine of number.", - "Documentation.Category": "Number.Trigonometry", - "Documentation.Examples": [] + "Documentation.Name": "Text.Remove", + "Documentation.Description": "Removes all occurrences of the given character or list of characters from the input text value.", + "Documentation.LongDescription": "Returns a copy of the text value text with all the characters from removeChars removed. ", + "Documentation.Category": "Text.Modification", + "Documentation.Examples": [ + { + "Description": "Remove characters , and ; from the text value.", + "Code": "Text.Remove(\"a,b;c\", {\",\",\";\"})", + "Result": "\"abc\"" + } + ] }, - "ReturnType": "number", + "ReturnType": "text", "Parameters": { - "number": "number" + "text": "text", + "removeChars": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Atan", + "Name": "Text.RemoveRange", "Documentation": { - "Documentation.Name": "Number.Atan", - "Documentation.Description": "Returns the arctangent of the number.", - "Documentation.LongDescription": "Returns the arctangent of number.", - "Documentation.Category": "Number.Trigonometry", - "Documentation.Examples": [] + "Documentation.Name": "Text.RemoveRange", + "Documentation.Description": "Removes a count of characters starting at the given offset", + "Documentation.LongDescription": "Returns a copy of the text value text with all the characters from position offset removed.\r\n An optional parameter, count can by used to specify the number of characters to remove. The default value of count is 1. Position values start at 0.", + "Documentation.Category": "Text.Modification", + "Documentation.Examples": [ + { + "Description": "Remove 1 character from the text value \"ABEFC\" at position 2.", + "Code": "Text.RemoveRange(\"ABEFC\", 2)", + "Result": "\"ABFC\"" + }, + { + "Description": "Remove two characters from the text value \"ABEFC\" starting at position 2.", + "Code": "Text.RemoveRange(\"ABEFC\", 2, 2)", + "Result": "\"ABC\"" + } + ] }, - "ReturnType": "number", + "ReturnType": "text", "Parameters": { - "number": "number" + "text": "text", + "offset": "number", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.BitwiseNot", + "Name": "Text.Repeat", "Documentation": { - "Documentation.Name": "Number.BitwiseNot", - "Documentation.Description": "Returns a byte where each bit is the opposite of the input.", - "Documentation.LongDescription": "Returns the result of performing a bitwise \"Not\" operation on number.", - "Documentation.Category": "Number.Bytes", - "Documentation.Examples": [] + "Documentation.Name": "Text.Repeat", + "Documentation.Description": "Returns a text value composed of the input text repeated a specified number of times.", + "Documentation.LongDescription": "Returns a text value composed of the input text text repeated count times.", + "Documentation.Category": "Text.Transformations", + "Documentation.Examples": [ + { + "Description": "Repeat the text \"a\" five times.", + "Code": "Text.Repeat(\"a\", 5)", + "Result": "\"aaaaa\"" + }, + { + "Description": "Repeat the text \"helloworld\" three times.", + "Code": "Text.Repeat(\"helloworld.\", 3)", + "Result": "\"helloworld.helloworld.helloworld.\"" + } + ] }, - "ReturnType": "any", + "ReturnType": "text", "Parameters": { - "number": "any" + "text": "text", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Cos", + "Name": "Text.Select", "Documentation": { - "Documentation.Name": "Number.Cos", - "Documentation.Description": "Returns the cosine of the number.", - "Documentation.LongDescription": "Returns the cosine of number.", - "Documentation.Category": "Number.Trigonometry", + "Documentation.Name": "Text.Select", + "Documentation.Description": "Selects all occurrences of the given character or list of characters from the input text value.", + "Documentation.LongDescription": "Returns a copy of the text value text with all the characters not in selectChars removed. ", + "Documentation.Category": "Text.Modification", "Documentation.Examples": [ { - "Description": "Find the cosine of the angle 0.", - "Code": "Number.Cos(0)", - "Result": "1" + "Description": "Select all characters in the range of 'a' to 'z' from the text value.", + "Code": "Text.Select(\"a,b;c\", {\"a\"..\"z\"})", + "Result": "\"abc\"" } ] }, - "ReturnType": "number", + "ReturnType": "text", "Parameters": { - "number": "number" + "text": "text", + "selectChars": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Cosh", + "Name": "Text.Split", "Documentation": { - "Documentation.Name": "Number.Cosh", - "Documentation.Description": "Returns the hyperbolic cosine of the number.", - "Documentation.LongDescription": "Returns the hyperbolic cosine of number.", - "Documentation.Category": "Number.Trigonometry", - "Documentation.Examples": [] + "Documentation.Name": "Text.Split", + "Documentation.Description": "Splits text into a list of text values based upon a specified delimiter.", + "Documentation.LongDescription": "Returns a list of text values resulting from the splitting a text value text based on the specified delimiter, separator.", + "Documentation.Category": "Text.Transformations", + "Documentation.Examples": [ + { + "Description": "Create a list from the \"|\" delimited text value \"Name|Address|PhoneNumber\".", + "Code": "Text.Split(\"Name|Address|PhoneNumber\", \"|\")", + "Result": "{\r\n \"Name\",\r\n \"Address\",\r\n \"PhoneNumber\"\r\n}" + } + ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "number": "number" + "text": "text", + "separator": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Exp", + "Name": "Text.SplitAny", "Documentation": { - "Documentation.Name": "Number.Exp", - "Documentation.Description": "Raises e to the given power.", - "Documentation.LongDescription": "Returns the result of raising e to the power of number (exponential function).\r\n ", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "Text.SplitAny", + "Documentation.Description": "Returns a list of text values, split on any of the characters in the delimiter.", + "Documentation.LongDescription": "Returns a list of text values resulting from the splitting a text value text based on any character in the specified delimiter, separators.", + "Documentation.Category": "Text.Transformations", "Documentation.Examples": [ { - "Description": "Raise e to the power of 3.", - "Code": "Number.Exp(3)", - "Result": "20.085536923187668" + "Description": "Create a list from the text value \"Jamie|Campbell|Admin|Adventure Works|www.adventure-works.com\".", + "Code": "Text.SplitAny(\"Jamie|Campbell|Admin|Adventure Works|www.adventure-works.com\", \"|\")", + "Result": "{\r\n \"Jamie\",\r\n \"Campbell\",\r\n \"Admin\",\r\n \"Adventure Works\",\r\n \"www.adventure-works.com\"\r\n}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "number": "number" + "text": "text", + "separators": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Factorial", + "Name": "Text.Start", "Documentation": { - "Documentation.Name": "Number.Factorial", - "Documentation.Description": "Returns the factorial of the number.", - "Documentation.LongDescription": "Returns the factorial of the number number.", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "Text.Start", + "Documentation.Description": "Returns the start of the text.", + "Documentation.LongDescription": "Returns the first count characters of text as a text value.", + "Documentation.Category": "Text.Extraction", "Documentation.Examples": [ { - "Description": "Find the factorial of 10.", - "Code": "Number.Factorial(10)", - "Result": "3628800" + "Description": "Get the first 5 characters of \"Hello, World\".", + "Code": "Text.Start(\"Hello, World\", 5)", + "Result": "\"Hello\"" } ] }, - "ReturnType": "number", + "ReturnType": "text", "Parameters": { - "number": "number" + "text": "text", + "count": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.From", + "Name": "Text.StartsWith", "Documentation": { - "Documentation.Name": "Number.From", - "Documentation.Description": "Creates a number from the given value.", - "Documentation.LongDescription": "Returns a number value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, Number.From returns null. If the given value is number, value is returned. Values of the following types can be converted to a number value:\r\n \r\nIf value is of any other type, an error is returned.", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "Text.StartsWith", + "Documentation.Description": "Indicates whether the text starts with a specified value.", + "Documentation.LongDescription": "Returns true if text value text starts with text value substring.\r\n \r\n
\r\n comparer is a Comparer which is used to control the comparison. Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n ", + "Documentation.Category": "Text.Membership", "Documentation.Examples": [ { - "Description": "Get the number value of \"4\".", - "Code": "Number.From(\"4\")", - "Result": "4" - }, - { - "Description": "Get the number value of #datetime(2020, 3, 20, 6, 0, 0).", - "Code": "Number.From(#datetime(2020, 3, 20, 6, 0, 0))", - "Result": "43910.25" + "Description": "Check if the text \"Hello, World\" starts with the text \"hello\".", + "Code": "Text.StartsWith(\"Hello, World\", \"hello\")", + "Result": "false" }, { - "Description": "Get the number value of \"12.3%\".", - "Code": "Number.From(\"12.3%\")", - "Result": "0.123" + "Description": "Check if the text \"Hello, World\" starts with the text \"Hello\".", + "Code": "Text.StartsWith(\"Hello, World\", \"Hello\")", + "Result": "true" } ] }, - "ReturnType": "number", + "ReturnType": "logical", + "Parameters": { + "text": "text", + "substring": "text", + "comparer": "function" + }, + "RequiredParameters": "2" + }, + { + "Name": "Troux.CustomFeed", + "Documentation": { + "Documentation.Description": "Enter the URL of your Planview Enterprise Architecture account and a query.", + "Documentation.DisplayName": "Planview Enterprise Architecture", + "Documentation.Caption": "Planview Enterprise Architecture", + "Documentation.Name": "Planview Enterprise Architecture", + "Documentation.LongDescription": "Returns a table with relevant Planview Enterprise Architecture data specified by the query." + }, + "ReturnType": "table", + "Parameters": { + "url": "text", + "query": "text" + }, + "RequiredParameters": "2" + }, + { + "Name": "Twilio.Contents", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "value": "any", - "culture": "text" + "URL": "any", + "collectionName": "any", + "historyInMonths": "any", + "dateLabel": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.FromText", + "Name": "Type.ForFunction", "Documentation": { - "Documentation.Name": "Number.FromText", - "Documentation.Description": "Creates numbers from common text formats (\"15\", \"3,423.10\", \"5.0E-10\").", - "Documentation.LongDescription": "Returns a number value from the given text value, text.\r\n ", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "Type.ForFunction", + "Documentation.Description": "Returns a type that represents functions with specific parameter and return type constraints.", + "Documentation.LongDescription": "Creates a function type from signature, a record of ReturnType and Parameters, and min, the minimum number of arguments required to invoke the function.", + "Documentation.Category": "Type", "Documentation.Examples": [ { - "Description": "Get the number value of \"4\".", - "Code": "Number.FromText(\"4\")", - "Result": "4" - }, - { - "Description": "Get the number value of \"5.0e-10\".", - "Code": "Number.FromText(\"5.0e-10\")", - "Result": "5E-10" + "Description": "Creates the type for a function that takes a number parameter named X and returns a number.", + "Code": "Type.ForFunction([ReturnType = type number, Parameters = [X = type number]], 1)", + "Result": "type function (X as number) as number" } ] }, - "ReturnType": "number", + "ReturnType": "type", "Parameters": { - "text": "text", - "culture": "text" + "signature": "record", + "min": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.IsEven", + "Name": "Type.ForRecord", "Documentation": { - "Documentation.Name": "Number.IsEven", - "Documentation.Description": "Indicates if the value is even.", - "Documentation.LongDescription": "Indicates if the value, number, is even by returning true if it is even, false otherwise.", - "Documentation.Category": "Number.Information", + "Documentation.Name": "Type.ForRecord", + "Documentation.Description": "Returns a type that represents records with specific type constraints on fields.", + "Documentation.LongDescription": "Returns a type that represents records with specific type constraints on fields.", + "Documentation.Category": "Type", "Documentation.Examples": [ { - "Description": "Check if 625 is an even number.", - "Code": "Number.IsEven(625)", - "Result": "false" - }, - { - "Description": "Check if 82 is an even number.", - "Code": "Number.IsEven(82)", - "Result": "true" + "Description": "Dynamically generate a table type.", + "Code": "let\r\n columnNames = {\"Name\", \"Score\"},\r\n columnTypes = {type text, type number},\r\n rowColumnTypes = List.Transform(columnTypes, (t) => [Type = t, Optional = false]),\r\n rowType = Type.ForRecord(Record.FromList(rowColumnTypes, columnNames), false)\r\nin\r\n #table(type table rowType, {{\"Betty\", 90.3}, {\"Carl\", 89.5}})", + "Result": "#table(\r\n type table [Name = text, Score = number],\r\n {{\"Betty\", 90.3}, {\"Carl\", 89.5}}\r\n)" } ] }, - "ReturnType": "logical", + "ReturnType": "type", "Parameters": { - "number": "number" + "fields": "record", + "open": "logical" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.IsNaN", + "Name": "Type.Is", "Documentation": { - "Documentation.Name": "Number.IsNaN", - "Documentation.Description": "Indicates if the value is NaN (Not a number).", - "Documentation.LongDescription": "Indicates if the value is NaN (Not a number). Returns true if number is equivalent to Number.IsNaN, false otherwise.", - "Documentation.Category": "Number.Information", + "Documentation.Name": "Type.Is", + "Documentation.Description": "Determines if a value of the first type is always compatible with the second type.", + "Documentation.LongDescription": "Determines if a value of type1 is always compatible with type2.", + "Documentation.Category": "Type", "Documentation.Examples": [ { - "Description": "Check if 0 divided by 0 is NaN.", - "Code": "Number.IsNaN(0/0)", + "Description": "Determine if a value of type number can always also be treated as type any.", + "Code": "Type.Is(type number, type any)", "Result": "true" }, { - "Description": "Check if 1 divided by 0 is NaN.", - "Code": "Number.IsNaN(1/0)", + "Description": "Determine if a value of type any can always also be treated as type number.", + "Code": "Type.Is(type any, type number)", "Result": "false" } ] }, "ReturnType": "logical", "Parameters": { - "number": "number" + "type1": "type", + "type2": "type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.IsOdd", + "Name": "Type.ReplaceFacets", "Documentation": { - "Documentation.Name": "Number.IsOdd", - "Documentation.Description": "Indicates if the value is odd.", - "Documentation.LongDescription": "Indicates if the value is odd. Returns true if number is an odd number, false otherwise.", - "Documentation.Category": "Number.Information", - "Documentation.Examples": [ - { - "Description": "Check if 625 is an odd number.", - "Code": "Number.IsOdd(625)", - "Result": "true" - }, - { - "Description": "Check if 82 is an odd number.", - "Code": "Number.IsOdd(82)", - "Result": "false" - } - ] + "Documentation.Name": "Type.ReplaceFacets", + "Documentation.Description": "Replaces the facets of a type.", + "Documentation.LongDescription": "Replaces the facets of type with the facets contained in the record facets.", + "Documentation.Category": "Type", + "Documentation.Examples": [] }, - "ReturnType": "logical", + "ReturnType": "type", "Parameters": { - "number": "number" + "type": "type", + "facets": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Ln", + "Name": "Type.ReplaceTableKeys", "Documentation": { - "Documentation.Name": "Number.Ln", - "Documentation.Description": "Returns the natural logarithm of the number.", - "Documentation.LongDescription": "Returns the natural logarithm of a number, number. If number is null Number.Ln returns null.", - "Documentation.Category": "Number.Operations", - "Documentation.Examples": [ - { - "Description": "Get the natural logarithm of 15.", - "Code": "Number.Ln(15)", - "Result": "2.70805020110221" - } - ] + "Documentation.Name": "Type.ReplaceTableKeys", + "Documentation.Description": "Returns a new table type with all keys replaced by the specified list of keys.", + "Documentation.LongDescription": "Returns a new table type with all keys replaced by the specified list of keys.", + "Documentation.Category": "Type", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "type", "Parameters": { - "number": "number" + "tableType": "type", + "keys": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Log", + "Name": "Type.TableColumn", "Documentation": { - "Documentation.Name": "Number.Log", - "Documentation.Description": "Returns the logarithm of the number to the specified base (default e).", - "Documentation.LongDescription": "Returns the logarithm of a number, number, to the specified base base. If base is not specified, the default value is Number.E.\r\n If number is null Number.Log returns null.", - "Documentation.Category": "Number.Operations", - "Documentation.Examples": [ - { - "Description": "Get the base 10 logarithm of 2.", - "Code": "Number.Log(2, 10)", - "Result": "0.3010299956639812" - }, - { - "Description": "Get the base e logarithm of 2.", - "Code": "Number.Log(2)", - "Result": "0.69314718055994529" - } - ] + "Documentation.Name": "Type.TableColumn", + "Documentation.Description": "Returns the type of a column in a table.", + "Documentation.LongDescription": "Returns the type of the column column in the table type tableType.", + "Documentation.Category": "Type", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "type", "Parameters": { - "number": "number", - "base": "number" + "tableType": "type", + "column": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Log10", + "Name": "Uri.Combine", "Documentation": { - "Documentation.Name": "Number.Log10", - "Documentation.Description": "Returns the base 10 logarithm of the number.", - "Documentation.LongDescription": "Returns the base 10 logarithm of a number, number. If number is null Number.Log10 returns null.", - "Documentation.Category": "Number.Operations", - "Documentation.Examples": [ - { - "Description": "Get the base 10 logarithm of 2.", - "Code": "Number.Log10(2)", - "Result": "0.3010299956639812" - } - ] + "Documentation.Name": "Uri.Combine", + "Documentation.Description": "Returns an absolute URI that is the combination of the input base URI and relative URI.", + "Documentation.LongDescription": "Returns an absolute URI that is the combination of the input baseUri and relativeUri.", + "Documentation.Category": "Uri", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "text", "Parameters": { - "number": "number" + "baseUri": "text", + "relativeUri": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Round", + "Name": "VSTS.AnalyticsViews", "Documentation": { - "Documentation.Name": "Number.Round", - "Documentation.Description": "Returns the rounded number. The number of digits and rounding mode can be specified.", - "Documentation.LongDescription": "Returns the result of rounding number to the nearest number. If number is null, Number.Round returns null.
\r\n
\r\n By default, number is rounded to the nearest integer, and ties are broken by rounding to the nearest even number (using RoundingMode.ToEven, also known as \"banker's rounding\").
\r\n
\r\n However, these defaults can be overridden via the following optional parameters.\r\n ", - "Documentation.Category": "Number.Rounding", - "Documentation.Examples": [ - { - "Description": "Round 1.234 to the nearest integer.", - "Code": "Number.Round(1.234)", - "Result": "1" - }, - { - "Description": "Round 1.56 to the nearest integer.", - "Code": "Number.Round(1.56)", - "Result": "2" - }, - { - "Description": "Round 1.2345 to two decimal places.", - "Code": "Number.Round(1.2345, 2)", - "Result": "1.23" - }, - { - "Description": "Round 1.2345 to three decimal places (Rounding up).", - "Code": "Number.Round(1.2345, 3, RoundingMode.Up)", - "Result": "1.235" - }, - { - "Description": "Round 1.2345 to three decimal places (Rounding down).", - "Code": "Number.Round(1.2345, 3, RoundingMode.Down)", - "Result": "1.234" - } - ] + "Documentation.Description": "Enter organization and project names.", + "Documentation.DisplayName": "VSTS.AnalyticsViews", + "Documentation.Caption": "VSTS.AnalyticsViews", + "Documentation.Name": "Azure DevOps (Boards only)", + "Documentation.LongDescription": "Returns a table of Analytics views offered by Azure DevOps." + }, + "ReturnType": "table", + "Parameters": { + "url": "text", + "project": "text", + "options": "record" + }, + "RequiredParameters": "2" + }, + { + "Name": "Value.Add", + "Documentation": { + "Documentation.Name": "Value.Add", + "Documentation.Description": "Returns the sum of the two values.", + "Documentation.LongDescription": "Returns the sum of value1 and value2. An optional precision parameter may be specified, by default Precision.Double is used.", + "Documentation.Category": "Values.Arithmetic operations", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number", - "digits": "number", - "roundingMode": "RoundingMode.Type" + "value1": "any", + "value2": "any", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.RoundAwayFromZero", + "Name": "Value.As", "Documentation": { - "Documentation.Name": "Number.RoundAwayFromZero", - "Documentation.Description": "Returns the result of rounding positive numbers up and negative numbers down. The number of digits can be specified.", - "Documentation.LongDescription": "Returns the result of rounding number based on the sign of the number. This function will round positive numbers up and negative numbers down.\r\n If digits is specified, number is rounded to the digits number of decimal digits.\r\n ", - "Documentation.Category": "Number.Rounding", + "Documentation.Name": "Value.As", + "Documentation.Description": "Returns the value if it is compatible with the specified type.", + "Documentation.LongDescription": "Returns the value if it is compatible with the specified type. This is equivalent to the \"as\" operator in M, with the exception that it can accept identifier type references such as Number.Type.", + "Documentation.Category": "Values.Types", "Documentation.Examples": [ { - "Description": "Round the number -1.2 away from zero.", - "Code": "Number.RoundAwayFromZero(-1.2)", - "Result": "-2" - }, - { - "Description": "Round the number 1.2 away from zero.", - "Code": "Number.RoundAwayFromZero(1.2)", - "Result": "2" + "Description": "Cast a number to a number.", + "Code": "Value.As(123, Number.Type)", + "Result": "123" }, { - "Description": "Round the number -1.234 to two decimal places away from zero.", - "Code": "Number.RoundAwayFromZero(-1.234, 2)", - "Result": "-1.24" + "Description": "Attempt to cast a text value to a number.", + "Code": "Value.As(\"abc\", type number)", + "Result": "[Expression.Error] We cannot convert the value \"abc\" to type Number." } ] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number", - "digits": "number" + "value": "any", + "type": "type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.RoundDown", + "Name": "Value.Compare", "Documentation": { - "Documentation.Name": "Number.RoundDown", - "Documentation.Description": "Returns the highest previous number. The number of digits can be specified.", - "Documentation.LongDescription": "Returns the result of rounding number down to the previous highest integer. If number is null, this function returns null.\r\n\r\n If digits is provided, number is rounded to the specified number of decimal digits.\r\n ", - "Documentation.Category": "Number.Rounding", - "Documentation.Examples": [ - { - "Description": "Round down 1.234 to integer.", - "Code": "Number.RoundDown(1.234)", - "Result": "1" - }, - { - "Description": "Round down 1.999 to integer.", - "Code": "Number.RoundDown(1.999)", - "Result": "1" - }, - { - "Description": "Round down 1.999 to two decimal places.", - "Code": "Number.RoundDown(1.999, 2)", - "Result": "1.99" - } - ] + "Documentation.Name": "Value.Compare", + "Documentation.Description": "Returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.", + "Documentation.LongDescription": "Returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.", + "Documentation.Category": "Values", + "Documentation.Examples": [] }, "ReturnType": "number", "Parameters": { - "number": "number", - "digits": "number" + "value1": "any", + "value2": "any", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.RoundTowardZero", + "Name": "Value.Divide", "Documentation": { - "Documentation.Name": "Number.RoundTowardZero", - "Documentation.Description": "Returns the result of rounding positive numbers down and negative numbers up. The number of digits can be specified.", - "Documentation.LongDescription": "Returns the result of rounding number based on the sign of the number. This function will round positive numbers down and negative numbers up.\r\n If digits is specified, number is rounded to the digits number of decimal digits.\r\n ", - "Documentation.Category": "Number.Rounding", - "Documentation.Examples": [ - { - "Description": "Round the number -1.2 toward zero.", - "Code": "Number.RoundTowardZero(-1.2)", - "Result": "-1" - }, - { - "Description": "Round the number 1.2 toward zero.", - "Code": "Number.RoundTowardZero(1.2)", - "Result": "1" - }, - { - "Description": "Round the number -1.234 to two decimal places toward zero.", - "Code": "Number.RoundTowardZero(-1.234, 2)", - "Result": "-1.23" - } - ] + "Documentation.Name": "Value.Divide", + "Documentation.Description": "Returns the result of dividing the first value by the second.", + "Documentation.LongDescription": "Returns the result of dividing value1 by value2. An optional precision parameter may be specified, by default Precision.Double is used.", + "Documentation.Category": "Values.Arithmetic operations", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number", - "digits": "number" + "value1": "any", + "value2": "any", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.RoundUp", + "Name": "Value.Equals", "Documentation": { - "Documentation.Name": "Number.RoundUp", - "Documentation.Description": "Returns the next highest number. The number of digits can be specified.", - "Documentation.LongDescription": "Returns the result of rounding number up to the next highest integer. If number is null, this function returns null.\r\n If digits is provided, number is rounded to the specified number of decimal digits.\r\n ", - "Documentation.Category": "Number.Rounding", - "Documentation.Examples": [ - { - "Description": "Round up 1.234 to integer.", - "Code": "Number.RoundUp(1.234)", - "Result": "2" - }, - { - "Description": "Round up 1.999 to integer.", - "Code": "Number.RoundUp(1.999)", - "Result": "2" - }, - { - "Description": "Round up 1.234 to two decimal places.", - "Code": "Number.RoundUp(1.234, 2)", - "Result": "1.24" - } - ] + "Documentation.Name": "Value.Equals", + "Documentation.Description": "Returns whether two values are equal.", + "Documentation.LongDescription": "Returns true if value value1 is equal to value value2, false otherwise.", + "Documentation.Category": "Values", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "logical", "Parameters": { - "number": "number", - "digits": "number" + "value1": "any", + "value2": "any", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Sign", + "Name": "Value.Is", "Documentation": { - "Documentation.Name": "Number.Sign", - "Documentation.Description": "Returns 1 if the number is positive, -1 if it is negative, and 0 if it is zero.", - "Documentation.LongDescription": "Returns 1 for if number is a positive number, -1 if it is a negative number, and 0 if it is zero.\r\n If number is null, Number.Sign returns null.", - "Documentation.Category": "Number.Operations", + "Documentation.Name": "Value.Is", + "Documentation.Description": "Determines whether a value is compatible with the specified type.", + "Documentation.LongDescription": "Determines whether a value is compatible with the specified type. This is equivalent to the \"is\" operator in M, with the exception that it can accept identifier type references such as Number.Type.", + "Documentation.Category": "Values.Types", "Documentation.Examples": [ { - "Description": "Determine the sign of 182.", - "Code": "Number.Sign(182)", - "Result": "1" - }, - { - "Description": "Determine the sign of -182.", - "Code": "Number.Sign(-182)", - "Result": "-1" - }, - { - "Description": "Determine the sign of 0.", - "Code": "Number.Sign(0)", - "Result": "0" + "Description": "Compare two ways of determining if a number is compatible with type number.", + "Code": "Value.Is(123, Number.Type) = (123 is number)", + "Result": "true" } ] }, - "ReturnType": "number", + "ReturnType": "logical", "Parameters": { - "number": "number" + "value": "any", + "type": "type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Sin", + "Name": "Value.Multiply", "Documentation": { - "Documentation.Name": "Number.Sin", - "Documentation.Description": "Returns the sine of the number.", - "Documentation.LongDescription": "Returns the sine of number.", - "Documentation.Category": "Number.Trigonometry", - "Documentation.Examples": [ - { - "Description": "Find the sine of the angle 0.", - "Code": "Number.Sin(0)", - "Result": "0" - } - ] + "Documentation.Name": "Value.Multiply", + "Documentation.Description": "Returns the product of the two values.", + "Documentation.LongDescription": "Returns the product of multiplying value1 by value2. An optional precision parameter may be specified, by default Precision.Double is used.", + "Documentation.Category": "Values.Arithmetic operations", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number" + "value1": "any", + "value2": "any", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Sinh", + "Name": "Value.NativeQuery", "Documentation": { - "Documentation.Name": "Number.Sinh", - "Documentation.Description": "Returns the hyperbolic sine of the number.", - "Documentation.LongDescription": "Returns the hyperbolic sine of number.", - "Documentation.Category": "Number.Trigonometry", + "Documentation.Name": "Value.NativeQuery", + "Documentation.Description": "Evaluates a query against a target.", + "Documentation.LongDescription": "

Evaluates query against target using the parameters specified in parameters and the options specified in options.

\r\n

The output of the query is defined by target.

\r\n

target provides the context for the operation described by query.

\r\n

query describes the query to be executed against target. query is expressed in a manner specific to target (for example, a T-SQL statement).

\r\n

The optional parameters value may contain either a list or record as appropriate to supply the parameter values expected by query.

\r\n

The optional options record may contain options that affect the evaluation behavior of query against target. These options are specific to target.

", + "Documentation.Category": "Values", "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number" + "target": "any", + "query": "text", + "parameters": "any", + "options": "record" + }, + "RequiredParameters": "2" + }, + { + "Name": "Value.NullableEquals", + "Documentation": { + "Documentation.Name": "Value.NullableEquals", + "Documentation.Description": "Returns whether two values are equal.", + "Documentation.LongDescription": "Returns null if either argument 'value1', 'value2' is null, otherwise equivalent to Value.Equals.", + "Documentation.Category": "Values", + "Documentation.Examples": [] + }, + "ReturnType": "logical", + "Parameters": { + "value1": "any", + "value2": "any", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Sqrt", + "Name": "Value.ReplaceMetadata", "Documentation": { - "Documentation.Name": "Number.Sqrt", - "Documentation.Description": "Returns the square root of the number.", - "Documentation.LongDescription": "Returns the square root of number.\r\n If number is null, Number.Sqrt returns null. If it is a negative value, Number.NaN is returned (Not a number).", - "Documentation.Category": "Number.Operations", - "Documentation.Examples": [ - { - "Description": "Find the square root of 625.", - "Code": "Number.Sqrt(625)", - "Result": "25" - }, - { - "Description": "Find the square root of 85.", - "Code": "Number.Sqrt(85)", - "Result": "9.2195444572928871" - } - ] + "Documentation.Name": "Value.ReplaceMetadata", + "Documentation.Description": "Replaces the input's metadata information.", + "Documentation.LongDescription": "Replaces the input's metadata information.", + "Documentation.Category": "Metadata", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number" + "value": "any", + "metaValue": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Tan", + "Name": "Value.ReplaceType", "Documentation": { - "Documentation.Name": "Number.Tan", - "Documentation.Description": "Returns the tangent of the number.", - "Documentation.LongDescription": "Returns the tangent of number.", - "Documentation.Category": "Number.Trigonometry", + "Documentation.Name": "Value.ReplaceType", + "Documentation.Description": "Replaces the value's type.", + "Documentation.LongDescription": "Replaces the value's type with the provided type.", + "Documentation.Category": "Values.Types", "Documentation.Examples": [ { - "Description": "Find the tangent of the angle 1.", - "Code": "Number.Tan(1)", - "Result": "1.5574077246549023" + "Description": "Replace the default type of a record with a more specific type.", + "Code": "Type.RecordFields(\r\n Value.Type(\r\n Value.ReplaceType(\r\n [Column1 = 123],\r\n type [Column1 = number]\r\n )\r\n )\r\n)[Column1][Type]", + "Result": "type number" } ] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number" + "value": "any", + "type": "type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.Tanh", + "Name": "Value.Subtract", "Documentation": { - "Documentation.Name": "Number.Tanh", - "Documentation.Description": "Returns the hyperbolic tangent of the number.", - "Documentation.LongDescription": "Returns the hyperbolic tangent of number.", - "Documentation.Category": "Number.Trigonometry", + "Documentation.Name": "Value.Subtract", + "Documentation.Description": "Returns the difference of the two values.", + "Documentation.LongDescription": "Returns the difference of value1 and value2. An optional precision parameter may be specified, by default Precision.Double is used.", + "Documentation.Category": "Values.Arithmetic operations", "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "number": "number" + "value1": "any", + "value2": "any", + "precision": "Precision.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Number.ToText", + "Name": "Vertica.Database", "Documentation": { - "Documentation.Name": "Number.ToText", - "Documentation.Description": "Converts the given number to text.", - "Documentation.LongDescription": "Converts the numeric value number to a text value according to the format specified by format.
\r\n
\r\n The format is a text value indicating how the number should be converted. For more details on the supported format values, go to https://go.microsoft.com/fwlink/?linkid=2241210 and https://go.microsoft.com/fwlink/?linkid=2240884.
\r\n
\r\n An optional culture may also be provided (for example, \"en-US\") to control the culture-dependent behavior of format.", - "Documentation.Category": "Number.Conversion and formatting", + "Documentation.Name": "Vertica", + "Documentation.Caption": "Vertica", + "Documentation.Description": "Import data from Vertica", + "Documentation.LongDescription": "Returns a table of schemas available on the server named by the server parameter in the database named by the database parameter.\r\nAn optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n", "Documentation.Examples": [ { - "Description": "Convert a number to text without specifying a format.", - "Code": "Number.ToText(4)", - "Result": "\"4\"" - }, - { - "Description": "Convert a number to exponential format.", - "Code": "Number.ToText(4, \"e\")", - "Result": "\"4.000000e+000\"" - }, - { - "Description": "Convert a number to percentage format with only one decimal place.", - "Code": "Number.ToText(-0.1234, \"P1\")", - "Result": "\"-12.3 %\"" + "Description": "List the tables in Vertica" } ] }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "number": "number", - "format": "text", - "culture": "text" + "server": "text", + "database": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "OData.Feed", + "Name": "WebAction.Request", "Documentation": { - "Documentation.Name": "OData.Feed", - "Documentation.Description": "Returns a table of OData feeds offered by an OData service.", - "Documentation.LongDescription": "Returns a table of OData feeds offered by an OData service from a uri serviceUri, headers headers. A boolean value specifying whether to use concurrent connections or an optional record parameter, options, may be specified to control the following options:\r\n ", - "Documentation.Category": "Accessing data", + "Documentation.Name": "WebAction.Request", + "Documentation.Description": "Creates an action that, when executed, will return the results of performing an HTTP request as a binary value.", + "Documentation.LongDescription": "Creates an action that, when executed, will return the results of performing a method request against url using HTTP as a binary value.\r\n An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n
\r\n Note that this function is disabled in most contexts. Consider using Web.Contents or Web.Headers instead.\r\n ", + "Documentation.Category": "Action", "Documentation.Examples": [ { - "Description": "Connect to the TripPin OData service.", - "Code": "OData.Feed(\"https://services.odata.org/V4/TripPinService\")", - "Result": "table" + "Description": "Perform a GET request against Bing.", + "Code": "WebAction.Request(WebMethod.Get, \"https://bing.com\")", + "Result": "Action" } ] }, - "ReturnType": "any", + "ReturnType": "action", "Parameters": { - "serviceUri": "text", - "headers": "record", - "options": "any" + "method": "text", + "url": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Odbc.InferOptions", + "Name": "Webtrends.ReportContents", "Documentation": { - "Documentation.Name": "Odbc.InferOptions", - "Documentation.Description": "Returns the result of trying to infer SQL capabilities for an ODBC driver.", - "Documentation.LongDescription": "Returns the result of trying to infer SQL capbabilities with the connection string connectionString using ODBC. connectionString can be text or a record of property value pairs. Property values can either be text or number.", - "Documentation.Category": "Accessing data", + "Documentation.Description": "Returns a table with report content from Webtrends.", + "Documentation.DisplayName": "Webtrends.ReportContents", + "Documentation.Caption": "Webtrends.ReportContents", + "Documentation.Name": "Webtrends.ReportContents", + "Documentation.LongDescription": "Makes a call to the given Webtrends reporting endpoint and returns all data as a table.", "Documentation.Examples": [ { - "Description": "Return the inferred SQL capabilities for a connection string.", - "Code": "Odbc.InferOptions(\"dsn=your_dsn\")", - "Result": "record" + "Description": "Makes a call to the Webtrends visitors report endpoint for data in the last 30 days", + "Code": "Webtrends.ReportContents(\"98765\", \"xPcmTDDP0P6\")", + "Result": "A table of visitor data" } ] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "connectionString": "any" + "ProfileId": "text", + "ReportId": "text", + "startDate": "date", + "endDate": "date" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Parquet.Document", - "Documentation": { - "Documentation.Name": "Parquet.Document", - "Documentation.Description": "Returns the contents of the Parquet document as a table.", - "Documentation.LongDescription": "Returns the contents of the Parquet document as a table. Options include:\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] - }, + "Name": "Zendesk.Collection", + "Documentation": {}, "ReturnType": "any", "Parameters": { - "binary": "binary", - "options": "record" + "url": "any", + "collectionName": "any", + "schema": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Parquet.Metadata", - "Documentation": { - "Documentation.Name": "Parquet.Metadata", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] - }, + "Name": "appFigures.Content", + "Documentation": {}, "ReturnType": "any", "Parameters": { - "binary": "binary" + "path": "text", + "params": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "2" }, { - "Name": "Percentage.From", - "Documentation": { - "Documentation.Name": "Percentage.From", - "Documentation.Description": "Returns a percentage value from the given value.", - "Documentation.LongDescription": "Returns a percentage value from the given value. If the given value is null, Percentage.From returns null. If the given value is text with a trailing percent symbol, then the converted decimal number will be returned. Otherwise, the value will be converted to a number using Number.From. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", - "Documentation.Examples": [ - { - "Description": "Get the percentage value of \"12.3%\".", - "Code": "Percentage.From(\"12.3%\")", - "Result": "0.123" - } - ] + "Name": "AI.ExecuteInternal", + "Documentation": {}, + "ReturnType": "any", + "Parameters": { + "uri": "text", + "capacityobjectid": "text", + "params": "record" }, - "ReturnType": "number", + "RequiredParameters": "3" + }, + { + "Name": "AI.GetAutoMLEntity", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "value": "any", - "culture": "text" + "modelDataflowId": "text", + "entityName": "text", + "partitionUri": "text", + "entityAttributes": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "ProductInsights.QueryMetric", + "Name": "AI.SampleStratifiedWithHoldout", "Documentation": {}, "ReturnType": "any", "Parameters": { - "urlAndQuery": "text" + "strata": "text", + "totalSize": "number", + "data": "table", + "targetSampleSize": "number", + "holdoutRatio": "number", + "stratifyTrainingSet": "logical" }, - "RequiredParameters": "1" + "RequiredParameters": "3" + }, + { + "Name": "AI.TestConnection", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "AIFunctions.Capacities", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "AIFunctions.Contents", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "QubolePresto.Contents", + "Name": "AIFunctions.ExecuteInternal", "Documentation": {}, "ReturnType": "any", "Parameters": { - "dsn": "text" + "uri": "text", + "capacityobjectid": "text", + "params": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "RData.FromBinary", - "Documentation": { - "Documentation.Name": "RData.FromBinary", - "Documentation.Description": "Returns a record of data frames from the RData file.", - "Documentation.LongDescription": "Returns a record of data frames from the RData file.", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [] - }, + "Name": "AIFunctions.GetAutoMLEntity", + "Documentation": {}, "ReturnType": "any", "Parameters": { - "stream": "binary" + "modelDataflowId": "text", + "entityName": "text", + "partitionUri": "text", + "entityAttributes": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Record.Combine", - "Documentation": { - "Documentation.Name": "Record.Combine", - "Documentation.Description": "Combines the records in the given list.", - "Documentation.LongDescription": "Combines the records in the given records. If the records contains non-record values, an error is returned.", - "Documentation.Category": "Record.Transformations", - "Documentation.Examples": [ - { - "Description": "Create a combined record from the records.", - "Code": "Record.Combine({\r\n [CustomerID = 1, Name = \"Bob\"],\r\n [Phone = \"123-4567\"]\r\n})", - "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" - } - ] - }, - "ReturnType": "record", + "Name": "AIFunctions.PostProcess", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "records": "list" + "input": "table", + "columnName": "text", + "functionName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Record.FieldCount", - "Documentation": { - "Documentation.Name": "Record.FieldCount", - "Documentation.Description": "Returns the number of fields in the record.", - "Documentation.LongDescription": "Returns the number of fields in the record record.", - "Documentation.Category": "Record.Information", - "Documentation.Examples": [ - { - "Description": "Find the number of fields in the record.", - "Code": "Record.FieldCount([CustomerID = 1, Name = \"Bob\"])", - "Result": "2" - } - ] - }, - "ReturnType": "number", - "Parameters": { - "record": "record" - }, - "RequiredParameters": "1" + "Name": "AIInsights.Contents", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Record.FieldNames", - "Documentation": { - "Documentation.Name": "Record.FieldNames", - "Documentation.Description": "Returns the names of the fields.", - "Documentation.LongDescription": "Returns the names of the fields in the record record as text.", - "Documentation.Category": "Record.Selection", - "Documentation.Examples": [ - { - "Description": "Find the names of the fields in the record.", - "Code": "Record.FieldNames([OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0])", - "Result": "{\"OrderID\", \"CustomerID\", \"Item\", \"Price\"}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "record": "record" - }, - "RequiredParameters": "1" + "Name": "AIInsights.ContentsGenerator", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Record.FieldValues", - "Documentation": { - "Documentation.Name": "Record.FieldValues", - "Documentation.Description": "Returns a list of the field values.", - "Documentation.LongDescription": "Returns a list of the field values in record record.", - "Documentation.Category": "Record.Selection", - "Documentation.Examples": [ - { - "Description": "Find the field values in the record.", - "Code": "Record.FieldValues([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"])", - "Result": "{1, \"Bob\", \"123-4567\"}" - } - ] - }, - "ReturnType": "list", + "Name": "AML.Execute", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "record": "record" + "uri": "text", + "key": "text", + "payload": "text", + "version": "number", + "dataframeName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "5" }, { - "Name": "Record.FromTable", - "Documentation": { - "Documentation.Name": "Record.FromTable", - "Documentation.Description": "Creates a record from a table of the form {[Name = name, Value = value]}.", - "Documentation.LongDescription": "Returns a record from a table of records table containing field names and value names {[Name = name, Value = value]}. An exception is thrown if the field names are not unique.", - "Documentation.Category": "Record.Serialization", - "Documentation.Examples": [ - { - "Description": "Create a record from the table of the form Table.FromRecords({[Name = \"CustomerID\", Value = 1], [Name = \"Name\", Value = \"Bob\"], [Name = \"Phone\", Value = \"123-4567\"]}).", - "Code": "Record.FromTable(\r\n Table.FromRecords({\r\n [Name = \"CustomerID\", Value = 1],\r\n [Name = \"Name\", Value = \"Bob\"],\r\n [Name = \"Phone\", Value = \"123-4567\"]\r\n })\r\n)", - "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" - } - ] - }, - "ReturnType": "record", + "Name": "AML.ExecuteBatch", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "table": "table" + "uri": "text", + "key": "text", + "inputTable": "table", + "version": "number", + "dataframeName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "5" }, { - "Name": "Record.ToList", + "Name": "ActiveDirectory.Domains", "Documentation": { - "Documentation.Name": "Record.ToList", - "Documentation.Description": "Returns a list of values containing the field values of the input record.", - "Documentation.LongDescription": "Returns a list of values containing the field values from the input record.", - "Documentation.Category": "Record.Serialization", - "Documentation.Examples": [ - { - "Description": "Extract the field values from a record.", - "Code": "Record.ToList([A = 1, B = 2, C = 3])", - "Result": "{1, 2, 3}" - } - ] + "Documentation.Name": "ActiveDirectory.Domains", + "Documentation.Description": "Returns a list of Active Directory domains in the same forest as the specified domain or of the current machine's domain if none is specified.", + "Documentation.LongDescription": "Returns a list of Active Directory domains in the same forest as the specified domain or of the current machine's domain if none is specified.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "record": "record" + "forestRootDomainName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Resource.Access", + "Name": "AdoDotNet.Query", "Documentation": { - "Documentation.Name": "Resource.Access", - "Documentation.Description": "Resource.Access", - "Documentation.LongDescription": "Resource.Access", - "Documentation.Category": "", + "Documentation.Name": "AdoDotNet.Query", + "Documentation.Description": "Returns the result of running a native query on an ADO.NET data source.", + "Documentation.LongDescription": "Returns the result of running query with the connection string connectionString using the ADO.NET provider providerName. connectionString can be text or a record of property value pairs. Property values can either be text or number. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n", + "Documentation.Category": "Accessing data", "Documentation.Examples": [] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "resource": "any", - "nativeQuery": "text", + "providerName": "text", + "connectionString": "any", + "query": "text", "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "RowExpression.Column", + "Name": "AdobeAnalytics.Cubes", "Documentation": { - "Documentation.Name": "RowExpression.Column", - "Documentation.Description": "Returns an abstract syntax tree (AST) that represents access to a column within a row expression.", - "Documentation.LongDescription": "Returns an abstract syntax tree (AST) that represents access to column columnName of the row within a row expression.", - "Documentation.Category": "Table.Table construction", - "Documentation.Examples": [ - { - "Description": "Creates an AST representing access of column \"CustomerName\".", - "Code": "RowExpression.Column(\"CustomerName\")", - "Result": "[\r\n Kind = \"FieldAccess\",\r\n Expression = RowExpression.Row,\r\n MemberName = \"CustomerName\"\r\n]" - } - ] + "Documentation.Name": "AdobeAnalytics.Cubes", + "Documentation.Description": "Returns the report suites in Adobe Analytics.", + "Documentation.LongDescription": "Returns a table of multidimensional packages from Adobe Analytics. An optional record parameter, options, may be specified to control the following options:\r\n \r\n\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "columnName": "text" + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "RowExpression.From", + "Name": "ApacheHiveLLAP.Database", "Documentation": { - "Documentation.Name": "RowExpression.From", - "Documentation.Description": "Returns the abstract syntax tree (AST) for the body of a function.", - "Documentation.LongDescription": "

Returns the abstract syntax tree (AST) for the body of function, normalized into a row expression:\r\n

\r\n

\r\n

An error is raised if a row expression AST cannot be returned for the body of function.

", - "Documentation.Category": "Table.Table construction", - "Documentation.Examples": [ - { - "Description": "Returns the AST for the body of the function each [CustomerID] = \"ALFKI\"", - "Code": "RowExpression.From(each [CustomerName] = \"ALFKI\")", - "Result": "[\r\n Kind = \"Binary\",\r\n Operator = \"Equals\",\r\n Left = RowExpression.Column(\"CustomerName\"),\r\n Right =\r\n [\r\n Kind = \"Constant\",\r\n Value = \"ALFKI\"\r\n ]\r\n]" - } - ] + "Documentation.Name": "Hive LLAP", + "Documentation.Caption": null, + "Documentation.Description": "Import data from a Hive LLAP", + "Documentation.LongDescription": "\r\nReturns a list of tables from Hive LLAP specified by the database on the Hive LLAP server using the selected protocol. A port number may be optionally specified with the server, separated by a colon. The Thrift Transport Protocol is an enumerated type with values \"Standard\", \"HTTP\". An optional options parameter may be specified to control the following options:\r\n\r\nThe options parameter is specified as [option1 = value1, option2 = value2...]." }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "function": "function" + "server": "text", + "database": "text", + "thriftTransport": "number", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Single.From", + "Name": "AzureDevOpsServer.Views", "Documentation": { - "Documentation.Name": "Single.From", - "Documentation.Description": "Creates a Single from the given value.", - "Documentation.LongDescription": "Returns a Single number value from the given value. If the given value is null, Single.From returns null. If the given value is number within the range of Single, value is returned, otherwise an error is returned. If value is of any other type, it will first be converted to a number using Number.FromText. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Number.Conversion and formatting", - "Documentation.Examples": [ - { - "Description": "Get the Single number value of \"1.5\".", - "Code": "Single.From(\"1.5\")", - "Result": "1.5" - } - ] + "Documentation.Description": "Enter organization and project names.", + "Documentation.DisplayName": "VSTS.Views", + "Documentation.Caption": "VSTS.Views", + "Documentation.Name": "Azure DevOps Services", + "Documentation.LongDescription": "Returns a table of OData feeds offered by Azure DevOps." }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "value": "any", - "culture": "text" + "url": "text", + "project": "text", + "areaPath": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Smartsheet.Content", - "Documentation": { - "Documentation.Description": "Returns a table of data from an Smartsheet index endpoint.", - "Documentation.DisplayName": "Smartsheet.Content", - "Documentation.Caption": "Smartsheet.Content", - "Documentation.Name": "Smartsheet.Content", - "Documentation.LongDescription": "Makes a call to the Smartsheet 2.0 REST API at the specified endpoint and transforms the data element returned into a table.", - "Documentation.Examples": [ - { - "Description": "Pulls a table of users information from the Smartsheet API", - "Code": "Smartsheet.Content(\"users\")", - "Result": "A table with users information as returned by the Smartsheet API" - } - ] + "Name": "AzureMLFunctions.Contents", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "AzureMLFunctions.Execute", + "Documentation": {}, + "ReturnType": "any", + "Parameters": { + "uri": "text", + "key": "text", + "payload": "text", + "version": "number", + "dataframeName": "text" }, + "RequiredParameters": "5" + }, + { + "Name": "AzureMLFunctions.ExecuteBatch", + "Documentation": {}, "ReturnType": "any", "Parameters": { - "endpoint": "text" + "uri": "text", + "key": "text", + "inputTable": "table", + "version": "number", + "dataframeName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "5" }, { - "Name": "Splitter.SplitTextByAnyDelimiter", + "Name": "BinaryFormat.Binary", "Documentation": { - "Documentation.Name": "Splitter.SplitTextByAnyDelimiter", - "Documentation.Description": "Returns a function that splits text into a list of text at any of the specified delimiters.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text at any of the specified delimiters.", - "Documentation.Category": "Splitter", - "Documentation.Examples": [ - { - "Description": "Split the input by comma or semicolon, ignoring quotes and quoted delimiters and starting from the beginning of the input.", - "Code": "Splitter.SplitTextByAnyDelimiter({\",\", \";\"}, QuoteStyle.Csv)(\"a,b;\"\"c,d;e\"\",f\")", - "Result": "{\"a\", \"b\", \"c,d;e\", \"f\"}" - }, - { - "Description": "Split the input by comma or semicolon, ignoring quotes and quoted delimiters and starting from the end of the input.", - "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByAnyDelimiter({\",\", \";\"}, QuoteStyle.Csv, startAtEnd)(\"a,\"\"b;c,d\")", - "Result": "{\"a,b\", \"c\", \"d\"}" - } - ] + "Documentation.Name": "BinaryFormat.Binary", + "Documentation.Description": "Returns a binary format that reads a binary value.", + "Documentation.LongDescription": "Returns a binary format that reads a binary value. If length is specified, the binary value will contain that many bytes. If length is not specified, the binary value will contain the remaining bytes. The length can be specified either as a number, or as a binary format of the length that precedes the binary data.", + "Documentation.Category": "Binary Formats.Reading binary data", + "Documentation.Examples": [] }, "ReturnType": "function", "Parameters": { - "delimiters": "list", - "quoteStyle": "QuoteStyle.Type", - "startAtEnd": "logical" + "length": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Splitter.SplitTextByDelimiter", + "Name": "Comparer.Equals", "Documentation": { - "Documentation.Name": "Splitter.SplitTextByDelimiter", - "Documentation.Description": "Returns a function that splits text into a list of text according to the specified delimiter.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text according to the specified delimiter.", - "Documentation.Category": "Splitter", + "Documentation.Name": "Comparer.Equals", + "Documentation.Description": "Returns a logical value based on the equality check over the two given values.", + "Documentation.LongDescription": "Returns a logical value based on the equality check over the two given values, x and y, using the provided comparer.\r\n
\r\n comparer is a Comparer which is used to control the comparison.\r\n A comparer is a function that accepts two arguments and returns -1, 0, or 1 based on whether the first value is less than, equal to, or greater than the second.\r\n Comparers can be used to provide case-insensitive or culture and locale-aware comparisons.\r\n
\r\n
\r\n The following built-in comparers are available in the formula language:\r\n
\r\n ", + "Documentation.Category": "Comparer", "Documentation.Examples": [ { - "Description": "Split the input by comma, ignoring quoted commas.", - "Code": "Splitter.SplitTextByDelimiter(\",\", QuoteStyle.Csv)(\"a,\"\"b,c\"\",d\")", - "Result": "{\"a\", \"b,c\", \"d\"}" + "Description": "Compare \"1\" and \"A\" using \"en-US\" locale to determine if the values are equal.", + "Code": "Comparer.Equals(Comparer.FromCulture(\"en-US\"), \"1\", \"A\")", + "Result": "false" } ] }, - "ReturnType": "function", + "ReturnType": "logical", "Parameters": { - "delimiter": "text", - "quoteStyle": "QuoteStyle.Type" + "comparer": "function", + "x": "any", + "y": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Splitter.SplitTextByEachDelimiter", + "Name": "Cube.AddAndExpandDimensionColumn", "Documentation": { - "Documentation.Name": "Splitter.SplitTextByEachDelimiter", - "Documentation.Description": "Returns a function that splits text into a list of text at each specified delimiter in sequence.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text at each specified delimiter in sequence.", - "Documentation.Category": "Splitter", - "Documentation.Examples": [ - { - "Description": "Split the input by comma, then semicolon, starting from the beginning of the input.", - "Code": "Splitter.SplitTextByEachDelimiter({\",\", \";\"})(\"a,b;c,d\")", - "Result": "{\"a\", \"b\", \"c,d\"}" - }, - { - "Description": "Split the input by comma, then semicolon, treating quotes like any other character and starting from the end of the input.", - "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByEachDelimiter({\",\", \";\"}, QuoteStyle.None, startAtEnd)(\"a,\"\"b;c\"\",d\")", - "Result": "{\"a,\"\"b\", \"c\"\"\", \"d\"}" - } - ] + "Documentation.Name": "Cube.AddAndExpandDimensionColumn", + "Documentation.Description": "Merges the specified dimension table into the cube’s filter context and changes the dimensional granularity of the filter context by expanding the specified set of dimension attributes.", + "Documentation.LongDescription": "Merges the specified dimension table, dimensionSelector, into the cube’s, cube, filter context and changes the dimensional granularity by expanding the specified set, attributeNames, of dimension attributes. The dimension attributes are added to the tabular view with columns named newColumnNames, or attributeNames if not specified.", + "Documentation.Category": "Cube", + "Documentation.Examples": [] }, - "ReturnType": "function", + "ReturnType": "table", "Parameters": { - "delimiters": "list", - "quoteStyle": "QuoteStyle.Type", - "startAtEnd": "logical" + "cube": "table", + "dimensionSelector": "any", + "attributeNames": "list", + "newColumnNames": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Splitter.SplitTextByLengths", + "Name": "Cube.AddMeasureColumn", "Documentation": { - "Documentation.Name": "Splitter.SplitTextByLengths", - "Documentation.Description": "Returns a function that splits text into a list of text by each specified length.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text by each specified length.", - "Documentation.Category": "Splitter", - "Documentation.Examples": [ - { - "Description": "Split the input into the first two characters followed by the next three, starting from the beginning of the input.", - "Code": "Splitter.SplitTextByLengths({2, 3})(\"AB123\")", - "Result": "{\"AB\", \"123\"}" - }, - { - "Description": "Split the input into the first three characters followed by the next two, starting from the end of the input.", - "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByLengths({5, 2}, startAtEnd)(\"RedmondWA98052\")", - "Result": "{\"WA\", \"98052\"}" - } - ] + "Documentation.Name": "Cube.AddMeasureColumn", + "Documentation.Description": "Adds a column to the cube that contains the results of the measure applied in the row context of each row.", + "Documentation.LongDescription": "Adds a column with the name column to the cube that contains the results of the measure measureSelector applied in the row context of each row. Measure application is affected by changes to dimension granularity and slicing. Measure values will be adjusted after certain cube operations are performed.", + "Documentation.Category": "Cube", + "Documentation.Examples": [] }, - "ReturnType": "function", + "ReturnType": "table", "Parameters": { - "lengths": "list", - "startAtEnd": "logical" + "cube": "table", + "column": "text", + "measureSelector": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Splitter.SplitTextByPositions", + "Name": "DataWorld.Contents", + "Documentation": {}, + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "DateTime.FixedLocalNow", "Documentation": { - "Documentation.Name": "Splitter.SplitTextByPositions", - "Documentation.Description": "Returns a function that splits text into a list of text at each specified position.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text at each specified position.", - "Documentation.Category": "Splitter", - "Documentation.Examples": [ - { - "Description": "Split the input at the specified positions, starting from the beginning of the input.", - "Code": "Splitter.SplitTextByPositions({0, 3, 4})(\"ABC|12345\")", - "Result": "{\"ABC\", \"|\", \"12345\"}" - }, - { - "Description": "Split the input at the specified positions, starting from the end of the input.", - "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByPositions({0, 5}, startAtEnd)(\"Redmond98052\")", - "Result": "{\"Redmond\", \"98052\"}" - } - ] - }, - "ReturnType": "function", - "Parameters": { - "positions": "list", - "startAtEnd": "logical" + "Documentation.Name": "DateTime.FixedLocalNow", + "Documentation.Description": "Returns the current date and time in the local timezone. This value is fixed and will not change with successive calls.", + "Documentation.LongDescription": "Returns a datetime value set to the current date and time on the system. This value is fixed and will not change with successive calls, unlike DateTime.LocalNow, which may return different values over the course of execution of an expression.", + "Documentation.Category": "DateTime", + "Documentation.Examples": [] }, - "RequiredParameters": "1" + "ReturnType": "datetime", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Splitter.SplitTextByRanges", + "Name": "DateTime.LocalNow", "Documentation": { - "Documentation.Name": "Splitter.SplitTextByRanges", - "Documentation.Description": "Returns a function that splits text into a list of text according to the specified offsets and lengths.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text according to the specified offsets and lengths. A null length indicates that all remaining input should be included.", - "Documentation.Category": "Splitter", - "Documentation.Examples": [ - { - "Description": "Split the input by the specified position and length pairs, starting from the beginning of the input. Note that the ranges in this example overlap.", - "Code": "Splitter.SplitTextByRanges({{0, 4}, {2, 10}})(\"codelimiter\")", - "Result": "{\"code\", \"delimiter\"}" - }, - { - "Description": "Split the input by the specified position and length pairs, starting from the end of the input.", - "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByRanges({{0, 5}, {6, 2}}, startAtEnd)(\"RedmondWA?98052\")", - "Result": "{\"WA\", \"98052\"}" - }, - { - "Description": "Split the input into a fixed-length postal code followed by a variable-length city name.", - "Code": "Splitter.SplitTextByRanges({{0, 5}, {5, null}})(\"98052Redmond\")", - "Result": "{\"98052\", \"Redmond\"}" - } - ] + "Documentation.Name": "DateTime.LocalNow", + "Documentation.Description": "Returns the current date and time in the local timezone.", + "Documentation.LongDescription": "Returns a datetime value set to the current date and time on the system.", + "Documentation.Category": "DateTime", + "Documentation.Examples": [] }, - "ReturnType": "function", - "Parameters": { - "ranges": "list", - "startAtEnd": "logical" + "ReturnType": "datetime", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "DateTimeZone.FixedLocalNow", + "Documentation": { + "Documentation.Name": "DateTimeZone.FixedLocalNow", + "Documentation.Description": "Returns the current date & time in the local timezone. This value is fixed and will not change with successive calls.", + "Documentation.LongDescription": "Returns a datetime value set to the current date and time on the system. The returned value contains timezone information representing the local timezone. This value is fixed and will not change with successive calls, unlike DateTimeZone.LocalNow, which may return different values over the course of execution of an expression.", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [] }, - "RequiredParameters": "1" + "ReturnType": "datetimezone", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Splitter.SplitTextByRepeatedLengths", + "Name": "DateTimeZone.FixedUtcNow", "Documentation": { - "Documentation.Name": "Splitter.SplitTextByRepeatedLengths", - "Documentation.Description": "Returns a function that splits text into a list of text after the specified length repeatedly.", - "Documentation.LongDescription": "Returns a function that splits text into a list of text after the specified length repeatedly.", - "Documentation.Category": "Splitter", - "Documentation.Examples": [ - { - "Description": "Repeatedly split the input into chunks of three characters, starting from the beginning of the input.", - "Code": "Splitter.SplitTextByRepeatedLengths(3)(\"12345678\")", - "Result": "{\"123\", \"456\", \"78\"}" - }, - { - "Description": "Repeatedly split the input into chunks of three characters, starting from the end of the input.", - "Code": "let\r\n startAtEnd = true\r\nin\r\n Splitter.SplitTextByRepeatedLengths(3, startAtEnd)(\"87654321\")", - "Result": "{\"87\", \"654\", \"321\"}" - } - ] - }, - "ReturnType": "function", - "Parameters": { - "length": "number", - "startAtEnd": "logical" + "Documentation.Name": "DateTimeZone.FixedUtcNow", + "Documentation.Description": "Returns the current date and time in UTC (the GMT timezone). This value is fixed and will not change with successive calls.", + "Documentation.LongDescription": "Returns the current date and time in UTC (the GMT timezone). This value is fixed and will not change with successive calls.", + "Documentation.Category": "DateTimeZone", + "Documentation.Examples": [] }, - "RequiredParameters": "1" + "ReturnType": "datetimezone", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "SqlExpression.SchemaFrom", + "Name": "DateTimeZone.LocalNow", "Documentation": { - "Documentation.Name": "SqlExpression.SchemaFrom", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Values.Implementation", + "Documentation.Name": "DateTimeZone.LocalNow", + "Documentation.Description": "Returns the current date & time in the local timezone.", + "Documentation.LongDescription": "Returns a datetimezone value set to the current date and time on the system.\r\n The returned value contains timezone information representing the local timezone.", + "Documentation.Category": "DateTimeZone", "Documentation.Examples": [] }, - "ReturnType": "any", - "Parameters": { - "schema": "any" - }, - "RequiredParameters": "1" + "ReturnType": "datetimezone", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Table.ApproximateRowCount", + "Name": "DateTimeZone.UtcNow", "Documentation": { - "Documentation.Name": "Table.ApproximateRowCount", - "Documentation.Description": "Returns the approximate number of rows in the table.", - "Documentation.LongDescription": "Returns the approximate number of rows in the table, or an error if the data source doesn't support approximation.", - "Documentation.Category": "Table.Information", + "Documentation.Name": "DateTimeZone.UtcNow", + "Documentation.Description": "Returns the current date and time in UTC (the GMT timezone).", + "Documentation.LongDescription": "Returns the current date and time in UTC (the GMT timezone).", + "Documentation.Category": "DateTimeZone", "Documentation.Examples": [ { - "Description": "Estimate the number of distinct combinations of city and state in a large table, which can be used as a cardinality estimate for the columns. Cardinality estimates are important enough that various data sources (such as SQL Server) support this particular approximation, often using an algorithm called HyperLogLog.", - "Code": "Table.ApproximateRowCount(Table.Distinct(Table.SelectColumns(sqlTable, {\"city\", \"state\"})))", - "Result": "number" + "Description": "Get the current date & time in UTC.", + "Code": "DateTimeZone.UtcNow()", + "Result": "#datetimezone(2011, 8, 16, 23, 34, 37.745, 0, 0)" } ] }, - "ReturnType": "number", - "Parameters": { - "table": "table" + "ReturnType": "datetimezone", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "Diagnostics.ActivityId", + "Documentation": { + "Documentation.Name": "Diagnostics.ActivityId", + "Documentation.Description": "Returns an opaque identifier for the currently-running evaluation.", + "Documentation.LongDescription": "Returns an opaque identifier for the currently-running evaluation.", + "Documentation.Category": "Diagnostics", + "Documentation.Examples": [] }, - "RequiredParameters": "1" + "ReturnType": "text", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Table.ColumnCount", + "Name": "Diagnostics.Trace", "Documentation": { - "Documentation.Name": "Table.ColumnCount", - "Documentation.Description": "Returns the number of columns in the table.", - "Documentation.LongDescription": "Returns the number of columns in the table table.", - "Documentation.Category": "Table.Information", + "Documentation.Name": "Diagnostics.Trace", + "Documentation.Description": "Writes a trace entry, if tracing is enabled, and returns the value.", + "Documentation.LongDescription": "Writes a trace message, if tracing is enabled, and returns value. An optional parameter delayed specifies whether to delay the evaluation of value until the message is traced. traceLevel can take one of the following values:\r\n TraceLevel.Critical\r\n TraceLevel.Error,\r\n TraceLevel.Warning,\r\n TraceLevel.Information,\r\n TraceLevel.Verbose.\r\n ", + "Documentation.Category": "Diagnostics", "Documentation.Examples": [ { - "Description": "Find the number of columns in the table.", - "Code": "Table.ColumnCount(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", - "Result": "3" + "Description": "Trace the message before invoking Text.From function and return the result.", + "Code": "Diagnostics.Trace(TraceLevel.Information, \"TextValueFromNumber\", () => Text.From(123), true)", + "Result": "\"123\"" } ] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "table": "table" + "traceLevel": "number", + "message": "any", + "value": "any", + "delayed": "logical" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Table.ColumnNames", + "Name": "Dynamics365BusinessCentral.ApiContents", "Documentation": { - "Documentation.Name": "Table.ColumnNames", - "Documentation.Description": "Returns the column names as a list.", - "Documentation.LongDescription": "Returns the column names in the table table as a list of text.", - "Documentation.Category": "Table.Column operations", - "Documentation.Examples": [ - { - "Description": "Find the column names of the table.", - "Code": "Table.ColumnNames(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n })\r\n)", - "Result": "{\"CustomerID\", \"Name\", \"Phone\"}" - } - ] + "Documentation.Description": "Enter your Dynamics 365 Business Central environment and company.", + "Documentation.DisplayName": "Dynamics 365 Business Central", + "Documentation.Caption": "Dynamics365BusinessCentral.Contents", + "Documentation.Name": "Dynamics 365 Business Central", + "Documentation.LongDescription": "Returns a table with relevant Dynamics 365 Business Central data. " }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "table": "table" + "environment": "text", + "company": "text", + "apiRoute": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Table.First", + "Name": "Dynamics365BusinessCentral.ApiContentsWithOptions", "Documentation": { - "Documentation.Name": "Table.First", - "Documentation.Description": "Returns the first row or a specified default value.", - "Documentation.LongDescription": "Returns the first row of the table or an optional default value, default, if the table is empty.", - "Documentation.Category": "Table.Row operations", - "Documentation.Examples": [ - { - "Description": "Find the first row of the table.", - "Code": "Table.First(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", - "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" - }, - { - "Description": "Find the first row of the table ({}) or return [a = 0, b = 0] if empty.", - "Code": "Table.First(Table.FromRecords({}), [a = 0, b = 0])", - "Result": "[a = 0, b = 0]" - } - ] + "Documentation.Description": "Enter your Dynamics 365 Business Central environment and company.", + "Documentation.DisplayName": "Dynamics 365 Business Central", + "Documentation.Caption": "Dynamics365BusinessCentral.Contents", + "Documentation.Name": "Dynamics 365 Business Central", + "Documentation.LongDescription": "Returns a table with relevant Dynamics 365 Business Central data. " }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "table": "table", - "default": "any" + "environment": "text", + "company": "text", + "apiRoute": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Table.FirstValue", + "Name": "Dynamics365BusinessCentral.Contents", "Documentation": { - "Documentation.Name": "Table.FirstValue", - "Documentation.Description": "Returns the first column of the first row of the table or a specified default value.", - "Documentation.LongDescription": "Returns the first column of the first row of the table table or a specified default value.", - "Documentation.Category": "Table.Row operations", - "Documentation.Examples": [] + "Documentation.Description": "Enter your Dynamics 365 Business Central environment and company.", + "Documentation.DisplayName": "Dynamics 365 Business Central", + "Documentation.Caption": "Dynamics365BusinessCentral.Contents", + "Documentation.Name": "Dynamics 365 Business Central", + "Documentation.LongDescription": "Returns a table with relevant Dynamics 365 Business Central data. " }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "table": "table", - "default": "any" + "company": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Table.IsDistinct", + "Name": "Dynamics365BusinessCentral.EnvironmentContents", "Documentation": { - "Documentation.Name": "Table.IsDistinct", - "Documentation.Description": "Indicates whether the table contains only distinct rows (no duplicates).", - "Documentation.LongDescription": "Indicates whether the table contains only distinct rows (no duplicates). Returns true if the rows are distinct, false otherwise.\r\n An optional parameter, comparisonCriteria, specifies which columns of the table are tested for duplication. If comparisonCriteria is not specified, all columns are tested.", - "Documentation.Category": "Table.Membership", - "Documentation.Examples": [ - { - "Description": "Determine if the table is distinct.", - "Code": "Table.IsDistinct(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n })\r\n)", - "Result": "true" - }, - { - "Description": "Determine if the table is distinct in column.", - "Code": "Table.IsDistinct(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 5, Name = \"Bob\", Phone = \"232-1550\"]\r\n }),\r\n \"Name\"\r\n)", - "Result": "false" - } - ] + "Documentation.Description": "Enter your Dynamics 365 Business Central environment and company.", + "Documentation.DisplayName": "Dynamics 365 Business Central", + "Documentation.Caption": "Dynamics365BusinessCentral.Contents", + "Documentation.Name": "Dynamics 365 Business Central", + "Documentation.LongDescription": "Returns a table with relevant Dynamics 365 Business Central data. " }, - "ReturnType": "logical", + "ReturnType": "table", "Parameters": { - "table": "table", - "comparisonCriteria": "any" + "environment": "text", + "company": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Table.IsEmpty", + "Name": "Excel.CurrentWorkbook", "Documentation": { - "Documentation.Name": "Table.IsEmpty", - "Documentation.Description": "Indicates whether the table contains any rows.", - "Documentation.LongDescription": "Indicates whether the table contains any rows. Returns true if there are no rows (i.e. the table is empty), false otherwise.", - "Documentation.Category": "Table.Information", - "Documentation.Examples": [ - { - "Description": "Determine if the table is empty.", - "Code": "Table.IsEmpty(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", - "Result": "false" - }, - { - "Description": "Determine if the table ({}) is empty.", - "Code": "Table.IsEmpty(Table.FromRecords({}))", - "Result": "true" - } - ] + "Documentation.Name": "Excel.CurrentWorkbook", + "Documentation.Description": "Returns the contents of the current Excel workbook.", + "Documentation.LongDescription": "Returns the contents of the current Excel workbook. It returns tables, named ranges, and dynamic arrays. Unlike Excel.Workbook, it does not return sheets.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] + }, + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "Exchange.Contents", + "Documentation": { + "Documentation.Name": "Exchange.Contents", + "Documentation.Description": "Returns a table of contents from a Microsoft Exchange account.", + "Documentation.LongDescription": "Returns a table of contents from the Microsoft Exchange account mailboxAddress. If mailboxAddress is not specified, the default account for the credential will be used.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "logical", + "ReturnType": "table", "Parameters": { - "table": "table" + "mailboxAddress": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Table.Keys", + "Name": "GoogleAnalytics.Accounts", "Documentation": { - "Documentation.Name": "Table.Keys", - "Documentation.Description": "Returns the keys of the specified table.", - "Documentation.LongDescription": "Returns the keys of the specified table.", - "Documentation.Category": "Table.Transformation", - "Documentation.Examples": [ - { - "Description": "Get the list of keys for a table.", - "Code": "let\r\n table = Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n }),\r\n tableWithKeys = Table.AddKey(table, {\"Id\"}, true),\r\n keys = Table.Keys(tableWithKeys)\r\nin\r\n keys", - "Result": "{[Columns = {\"Id\"}, Primary = true]}" - } - ] + "Documentation.Name": "GoogleAnalytics.Accounts", + "Documentation.Description": "Returns Google Analytics accounts.", + "Documentation.LongDescription": "Returns Google Analytics accounts that are accessible from the current credential.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "table": "table" + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Table.Last", + "Name": "GoogleBigQuery.Database", "Documentation": { - "Documentation.Name": "Table.Last", - "Documentation.Description": "Returns the last row or a specified default value.", - "Documentation.LongDescription": "Returns the last row of the table or an optional default value, default, if the table is empty.", - "Documentation.Category": "Table.Row operations", + "Documentation.Name": "Google BigQuery", + "Documentation.Caption": "Google BigQuery", + "Documentation.Description": "Import data from a Google BigQuery database.", + "Documentation.LongDescription": "\r\n Returns a table listing the available projects in Google BigQuery. An optional record parameter, options, may be specified to control the following options:\r\n \r\n The record parameter is specified as [option1 = value1, option2 = value2...].\r\n ", "Documentation.Examples": [ { - "Description": "Find the last row of the table.", - "Code": "Table.Last(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", - "Result": "[CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]" - }, - { - "Description": "Find the last row of the table ({}) or return [a = 0, b = 0] if empty.", - "Code": "Table.Last(Table.FromRecords({}), [a = 0, b = 0])", - "Result": "[a = 0, b = 0]" + "Description": "List the available projects in Google BigQuery", + "Code": "GoogleBigQuery.Database()" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "table": "table", - "default": "any" + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Table.RowCount", + "Name": "IdentityProvider.Default", "Documentation": { - "Documentation.Name": "Table.RowCount", - "Documentation.Description": "Returns the number of rows in the table.", - "Documentation.LongDescription": "Returns the number of rows in the table.", - "Documentation.Category": "Table.Information", - "Documentation.Examples": [ - { - "Description": "Find the number of rows in the table.", - "Code": "Table.RowCount(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", - "Result": "3" - } - ] + "Documentation.Name": "IdentityProvider.Default", + "Documentation.Description": "The default identity provider for the current host.", + "Documentation.LongDescription": "The default identity provider for the current host.", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "LinkedIn.SalesContracts", + "Documentation": {}, + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "LinkedIn.SalesContractsWithReportAccess", + "Documentation": {}, + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "LinkedIn.SalesNavigatorAnalytics", + "Documentation": {}, + "ReturnType": "table", "Parameters": { - "table": "table" + "contractName": "text", + "action": "text", + "startAt": "date", + "endAt": "date" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Table.SingleRow", - "Documentation": { - "Documentation.Name": "Table.SingleRow", - "Documentation.Description": "Returns the single row in the table.", - "Documentation.LongDescription": "Returns the single row in the one row table. If the table has more than one row, an exception is thrown.", - "Documentation.Category": "Table.Row operations", - "Documentation.Examples": [ - { - "Description": "Return the single row in the table.", - "Code": "Table.SingleRow(Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}))", - "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]" - } - ] - }, - "ReturnType": "record", + "Name": "LinkedIn.SalesNavigatorAnalyticsImpl", + "Documentation": {}, + "ReturnType": "any", "Parameters": { - "table": "table" + "contractName": "text", + "action": "text", + "startAt": "date", + "endAt": "date" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Table.ToColumns", + "Name": "List.Accumulate", "Documentation": { - "Documentation.Name": "Table.ToColumns", - "Documentation.Description": "Creates a list of nested lists of column values from a table.", - "Documentation.LongDescription": "Creates a list of nested lists from the table, table. Each list item is an inner list that contains the column values.", - "Documentation.Category": "Table.Conversions", + "Documentation.Name": "List.Accumulate", + "Documentation.Description": "Accumulates a summary value from the items in the list.", + "Documentation.LongDescription": "Accumulates a summary value from the items in the list list, using accumulator.\r\n An optional seed parameter, seed, may be set.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Create a list of the column values from the table.", - "Code": "Table.ToColumns(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n })\r\n)", - "Result": "{{1, 2}, {\"Bob\", \"Jim\"}, {\"123-4567\", \"987-6543\"}}" + "Description": "Accumulates the summary value from the items in the list {1, 2, 3, 4, 5} using ((state, current) => state + current ).", + "Code": "List.Accumulate({1, 2, 3, 4, 5}, 0, (state, current) => state + current)", + "Result": "15" } ] }, - "ReturnType": "list", + "ReturnType": "any", "Parameters": { - "table": "table" + "list": "list", + "seed": "any", + "accumulator": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Table.ToList", + "Name": "List.DateTimeZones", "Documentation": { - "Documentation.Name": "Table.ToList", - "Documentation.Description": "Converts a table into a list by applying the specified combining function to each row of values in the table.", - "Documentation.LongDescription": "Converts a table into a list by applying the specified combining function to each row of values in the table.", - "Documentation.Category": "Table.Conversions", + "Documentation.Name": "List.DateTimeZones", + "Documentation.Description": "Generates a list of datetimezone values given an initial value, count, and incremental duration value.", + "Documentation.LongDescription": "Returns a list of datetimezone values of size count, starting at start. The given increment, step, is a duration value that is added to every value.", + "Documentation.Category": "List.Generators", "Documentation.Examples": [ { - "Description": "Combine the text of each row with a comma.", - "Code": "Table.ToList(\r\n Table.FromRows({\r\n {Number.ToText(1), \"Bob\", \"123-4567\"},\r\n {Number.ToText(2), \"Jim\", \"987-6543\"},\r\n {Number.ToText(3), \"Paul\", \"543-7890\"}\r\n }),\r\n Combiner.CombineTextByDelimiter(\",\")\r\n)", - "Result": "{\"1,Bob,123-4567\", \"2,Jim,987-6543\", \"3,Paul,543-7890\"}" + "Description": "Create a list of 10 values starting from 5 minutes before New Year's Day (#datetimezone(2011, 12, 31, 23, 55, 0, -8, 0)) incrementing by 1 minute (#duration(0, 0, 1, 0)).", + "Code": "List.DateTimeZones(#datetimezone(2011, 12, 31, 23, 55, 0, -8, 0), 10, #duration(0, 0, 1, 0))", + "Result": "{\r\n #datetimezone(2011, 12, 31, 23, 55, 0, -8, 0),\r\n #datetimezone(2011, 12, 31, 23, 56, 0, -8, 0),\r\n #datetimezone(2011, 12, 31, 23, 57, 0, -8, 0),\r\n #datetimezone(2011, 12, 31, 23, 58, 0, -8, 0),\r\n #datetimezone(2011, 12, 31, 23, 59, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 0, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 1, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 2, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 3, 0, -8, 0),\r\n #datetimezone(2012, 1, 1, 0, 4, 0, -8, 0)\r\n}" } ] }, "ReturnType": "list", "Parameters": { - "table": "table", - "combiner": "function" + "start": "datetimezone", + "count": "number", + "step": "duration" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Table.ToRecords", + "Name": "List.DateTimes", "Documentation": { - "Documentation.Name": "Table.ToRecords", - "Documentation.Description": "Converts a table to a list of records.", - "Documentation.LongDescription": "Converts a table, table, to a list of records.", - "Documentation.Category": "Table.Conversions", + "Documentation.Name": "List.DateTimes", + "Documentation.Description": "Generates a list of datetime values given an initial value, count, and incremental duration value.", + "Documentation.LongDescription": "Returns a list of datetime values of size count, starting at start. The given increment, step, is a duration value that is added to every value.", + "Documentation.Category": "List.Generators", "Documentation.Examples": [ { - "Description": "Convert the table to a list of records.", - "Code": "Table.ToRecords(\r\n Table.FromRows(\r\n {\r\n {1, \"Bob\", \"123-4567\"},\r\n {2, \"Jim\", \"987-6543\"},\r\n {3, \"Paul\", \"543-7890\"}\r\n },\r\n {\"CustomerID\", \"Name\", \"Phone\"}\r\n )\r\n)", - "Result": "{\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n}" + "Description": "Create a list of 10 values starting from 5 minutes before New Year's Day (#datetime(2011, 12, 31, 23, 55, 0)) incrementing by 1 minute (#duration(0, 0, 1, 0)).", + "Code": "List.DateTimes(#datetime(2011, 12, 31, 23, 55, 0), 10, #duration(0, 0, 1, 0))", + "Result": "{\r\n #datetime(2011, 12, 31, 23, 55, 0),\r\n #datetime(2011, 12, 31, 23, 56, 0),\r\n #datetime(2011, 12, 31, 23, 57, 0),\r\n #datetime(2011, 12, 31, 23, 58, 0),\r\n #datetime(2011, 12, 31, 23, 59, 0),\r\n #datetime(2012, 1, 1, 0, 0, 0),\r\n #datetime(2012, 1, 1, 0, 1, 0),\r\n #datetime(2012, 1, 1, 0, 2, 0),\r\n #datetime(2012, 1, 1, 0, 3, 0),\r\n #datetime(2012, 1, 1, 0, 4, 0)\r\n}" } ] }, "ReturnType": "list", "Parameters": { - "table": "table" + "start": "datetime", + "count": "number", + "step": "duration" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Table.ToRows", + "Name": "List.Dates", "Documentation": { - "Documentation.Name": "Table.ToRows", - "Documentation.Description": "Creates a list of nested lists of row values from a table.", - "Documentation.LongDescription": "Creates a list of nested lists from the table, table. Each list item is an inner list that contains the row values.", - "Documentation.Category": "Table.Conversions", + "Documentation.Name": "List.Dates", + "Documentation.Description": "Generates a list of date values given an initial value, count, and incremental duration value.", + "Documentation.LongDescription": "Returns a list of date values of size count, starting at start. The given increment, step, is a duration value that is added to every value.", + "Documentation.Category": "List.Generators", "Documentation.Examples": [ { - "Description": "Create a list of the row values from the table.", - "Code": "Table.ToRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n })\r\n)", - "Result": "{\r\n {1, \"Bob\", \"123-4567\"},\r\n {2, \"Jim\", \"987-6543\"},\r\n {3, \"Paul\", \"543-7890\"}\r\n}" + "Description": "Create a list of 5 values starting from New Year's Eve (#date(2011, 12, 31)) incrementing by 1 day(#duration(1, 0, 0, 0)).", + "Code": "List.Dates(#date(2011, 12, 31), 5, #duration(1, 0, 0, 0))", + "Result": "{\r\n #date(2011, 12, 31),\r\n #date(2012, 1, 1),\r\n #date(2012, 1, 2),\r\n #date(2012, 1, 3),\r\n #date(2012, 1, 4)\r\n}" } ] }, "ReturnType": "list", "Parameters": { - "table": "table" - }, - "RequiredParameters": "1" - }, - { - "Name": "Table.ViewError", - "Documentation": { - "Documentation.Name": "Table.ViewError", - "Documentation.Description": "Creates a modified error record which won't trigger a fallback when thrown by a handler defined on a view (via Table.View).", - "Documentation.LongDescription": "Creates a modified error record from errorRecord which won't trigger a fallback when thrown by a handler defined on a view (via Table.View).", - "Documentation.Category": "Table.Table construction", - "Documentation.Examples": [] - }, - "ReturnType": "record", - "Parameters": { - "errorRecord": "record" + "start": "date", + "count": "number", + "step": "duration" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Table.ViewFunction", + "Name": "List.Durations", "Documentation": { - "Documentation.Name": "Table.ViewFunction", - "Documentation.Description": "Creates a function that can be intercepted by a handler defined on a view (via Table.View).", - "Documentation.LongDescription": "

Creates a view function based on function that can be handled in a view created by Table.View.

\r\n

The OnInvoke handler of Table.View can be used to define a handler for the view function.

\r\n

As with the handlers for built-in operations, if no OnInvoke handler is specified, or if it does not handle the view function, or if an error is raised by the handler, function is applied on top of the view.

\r\n

Refer to the published Power Query custom connector documentation for a more complete description of Table.View and custom view functions.

", - "Documentation.Category": "Table.Table construction", - "Documentation.Examples": [] + "Documentation.Name": "List.Durations", + "Documentation.Description": "Generates a list of duration values given an initial value, count, and incremental duration value.", + "Documentation.LongDescription": "Returns a list of count duration values, starting at start and incremented by the given duration step.", + "Documentation.Category": "List.Generators", + "Documentation.Examples": [ + { + "Description": "Create a list of 5 values starting with 1 hour and incrementing by an hour.", + "Code": "List.Durations(#duration(0, 1, 0, 0), 5, #duration(0, 1, 0, 0))", + "Result": "{\r\n #duration(0, 1, 0, 0),\r\n #duration(0, 2, 0, 0),\r\n #duration(0, 3, 0, 0),\r\n #duration(0, 4, 0, 0),\r\n #duration(0, 5, 0, 0)\r\n}" + } + ] }, - "ReturnType": "function", + "ReturnType": "list", "Parameters": { - "function": "function" + "start": "duration", + "count": "number", + "step": "duration" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Text.Clean", + "Name": "List.Generate", "Documentation": { - "Documentation.Name": "Text.Clean", - "Documentation.Description": "Returns the text value with all control characters removed.", - "Documentation.LongDescription": "Returns a text value with all control characters of text removed.", - "Documentation.Category": "Text.Transformations", + "Documentation.Name": "List.Generate", + "Documentation.Description": "Generates a list of values.", + "Documentation.LongDescription": "Generates a list of values using the provided functions. The initial function generates a starting candidate value, which is then tested against condition.\r\n If the candidate value is approved, then it's returned as part of the resulting list, and the next candidate value is generated by passing the newly approved value to next.\r\n Once a candidate value fails to match condition, the list generation process stops.\r\n An optional parameter, selector, may also be provided to transform the items in the resulting list.", + "Documentation.Category": "List.Generators", "Documentation.Examples": [ { - "Description": "Remove line feeds and other control characters from a text value.", - "Code": "Text.Clean(\"ABC#(lf)D\")", - "Result": "\"ABCD\"" + "Description": "Create a list by starting at ten, repeatedly decrementing by one, and ensuring each item is greater than zero.", + "Code": "List.Generate(() => 10, each _ > 0, each _ - 1)", + "Result": "{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}" + }, + { + "Description": "Generate a list of records containing x and y, where x is a value and y is a list. x should remain less than 10 and represent the number of items in the list y. After the list is generated, return only the x values.", + "Code": "List.Generate(\r\n () => [x = 1, y = {}],\r\n each [x] < 10,\r\n each [x = List.Count([y]), y = [y] & {x}],\r\n each [x]\r\n)", + "Result": "{1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}" } ] }, - "ReturnType": "text", + "ReturnType": "list", "Parameters": { - "text": "text" + "initial": "function", + "condition": "function", + "next": "function", + "selector": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Text.Combine", + "Name": "List.InsertRange", "Documentation": { - "Documentation.Name": "Text.Combine", - "Documentation.Description": "Concatenates a list of text values into one text value.", - "Documentation.LongDescription": "Returns the result of combining the list of text values, texts, into a single text value. Any null values present in texts are ignored.\r\n An optional separator used in the final combined text can be specified.", - "Documentation.Category": "Text.Transformations", + "Documentation.Name": "List.InsertRange", + "Documentation.Description": "Inserts values into a list at the given index.", + "Documentation.LongDescription": "Returns a new list produced by inserting the values in values into list at index. The first position in the list is at index 0.\r\n ", + "Documentation.Category": "List.Selection", "Documentation.Examples": [ { - "Description": "Combine text values \"Seattle\" and \"WA\".", - "Code": "Text.Combine({\"Seattle\", \"WA\"})", - "Result": "\"SeattleWA\"" - }, - { - "Description": "Combine text values \"Seattle\" and \"WA\", separated by a comma and a space.", - "Code": "Text.Combine({\"Seattle\", \"WA\"}, \", \")", - "Result": "\"Seattle, WA\"" + "Description": "Insert the list ({3, 4}) into the target list ({1, 2, 5}) at index 2.", + "Code": "List.InsertRange({1, 2, 5}, 2, {3, 4})", + "Result": "{\r\n 1,\r\n 2,\r\n 3,\r\n 4,\r\n 5\r\n}" }, { - "Description": "Combine the values \"Seattle\", null, and \"WA\", separated by a comma and a space. (Note that the null is ignored.)", - "Code": "Text.Combine({\"Seattle\", null, \"WA\"}, \", \")", - "Result": "\"Seattle, WA\"" + "Description": "Insert a list with a nested list ({1, {1.1, 1.2}}) into a target list ({2, 3, 4}) at index 0.", + "Code": "List.InsertRange({2, 3, 4}, 0, {1, {1.1, 1.2}})", + "Result": "{\r\n 1,\r\n {\r\n 1.1,\r\n 1.2\r\n },\r\n 2,\r\n 3,\r\n 4\r\n}" } ] }, - "ReturnType": "text", + "ReturnType": "list", "Parameters": { - "texts": "list", - "separator": "text" + "list": "list", + "index": "number", + "values": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Text.From", + "Name": "List.ReplaceRange", "Documentation": { - "Documentation.Name": "Text.From", - "Documentation.Description": "Creates a text value from the given value.", - "Documentation.LongDescription": "Returns the text representation of value. The value can be a number, date, time, datetime, datetimezone, logical, duration or binary value.\r\n If the given value is null, Text.From returns null. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Text.Conversions from and to text", + "Documentation.Name": "List.ReplaceRange", + "Documentation.Description": "Replaces count number of values starting at position with the replacement values.", + "Documentation.LongDescription": "Replaces count values in the list with the list replaceWith, starting at specified position, index.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Create a text value from the number 3.", - "Code": "Text.From(3)", - "Result": "\"3\"" + "Description": "Replace {7, 8, 9} in the list {1, 2, 7, 8, 9, 5} with {3, 4}.", + "Code": "List.ReplaceRange({1, 2, 7, 8, 9, 5}, 2, 3, {3, 4})", + "Result": "{1, 2, 3, 4, 5}" } ] }, - "ReturnType": "text", + "ReturnType": "list", "Parameters": { - "value": "any", - "culture": "text" + "list": "list", + "index": "number", + "count": "number", + "replaceWith": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Text.FromBinary", + "Name": "List.ReplaceValue", "Documentation": { - "Documentation.Name": "Text.FromBinary", - "Documentation.Description": "Decodes data from a binary form into text.", - "Documentation.LongDescription": "Decodes data, binary, from a binary value in to a text value, using encoding type.", - "Documentation.Category": "Text.Conversions from and to text", - "Documentation.Examples": [] + "Documentation.Name": "List.ReplaceValue", + "Documentation.Description": "Searches a list for the specified value and replaces it.", + "Documentation.LongDescription": "Searches a list of values, list, for the value oldValue and replaces each occurrence with the replacement value newValue.", + "Documentation.Category": "List.Transformation functions", + "Documentation.Examples": [ + { + "Description": "Replace all the \"a\" values in the list {\"a\", \"B\", \"a\", \"a\"} with \"A\".", + "Code": "List.ReplaceValue({\"a\", \"B\", \"a\", \"a\"}, \"a\", \"A\", Replacer.ReplaceText)", + "Result": "{\"A\", \"B\", \"A\", \"A\"}" + } + ] }, - "ReturnType": "text", + "ReturnType": "list", "Parameters": { - "binary": "binary", - "encoding": "TextEncoding.Type" + "list": "list", + "oldValue": "any", + "newValue": "any", + "replacer": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Text.InferNumberType", + "Name": "List.Times", "Documentation": { - "Documentation.Name": "Text.InferNumberType", - "Documentation.Description": "Infers the granular number type (Int64.Type, Double.Type, and so on) of a number encoded in text.", - "Documentation.LongDescription": "Infers the granular number type (Int64.Type, Double.Type, and so on) of text. An error is raised if text is not a number. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Text", - "Documentation.Examples": [] + "Documentation.Name": "List.Times", + "Documentation.Description": "Generates a list of time values given an initial value, count, and incremental duration value.", + "Documentation.LongDescription": "Returns a list of time values of size count, starting at start. The given increment, step, is a duration value that is added to every value.", + "Documentation.Category": "List.Generators", + "Documentation.Examples": [ + { + "Description": "Create a list of 4 values starting from noon (#time(12, 0, 0)) incrementing by one hour (#duration(0, 1, 0, 0)).", + "Code": "List.Times(#time(12, 0, 0), 4, #duration(0, 1, 0, 0))", + "Result": "{\r\n #time(12, 0, 0),\r\n #time(13, 0, 0),\r\n #time(14, 0, 0),\r\n #time(15, 0, 0)\r\n}" + } + ] }, - "ReturnType": "type", + "ReturnType": "list", "Parameters": { - "text": "text", - "culture": "text" + "start": "time", + "count": "number", + "step": "duration" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Text.Length", + "Name": "List.TransformMany", "Documentation": { - "Documentation.Name": "Text.Length", - "Documentation.Description": "Returns the number of characters.", - "Documentation.LongDescription": "Returns the number of characters in the text text.", - "Documentation.Category": "Text.Information", + "Documentation.Name": "List.TransformMany", + "Documentation.Description": "Returns a list whose elements are transformed from the input list using specified functions.", + "Documentation.LongDescription": "Returns a list whose elements are projected from the input list.
\r\n
\r\n The collectionTransform function transforms each element into an intermediate list, and the resultTransform function receives the original element as well as an item from the intermediate list in order to construct the final result.
\r\n
\r\n The collectionTransform function has the signature (x as any) as list => ..., where x is an element in list.\r\n The resultTransform function projects the shape of the result and has the signature (x as any, y as any) as any => ..., where x is an element in list and y is an element from the list generated by passing x to collectionTransform.", + "Documentation.Category": "List.Transformation functions", "Documentation.Examples": [ { - "Description": "Find how many characters are in the text \"Hello World\".", - "Code": "Text.Length(\"Hello World\")", - "Result": "11" + "Description": "Flatten a list of people and their pets.", + "Code": "List.TransformMany(\r\n {\r\n [Name = \"Alice\", Pets = {\"Scruffy\", \"Sam\"}],\r\n [Name = \"Bob\", Pets = {\"Walker\"}]\r\n },\r\n each [Pets],\r\n (person, pet) => [Name = person[Name], Pet = pet]\r\n)", + "Result": "{\r\n [Name = \"Alice\", Pet = \"Scruffy\"],\r\n [Name = \"Alice\", Pet = \"Sam\"],\r\n [Name = \"Bob\", Pet = \"Walker\"]\r\n}" } ] }, - "ReturnType": "number", + "ReturnType": "list", "Parameters": { - "text": "text" + "list": "list", + "collectionTransform": "function", + "resultTransform": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Text.Lower", + "Name": "MailChimp.Tables", + "Documentation": {}, + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "MailChimp.TablesV2", "Documentation": { - "Documentation.Name": "Text.Lower", - "Documentation.Description": "Converts all characters to lowercase.", - "Documentation.LongDescription": "Returns the result of converting all characters in text to lowercase. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Text.Transformations", + "Documentation.Description": "Returns a table with key MailChimp data.", + "Documentation.DisplayName": "MailChimp", + "Documentation.Caption": "MailChimp.Tables", + "Documentation.Name": "MailChimp", + "Documentation.LongDescription": "Returns a table with key MailChimp data.", "Documentation.Examples": [ { - "Description": "Get the lowercase version of \"AbCd\".", - "Code": "Text.Lower(\"AbCd\")", - "Result": "\"abcd\"" + "Description": "Returns a table with key MailChimp data.", + "Code": "MailChimp.Tables()", + "Result": "A table with key MailChimp data." } ] }, - "ReturnType": "text", + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "Marketo.Activities", + "Documentation": { + "Documentation.Name": "Marketo.Activities", + "Documentation.DisplayName": "Marketo.Activities", + "Documentation.Caption": "Marketo.Activities", + "Documentation.Description": "Returns a table with lead activities.", + "Documentation.LongDescription": "Makes a call to the Marketo REST API endpoint at url/rest/v1/activities.json. All activities in list activityIds that have occurred since startTime are returned.", + "Documentation.Examples": [ + { + "Description": "Pulls a table of \"Visit Webpage\" activities since November 1, 2015", + "Code": "Marketo.Activities(\"https://100-AAA-999.mktorest.com/rest\", #date(2015,11,1), {1})", + "Result": "A table with details of all \"Visit Webpage\" activities since November 1" + } + ] + }, + "ReturnType": "table", "Parameters": { - "text": "text", - "culture": "text" + "url": "text", + "startTime": "date", + "activityIds": "list" + }, + "RequiredParameters": "3" + }, + { + "Name": "Mixpanel.Funnels", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "Mixpanel.Segmentation", + "Documentation": {}, + "ReturnType": "any", + "Parameters": { + "event": "text", + "fromDate": "text", + "toDate": "text", + "whereClause": "text", + "unit": "text", + "interval": "number", + "countType": "text", + "onProperty": "text", + "limit": "number", + "where": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Text.Proper", + "Name": "Mixpanel.Tables", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "Number.Random", "Documentation": { - "Documentation.Name": "Text.Proper", - "Documentation.Description": "Capitalizes the first letter of each word.", - "Documentation.LongDescription": "Returns the result of capitalizing only the first letter of each word in text value text. All other letters are returned in lowercase. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Text.Transformations", + "Documentation.Name": "Number.Random", + "Documentation.Description": "Returns a random number.", + "Documentation.LongDescription": "Returns a random number between 0 and 1.", + "Documentation.Category": "Number.Random", "Documentation.Examples": [ { - "Description": "Use Text.Proper on a simple sentence.", - "Code": "Text.Proper(\"the QUICK BrOWn fOx jUmPs oVER tHe LAzy DoG\")", - "Result": "\"The Quick Brown Fox Jumps Over The Lazy Dog\"" + "Description": "Get a random number.", + "Code": "Number.Random()", + "Result": "0.919303" } ] }, - "ReturnType": "text", - "Parameters": { - "text": "text", - "culture": "text" - }, - "RequiredParameters": "1" + "ReturnType": "number", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Text.Reverse", + "Name": "PlanviewEnterprise.CallQueryService", "Documentation": { - "Documentation.Name": "Text.Reverse", - "Documentation.Description": "Text.Reverse", - "Documentation.LongDescription": "Reverses the provided text.", - "Documentation.Category": "Text.Transformations", + "Documentation.Description": "Enter the URL, database name associated with your Planview Portfolios account and a SQL query.", + "Documentation.DisplayName": "PlanviewEnterprise.CallQueryService", + "Documentation.Caption": "PlanviewEnterprise.CallQueryService", + "Documentation.Name": "Planview Portfolios", + "Documentation.LongDescription": "Returns a table with Planview Portfolios data.", "Documentation.Examples": [ { - "Description": "Reverse the text \"123\".", - "Code": "Text.Reverse(\"123\")", - "Result": "\"321\"" + "Description": "Returns a table with Planview Portfolios data.", + "Code": "PlanviewEnterprise.CallQueryService(\"https://contoso.com/planview\", \"pve\", \"select * from PV_Table\")", + "Result": "A table of Planview Portfolios data about database pve" } ] }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "text": "text" + "url": "text", + "database": "text", + "sqlQueryString": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Text.ToBinary", + "Name": "PowerBI.Dataflows", "Documentation": { - "Documentation.Name": "Text.ToBinary", - "Documentation.Description": "Encodes text into a binary form.", - "Documentation.LongDescription": "Encodes the given text value, text, into a binary value using the specified encoding.", - "Documentation.Category": "Text.Conversions from and to text", - "Documentation.Examples": [] + "Documentation.Name": "Power BI dataflows (Legacy)", + "Documentation.Caption": "Import data from a Power BI dataflow", + "Documentation.LongDescription": "Connect to all the Power BI dataflows you have access to, and choose the entities you’d like to use." }, - "ReturnType": "binary", + "ReturnType": "table", "Parameters": { - "text": "text", - "encoding": "TextEncoding.Type", - "includeByteOrderMark": "logical" + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Text.ToList", + "Name": "Progress.DataSourceProgress", "Documentation": { - "Documentation.Name": "Text.ToList", - "Documentation.Description": "Returns a list of character values from the given text value.", - "Documentation.LongDescription": "Returns a list of character values from the given text value text.", - "Documentation.Category": "Text.Conversions from and to text", - "Documentation.Examples": [ - { - "Description": "Create a list of character values from the text \"Hello World\".", - "Code": "Text.ToList(\"Hello World\")", - "Result": "{\r\n \"H\",\r\n \"e\",\r\n \"l\",\r\n \"l\",\r\n \"o\",\r\n \" \",\r\n \"W\",\r\n \"o\",\r\n \"r\",\r\n \"l\",\r\n \"d\"\r\n}" - } - ] - }, - "ReturnType": "list", - "Parameters": { - "text": "text" + "Documentation.Name": "Progress.DataSourceProgress", + "Documentation.Description": "This function is intended for internal use only.", + "Documentation.LongDescription": "This function is intended for internal use only.", + "Documentation.Category": "Values.Implementation", + "Documentation.Examples": [] }, - "RequiredParameters": "1" + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Text.Trim", - "Documentation": { - "Documentation.Name": "Text.Trim", - "Documentation.Description": "Removes all leading and trailing whitespace.", - "Documentation.LongDescription": "Returns the result of removing all leading and trailing whitespace from text value text.", - "Documentation.Category": "Text.Transformations", - "Documentation.Examples": [ - { - "Description": "Remove leading and trailing whitespace from \" a b c d \".", - "Code": "Text.Trim(\" a b c d \")", - "Result": "\"a b c d\"" - } - ] - }, - "ReturnType": "text", - "Parameters": { - "text": "text", - "trim": "any" - }, - "RequiredParameters": "1" + "Name": "QuickBooks.Tables", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Text.TrimEnd", + "Name": "QuickBooksOnline.Tables", "Documentation": { - "Documentation.Name": "Text.TrimEnd", - "Documentation.Description": "Removes all trailing whitespace.", - "Documentation.LongDescription": "Returns the result of removing all trailing whitespace from text value text.", - "Documentation.Category": "Text.Transformations", - "Documentation.Examples": [ - { - "Description": "Remove trailing whitespace from \" a b c d \".", - "Code": "Text.TrimEnd(\" a b c d \")", - "Result": "\" a b c d\"" - } - ] + "Documentation.Name": "QuickBooks Online", + "Documentation.Caption": "QuickBooks Online", + "Documentation.Description": "Import data from QuickBooks Online.", + "Documentation.LongDescription": "\r\n Returns a table listing the available tables in QuickBooks Online. An optional record parameter, options, may be specified to control the following options:\r\n \r\n The record parameter is specified as [option1 = value1, option2 = value2...].\r\n " }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "text": "text", - "trim": "any" + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Text.TrimStart", + "Name": "Record.AddField", "Documentation": { - "Documentation.Name": "Text.TrimStart", - "Documentation.Description": "Removes all leading whitespace.", - "Documentation.LongDescription": "Returns the result of removing all leading whitespace from text value text.", - "Documentation.Category": "Text.Transformations", + "Documentation.Name": "Record.AddField", + "Documentation.Description": "Adds a field to a record.", + "Documentation.LongDescription": "Adds a field to a record record, given the name of the field fieldName and the value value.", + "Documentation.Category": "Record.Transformations", "Documentation.Examples": [ { - "Description": "Remove leading whitespace from \" a b c d \".", - "Code": "Text.TrimStart(\" a b c d \")", - "Result": "\"a b c d \"" + "Description": "Add the field Address to the record.", + "Code": "Record.AddField([CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"], \"Address\", \"123 Main St.\")", + "Result": "[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Address = \"123 Main St.\"]" } ] }, - "ReturnType": "text", + "ReturnType": "record", "Parameters": { - "text": "text", - "trim": "any" + "record": "record", + "fieldName": "text", + "value": "any", + "delayed": "logical" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Text.Upper", + "Name": "Replacer.ReplaceText", "Documentation": { - "Documentation.Name": "Text.Upper", - "Documentation.Description": "Converts all characters to uppercase.", - "Documentation.LongDescription": "Returns the result of converting all characters in text to uppercase. An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Text.Transformations", + "Documentation.Name": "Replacer.ReplaceText", + "Documentation.Description": "Replaces text within the provided input.", + "Documentation.LongDescription": "Replaces the old text in the original text with the new text. This replacer function can be used in List.ReplaceValue and Table.ReplaceValue.", + "Documentation.Category": "Replacer", "Documentation.Examples": [ { - "Description": "Get the uppercase version of \"aBcD\".", - "Code": "Text.Upper(\"aBcD\")", - "Result": "\"ABCD\"" + "Description": "Replace the text \"hE\" with \"He\" in the string \"hEllo world\".", + "Code": "Replacer.ReplaceText(\"hEllo world\", \"hE\", \"He\")", + "Result": "\"Hello world\"" } ] }, "ReturnType": "text", "Parameters": { "text": "text", - "culture": "text" + "old": "text", + "new": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Time.EndOfHour", + "Name": "Replacer.ReplaceValue", "Documentation": { - "Documentation.Name": "Time.EndOfHour", - "Documentation.Description": "Returns the end of the hour.", - "Documentation.LongDescription": "Returns the end of the hour represented by dateTime, including fractional seconds. Time zone information is preserved.\r\n ", - "Documentation.Category": "Date", + "Documentation.Name": "Replacer.ReplaceValue", + "Documentation.Description": "Replaces values within the provided input.", + "Documentation.LongDescription": "Replaces the old value in the original value with the new value. This replacer function can be used in List.ReplaceValue and Table.ReplaceValue.", + "Documentation.Category": "Replacer", "Documentation.Examples": [ { - "Description": "Get the end of the hour for 5/14/2011 05:00:00 PM.", - "Code": "Time.EndOfHour(#datetime(2011, 5, 14, 17, 0, 0))", - "Result": "#datetime(2011, 5, 14, 17, 59, 59.9999999)" - }, - { - "Description": "Get the end of the hour for 5/17/2011 05:00:00 PM -7:00.", - "Code": "Time.EndOfHour(#datetimezone(2011, 5, 17, 5, 0, 0, -7, 0))", - "Result": "#datetimezone(2011, 5, 17, 5, 59, 59.9999999, -7, 0)" + "Description": "Replace the value 11 with the value 10.", + "Code": "Replacer.ReplaceValue(11, 11, 10)", + "Result": "10" } ] }, "ReturnType": "any", "Parameters": { - "dateTime": "any" + "value": "any", + "old": "any", + "new": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Time.From", + "Name": "Salesforce.Data", "Documentation": { - "Documentation.Name": "Time.From", - "Documentation.Description": "Creates a time from the given value.", - "Documentation.LongDescription": "Returns a time value from the given value. An optional culture may also be provided (for example, \"en-US\").\r\nIf the given value is null, Time.From returns null. If the given value is time, value is returned. Values of the following types can be converted to a time value:\r\n \r\nIf value is of any other type, an error is returned.", - "Documentation.Category": "Time", - "Documentation.Examples": [ - { - "Description": "Convert 0.7575 to a time value.", - "Code": "Time.From(0.7575)", - "Result": "#time(18, 10, 48)" - }, - { - "Description": "Convert #datetime(1899, 12, 30, 06, 45, 12) to a time value.", - "Code": "Time.From(#datetime(1899, 12, 30, 06, 45, 12))", - "Result": "#time(06, 45, 12)" - } - ] + "Documentation.Name": "Salesforce.Data", + "Documentation.Description": "Returns the objects from the Salesforce account.", + "Documentation.LongDescription": "Returns the objects on the Salesforce account provided in the credentials. The account will be connected through the provided environment loginUrl. If no environment is provided then the account will connect to production (https://login.salesforce.com). An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "time", + "ReturnType": "table", "Parameters": { - "value": "any", - "culture": "text" + "loginUrl": "any", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Time.FromText", + "Name": "Salesforce.Reports", "Documentation": { - "Documentation.Name": "Time.FromText", - "Documentation.Description": "Creates a Time from local and universal, and custom Time formats.", - "Documentation.LongDescription": "Creates a time value from a textual representation, text. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options may also be a text value. This has the same behavior as if options = [Format = null, Culture = options].", - "Documentation.Category": "Time", - "Documentation.Examples": [ - { - "Description": "Convert \"10:12:31am\" into a Time value.", - "Code": "Time.FromText(\"10:12:31am\")", - "Result": "#time(10, 12, 31)" - }, - { - "Description": "Convert \"1012\" into a Time value.", - "Code": "Time.FromText(\"1012\")", - "Result": "#time(10, 12, 00)" - }, - { - "Description": "Convert \"10\" into a Time value.", - "Code": "Time.FromText(\"10\")", - "Result": "#time(10, 00, 00)" - } - ] + "Documentation.Name": "Salesforce.Reports", + "Documentation.Description": "Returns the reports from the Salesforce account.", + "Documentation.LongDescription": "Returns the reports on the Salesforce account provided in the credentials. The account will be connected through the provided environment loginUrl. If no environment is provided then the account will connect to production (https://login.salesforce.com). An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "time", + "ReturnType": "table", "Parameters": { - "text": "text", - "options": "any" + "loginUrl": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Time.Hour", + "Name": "SapBusinessWarehouse.Cubes", "Documentation": { - "Documentation.Name": "Time.Hour", - "Documentation.Description": "Returns the hour component.", - "Documentation.LongDescription": "Returns the hour component of the provided time, datetime, or datetimezone value, dateTime.", - "Documentation.Category": "Time", - "Documentation.Examples": [ - { - "Description": "Find the hour in #datetime(2011, 12, 31, 9, 15, 36).", - "Code": "Time.Hour(#datetime(2011, 12, 31, 9, 15, 36))", - "Result": "9" - } - ] + "Documentation.Name": "SapBusinessWarehouse.Cubes", + "Documentation.Description": "Returns the InfoCubes and queries in an SAP Business Warehouse system grouped by InfoArea.", + "Documentation.LongDescription": "Returns a table of InfoCubes and queries grouped by InfoArea from an SAP Business Warehouse instance at server server with system number systemNumberOrSystemId and Client ID clientId. An optional record parameter, optionsOrLogonGroup, may be specified to control the following options:\r\n \r\n ", + "Documentation.Category": "Accessing data", + "Documentation.Examples": [] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "dateTime": "any" + "server": "text", + "systemNumberOrSystemId": "text", + "clientId": "text", + "optionsOrLogonGroup": "any", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Time.Minute", + "Name": "Smartsheet.Query", "Documentation": { - "Documentation.Name": "Time.Minute", - "Documentation.Description": "Returns the minute component.", - "Documentation.LongDescription": "Returns the minute component of the provided time, datetime, or datetimezone value, dateTime.", - "Documentation.Category": "Time", + "Documentation.Description": "Returns a JSON result from the Smartsheet API", + "Documentation.DisplayName": "Smartsheet.Query", + "Documentation.Caption": "Smartsheet.Query", + "Documentation.Name": "Smartsheet.Query", + "Documentation.LongDescription": "Makes a call to the Smartsheet 2.0 REST API at the specified endpoint and returns results as a JSON record.", "Documentation.Examples": [ { - "Description": "Find the minute in #datetime(2011, 12, 31, 9, 15, 36).", - "Code": "Time.Minute(#datetime(2011, 12, 31, 9, 15, 36))", - "Result": "15" + "Description": "Pulls data from the sheets Smartsheet API endpoint with additional arguments specified", + "Code": "Smartsheet.Content(\"sheets\", \"include=ownerInfo&includeAll=true\", [])", + "Result": "A table with sheets information as returned by the Smartsheet API" } ] }, - "ReturnType": "number", + "ReturnType": "any", "Parameters": { - "dateTime": "any" + "endpoint": "text", + "args": "text", + "headers": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Time.Second", + "Name": "Smartsheet.Tables", "Documentation": { - "Documentation.Name": "Time.Second", - "Documentation.Description": "Returns the second component.", - "Documentation.LongDescription": "Returns the second component of the provided time, datetime, or datetimezone value, dateTime.", - "Documentation.Category": "Time", + "Documentation.Description": "Returns a table of sheets, reports, folders, and workspaces from the Smartsheet API", + "Documentation.DisplayName": "Smartsheet.Tables", + "Documentation.Caption": "Smartsheet.Tables", + "Documentation.Name": "Smartsheet.Tables", + "Documentation.LongDescription": "Returns a nested table of available sheets, reports, folders, and workspaces from the Smartsheet API.", "Documentation.Examples": [ { - "Description": "Find the second value from a datetime value.", - "Code": "Time.Second(#datetime(2011, 12, 31, 9, 15, 36.5))", - "Result": "36.5" + "Description": "Returns sheets, folders, reports, and workspaces available at the top level of the Smartsheet hierarchy", + "Code": "Smartsheet.Tables()", + "Result": "A table of folders, reports, and workspaces from the top level of the Smartsheet hierarchy" } ] }, - "ReturnType": "number", - "Parameters": { - "dateTime": "any" - }, - "RequiredParameters": "1" + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Time.StartOfHour", + "Name": "SparkPost.GetTable", "Documentation": { - "Documentation.Name": "Time.StartOfHour", - "Documentation.Description": "Returns the start of the hour.", - "Documentation.LongDescription": "Returns the start of the hour represented by dateTime.\r\n dateTime must be a time, datetime or datetimezone value.", - "Documentation.Category": "Date", + "Documentation.Description": "Returns a table of available metrics from the SparkPost API v1", + "Documentation.DisplayName": "SparkPost.GetTable", + "Documentation.Caption": "SparkPost.GetTable", + "Documentation.Name": "SparkPost.GetTable", + "Documentation.LongDescription": "This function can be used to retrieve data from a particular \"Metrics\" endpoint of the SparkPost API v1. When refreshing these tables or making calls to the SparkPost API using this connector, keep in mind that the SparkPost API has a strict API rate limit. If you see a 429 status code being returned from the SparkPost server you have hit the rate limit and will need to wait a few moments before making more calls. When choosing a value for the Number of days parameter, note that the API only stores 6 months worth of data.", "Documentation.Examples": [ { - "Description": "Find the start of the hour for October 10th, 2011, 8:10:32AM.", - "Code": "Time.StartOfHour(#datetime(2011, 10, 10, 8, 10, 32))", - "Result": "#datetime(2011, 10, 10, 8, 0, 0)" + "Description": "Retrieves count_sent and count_rejected deliverability metrics for all campaign_ids aggregated over the last three days. ", + "Code": "Source = SparkPost.GetTable(3, \"count_sent,count_rejected\", \"campaign_id\", \"metrics/deliverability/campaign\")", + "Result": "table" } ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "dateTime": "any" + "DaysToAggregate": "number", + "MetricColumns": "text", + "NonMetricColumns": "text", + "Path": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Time.ToRecord", + "Name": "Splitter.SplitByNothing", "Documentation": { - "Documentation.Name": "Time.ToRecord", - "Documentation.Description": "Returns a record containing the Time value's parts.", - "Documentation.LongDescription": "Returns a record containing the parts of the given Time value, time.\r\n ", - "Documentation.Category": "Time", + "Documentation.Name": "Splitter.SplitByNothing", + "Documentation.Description": "Returns a function that does no splitting, returning its argument as a single element list.", + "Documentation.LongDescription": "Returns a function that does no splitting, returning its argument as a single element list.", + "Documentation.Category": "Splitter", + "Documentation.Examples": [] + }, + "ReturnType": "function", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "Splitter.SplitTextByWhitespace", + "Documentation": { + "Documentation.Name": "Splitter.SplitTextByWhitespace", + "Documentation.Description": "Returns a function that splits text into a list of text at whitespace.", + "Documentation.LongDescription": "Returns a function that splits text into a list of text at whitespace.", + "Documentation.Category": "Splitter", "Documentation.Examples": [ { - "Description": "Convert the #time(11, 56, 2) value into a record containing Time values.", - "Code": "Time.ToRecord(#time(11, 56, 2))", - "Result": "[\r\n Hour = 11,\r\n Minute = 56,\r\n Second = 2\r\n]" + "Description": "Split the input by whitespace characters, treating quotes like any other character.", + "Code": "Splitter.SplitTextByWhitespace(QuoteStyle.None)(\"a b#(tab)c\")", + "Result": "{\"a\", \"b\", \"c\"}" } ] }, - "ReturnType": "record", + "ReturnType": "function", "Parameters": { - "time": "time" + "quoteStyle": "QuoteStyle.Type" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Time.ToText", + "Name": "Stripe.Method", "Documentation": { - "Documentation.Name": "Time.ToText", - "Documentation.Description": "Returns a textual representation of the time value.", - "Documentation.LongDescription": "Returns a textual representation of time. An optional record parameter, options, may be provided to specify additional properties. culture is only used for legacy workflows. The record can contain the following fields:\r\n\r\nTo support legacy workflows, options and culture may also be text values. This has the same behavior as if options = [Format = options, Culture = culture].", - "Documentation.Category": "Time", + "Documentation.Name": "Stripe.Method", + "Documentation.DisplayName": "Stripe.Method", + "Documentation.Caption": "Stripe.Method", + "Documentation.Description": "Makes a call to the Stripe API.", + "Documentation.LongDescription": "Makes a call to the Stripe API at https://api.stripe.com/v1/method, with record additionalParameters passed as additional parameters and list ColumnNames of expected column names. Stripe Version 2015-10-16 is used.", "Documentation.Examples": [ { - "Description": "Convert #time(01, 30, 25) into a text value. Result output may vary depending on current culture.", - "Code": "Time.ToText(#time(11, 56, 2))", - "Result": "\"11:56 AM\"" - }, - { - "Description": "Convert using a custom format and the German culture.", - "Code": "Time.ToText(#time(11, 56, 2), [Format=\"hh:mm\", Culture=\"de-DE\"])", - "Result": "\"11:56\"" + "Description": "Returns a table with events created after November 1, 2015", + "Code": "Stripe.Method(\"events\", [#\"created[gte]\"=1446374329], {\"id\", \"livemode\", \"created\", \"type\", \"data\", \"object\", \"pending_webhooks\", \"request\", \"api_version\"})", + "Result": "A table with the specified events for the current Stripe account" }, { - "Description": "Convert using standard time format.", - "Code": "Time.ToText(#time(11, 56, 2), [Format=\"T\", Culture=\"de-DE\"])", - "Result": "\"11:56:02\"" + "Description": "Returns a table with all SKUs", + "Code": "Stripe.Method(\"skus\", [], {\"id\", \"created\", \"updated\", \"object\", \"livemode\", \"product\", \"image\", \"active\", \"price\", \"currency\", \"inventory\", \"attributes\", \"metadata\", \"package_dimensions\"})", + "Result": "A table with all SKUs for the current Stripe account" } ] }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "time": "time", - "options": "any", - "culture": "text" + "method": "text", + "additionalParameters": "record", + "ColumnNames": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Troux.TestConnection", + "Name": "Stripe.Tables", + "Documentation": { + "Documentation.Name": "Stripe.Tables", + "Documentation.DisplayName": "Stripe.Tables", + "Documentation.Caption": "Stripe.Tables", + "Documentation.Description": "Returns a table listing the available Stripe tables and functions.", + "Documentation.LongDescription": "Returns a table listing the available Stripe tables and functions." + }, + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "SweetIQ.Contents", "Documentation": {}, "ReturnType": "any", "Parameters": { - "url": "text" + "clientId": "text", + "path": "text", + "optionalParameter": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "0" }, { - "Name": "Twilio.URL", + "Name": "SweetIQ.Tables", "Documentation": {}, "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "Table.AddColumn", + "Documentation": { + "Documentation.Name": "Table.AddColumn", + "Documentation.Description": "Adds a column with the specified name. The value is computed using the specified selection function with each row taken as an input.", + "Documentation.LongDescription": "Adds a column named newColumnName to the table table. The values for the column are computed using the specified selection function columnGenerator with each row taken as an input.", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [ + { + "Description": "Add a number column named \"TotalPrice\" to the table, with each value being the sum of the [Price] and [Shipping] columns.", + "Code": "Table.AddColumn(\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0, Shipping = 10.00],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0, Shipping = 15.00],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0, Shipping = 10.00]\r\n }),\r\n \"TotalPrice\",\r\n each [Price] + [Shipping],\r\n type number\r\n)", + "Result": "Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100, Shipping = 10, TotalPrice = 110],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5, Shipping = 15, TotalPrice = 20],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25, Shipping = 10, TotalPrice = 35]\r\n})" + } + ] + }, + "ReturnType": "table", "Parameters": { - "url": "any" + "table": "table", + "newColumnName": "text", + "columnGenerator": "function", + "columnType": "type" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.ClosedRecord", + "Name": "Table.AddFuzzyClusterColumn", "Documentation": { - "Documentation.Name": "Type.ClosedRecord", - "Documentation.Description": "Returns a closed version of the given record type (or the same type, if it is already closed).", - "Documentation.LongDescription": "Returns a closed version of the given record type (or the same type, if it is already closed).", - "Documentation.Category": "Type", + "Documentation.Name": "Table.AddFuzzyClusterColumn", + "Documentation.Description": "Adds a new column with representative values obtained by fuzzy grouping values of the specified column in the table.", + "Documentation.LongDescription": "Adds a new column newColumnName to table with representative values of columnName. The representatives are obtained by fuzzily matching values in columnName, for each row.\r\n

An optional set of options may be included to specify how to compare the key columns. Options include:\r\n

\r\n\r\n

\r\n ", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Create a closed version of type [ A = number,…].", - "Code": "Type.ClosedRecord(type [A = number, ...])", - "Result": "type [A = number]" + "Description": "Find the representative values for the location of the employees.", + "Code": "Table.AddFuzzyClusterColumn(\r\n Table.FromRecords(\r\n {\r\n [EmployeeID = 1, Location = \"Seattle\"],\r\n [EmployeeID = 2, Location = \"seattl\"],\r\n [EmployeeID = 3, Location = \"Vancouver\"],\r\n [EmployeeID = 4, Location = \"Seatle\"],\r\n [EmployeeID = 5, Location = \"vancover\"],\r\n [EmployeeID = 6, Location = \"Seattle\"],\r\n [EmployeeID = 7, Location = \"Vancouver\"]\r\n },\r\n type table [EmployeeID = nullable number, Location = nullable text]\r\n ),\r\n \"Location\",\r\n \"Location_Cleaned\",\r\n [IgnoreCase = true, IgnoreSpace = true]\r\n)", + "Result": "Table.FromRecords(\r\n {\r\n [EmployeeID = 1, Location = \"Seattle\", Location_Cleaned = \"Seattle\"],\r\n [EmployeeID = 2, Location = \"seattl\", Location_Cleaned = \"Seattle\"],\r\n [EmployeeID = 3, Location = \"Vancouver\", Location_Cleaned = \"Vancouver\"],\r\n [EmployeeID = 4, Location = \"Seatle\", Location_Cleaned = \"Seattle\"],\r\n [EmployeeID = 5, Location = \"vancover\", Location_Cleaned = \"Vancouver\"],\r\n [EmployeeID = 6, Location = \"Seattle\", Location_Cleaned = \"Seattle\"],\r\n [EmployeeID = 7, Location = \"Vancouver\", Location_Cleaned = \"Vancouver\"]\r\n },\r\n type table [EmployeeID = nullable number, Location = nullable text, Location_Cleaned = nullable text]\r\n)" } ] }, - "ReturnType": "type", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "columnName": "text", + "newColumnName": "text", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.Facets", + "Name": "Table.AddJoinColumn", "Documentation": { - "Documentation.Name": "Type.Facets", - "Documentation.Description": "Returns the facets of a type.", - "Documentation.LongDescription": "Returns a record containing the facets of type.", - "Documentation.Category": "Type", - "Documentation.Examples": [] + "Documentation.Name": "Table.AddJoinColumn", + "Documentation.Description": "Performs a join between tables on supplied columns and produces the join result in a new column.", + "Documentation.LongDescription": "Joins the rows of table1 with the rows of table2 based on the equality of the values of the key columns selected by key1 (for table1) and key2 (for table2). The results are entered into the column named newColumnName.\r\nThis function behaves similarly to Table.Join with a JoinKind of LeftOuter except that the join results are presented in a nested rather than flattened fashion.", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [ + { + "Description": "Add a join column to ({[saleID = 1, item = \"Shirt\"], [saleID = 2, item = \"Hat\"]}) named \"price/stock\" from the table ({[saleID = 1, price = 20], [saleID = 2, price = 10]}) joined on [saleID].", + "Code": "Table.AddJoinColumn(\r\n Table.FromRecords({\r\n [saleID = 1, item = \"Shirt\"],\r\n [saleID = 2, item = \"Hat\"]\r\n }),\r\n \"saleID\",\r\n () => Table.FromRecords({\r\n [saleID = 1, price = 20, stock = 1234],\r\n [saleID = 2, price = 10, stock = 5643]\r\n }),\r\n \"saleID\",\r\n \"price\"\r\n)", + "Result": "Table.FromRecords({\r\n [\r\n saleID = 1,\r\n item = \"Shirt\",\r\n price = Table.FromRecords({[saleID = 1, price = 20, stock = 1234]})\r\n ],\r\n [\r\n saleID = 2,\r\n item = \"Hat\",\r\n price = Table.FromRecords({[saleID = 2, price = 10, stock = 5643]})\r\n ]\r\n})" + } + ] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "type": "type" + "table1": "table", + "key1": "any", + "table2": "any", + "key2": "any", + "newColumnName": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "5" }, { - "Name": "Type.FunctionParameters", + "Name": "Table.AddKey", "Documentation": { - "Documentation.Name": "Type.FunctionParameters", - "Documentation.Description": "Returns a record with field values set to the name of the parameters of a function type, and their values set to their corresponding types.", - "Documentation.LongDescription": "Returns a record with field values set to the name of the parameters of type, and their values set to their corresponding types.", - "Documentation.Category": "Type", + "Documentation.Name": "Table.AddKey", + "Documentation.Description": "Adds a key to a table.", + "Documentation.LongDescription": "Adds a key to table, where columns is the list of column names that define the key, and isPrimary specifies whether the key is primary.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Find the types of the parameters to the function (x as number, y as text).", - "Code": "Type.FunctionParameters(type function (x as number, y as text) as any)", - "Result": "[x = type number, y = type text]" + "Description": "Add a single-column primary key to a table.", + "Code": "let\r\n table = Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n }),\r\n resultTable = Table.AddKey(table, {\"Id\"}, true)\r\nin\r\n resultTable", + "Result": "Table.FromRecords({\r\n [Id = 1, Name = \"Hello There\"],\r\n [Id = 2, Name = \"Good Bye\"]\r\n})" } ] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "columns": "list", + "isPrimary": "logical" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.FunctionRequiredParameters", + "Name": "Table.AddRankColumn", "Documentation": { - "Documentation.Name": "Type.FunctionRequiredParameters", - "Documentation.Description": "Returns a number indicating the minimum number of parameters required to invoke the type of function.", - "Documentation.LongDescription": "Returns a number indicating the minimum number of parameters required to invoke the input type of function.", - "Documentation.Category": "Type", + "Documentation.Name": "Table.AddRankColumn", + "Documentation.Description": "Appends a column with the ranking of one or more other columns.", + "Documentation.LongDescription": "Appends a column named newColumnName to the table with the ranking of one or more other columns described by comparisonCriteria.\r\nThe RankKind option in options can be used by advanced users to pick a more-specific ranking method.", + "Documentation.Category": "Table.Ordering", "Documentation.Examples": [ { - "Description": "Find the number of required parameters to the function (x as number, optional y as text).", - "Code": "Type.FunctionRequiredParameters(type function (x as number, optional y as text) as any)", - "Result": "1" + "Description": "Add a column named \"RevenueRank\" to the table which ranks the \"Revenue\" column from highest to lowest.", + "Code": "Table.AddRankColumn(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Revenue = 200],\r\n [CustomerID = 2, Name = \"Jim\", Revenue = 100],\r\n [CustomerID = 3, Name = \"Paul\", Revenue = 200],\r\n [CustomerID = 4, Name = \"Ringo\", Revenue = 50]\r\n }),\r\n \"RevenueRank\",\r\n {\"Revenue\", Order.Descending},\r\n [RankKind = RankKind.Competition]\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Revenue = 200, RevenueRank = 1],\r\n [CustomerID = 3, Name = \"Paul\", Revenue = 200, RevenueRank = 1],\r\n [CustomerID = 2, Name = \"Jim\", Revenue = 100, RevenueRank = 3],\r\n [CustomerID = 4, Name = \"Ringo\", Revenue = 50, RevenueRank = 4]\r\n})" } ] }, - "ReturnType": "number", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "newColumnName": "text", + "comparisonCriteria": "any", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.FunctionReturn", + "Name": "Table.AggregateTableColumn", "Documentation": { - "Documentation.Name": "Type.FunctionReturn", - "Documentation.Description": "Returns a type returned by a function type.", - "Documentation.LongDescription": "Returns a type returned by a function type.", - "Documentation.Category": "Type", + "Documentation.Name": "Table.AggregateTableColumn", + "Documentation.Description": "Aggregates a column of tables into multiple columns in the containing table.", + "Documentation.LongDescription": "Aggregates tables in table[column] into multiple columns containing aggregate values for the tables. aggregations is used to specify the columns containing the tables to aggregate, the aggregation functions to apply to the tables to generate their values, and the names of the aggregate columns to create.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Find the return type of () as any).", - "Code": "Type.FunctionReturn(type function () as any)", - "Result": "type any" + "Description": "Aggregate table columns in [t] in the table {[t = {[a=1, b=2, c=3], [a=2,b=4,c=6]}, b = 2]} into the sum of [t.a], the min and max of [t.b], and the count of values in [t.a].", + "Code": "Table.AggregateTableColumn(\r\n Table.FromRecords(\r\n {\r\n [\r\n t = Table.FromRecords({\r\n [a = 1, b = 2, c = 3],\r\n [a = 2, b = 4, c = 6]\r\n }),\r\n b = 2\r\n ]\r\n },\r\n type table [t = table [a = number, b = number, c = number], b = number]\r\n ),\r\n \"t\",\r\n {\r\n {\"a\", List.Sum, \"sum of t.a\"},\r\n {\"b\", List.Min, \"min of t.b\"},\r\n {\"b\", List.Max, \"max of t.b\"},\r\n {\"a\", List.Count, \"count of t.a\"}\r\n }\r\n)", + "Result": "Table.FromRecords({[#\"sum of t.a\" = 3, #\"min of t.b\" = 2, #\"max of t.b\" = 4, #\"count of t.a\" = 2, b = 2]})" } ] }, - "ReturnType": "type", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "column": "text", + "aggregations": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.IsNullable", + "Name": "Table.AlternateRows", "Documentation": { - "Documentation.Name": "Type.IsNullable", - "Documentation.Description": "Returns true if a type is a nullable type; otherwise, false.", - "Documentation.LongDescription": "Returns true if a type is a nullable type; otherwise, false.", - "Documentation.Category": "Type", + "Documentation.Name": "Table.AlternateRows", + "Documentation.Description": "Keeps the initial offset then alternates taking and skipping the following rows.", + "Documentation.LongDescription": "Keeps the initial offset then alternates taking and skipping the following rows.\r\n \r\n ", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Determine if number is nullable.", - "Code": "Type.IsNullable(type number)", - "Result": "false" - }, - { - "Description": "Determine if type nullable number is nullable.", - "Code": "Type.IsNullable(type nullable number)", - "Result": "true" + "Description": "Return a table from the table that, starting at the first row, skips 1 value and then keeps 1 value.", + "Code": "Table.AlternateRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n }),\r\n 1,\r\n 1,\r\n 1\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n})" } ] }, - "ReturnType": "logical", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "offset": "number", + "skip": "number", + "take": "number" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Type.IsOpenRecord", + "Name": "Table.CombineColumns", "Documentation": { - "Documentation.Name": "Type.IsOpenRecord", - "Documentation.Description": "Returns whether a record type is open.", - "Documentation.LongDescription": "Returns a logical indicating whether a record type is open.", - "Documentation.Category": "Type", + "Documentation.Name": "Table.CombineColumns", + "Documentation.Description": "Combines the specified columns into a new column using the specified combiner function.", + "Documentation.LongDescription": "Combines the specified columns into a new column using the specified combiner function.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Determine if the record type [ A = number, ...] is open.", - "Code": "Type.IsOpenRecord(type [A = number, ...])", - "Result": "true" + "Description": "Combine the last and first names into a new column, separated by a comma.", + "Code": "Table.CombineColumns(\r\n Table.FromRecords({[FirstName = \"Bob\", LastName = \"Smith\"]}),\r\n {\"LastName\", \"FirstName\"},\r\n Combiner.CombineTextByDelimiter(\",\", QuoteStyle.None),\r\n \"FullName\"\r\n)", + "Result": "Table.FromRecords({[FullName = \"Smith,Bob\"]})" } ] }, - "ReturnType": "logical", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "sourceColumns": "list", + "combiner": "function", + "column": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Type.ListItem", + "Name": "Table.CombineColumnsToRecord", "Documentation": { - "Documentation.Name": "Type.ListItem", - "Documentation.Description": "Returns an item type from a list type.", - "Documentation.LongDescription": "Returns an item type from a list type.", - "Documentation.Category": "Type", - "Documentation.Examples": [ - { - "Description": "Find item type from the list {number}.", - "Code": "Type.ListItem(type {number})", - "Result": "type number" - } - ] + "Documentation.Name": "Table.CombineColumnsToRecord", + "Documentation.Description": "Combines the specified columns into a new record-valued column where each record has field names and values corresponding to the column names and values of the columns that were combined.", + "Documentation.LongDescription": "Combines the specified columns of table into a new record-valued column named newColumnName where each record has field names and values corresponding to the column names and values of the columns that were combined. If a record is specified for options, the following options may be provided:\r\n \r\n ", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [] }, - "ReturnType": "type", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "newColumnName": "text", + "sourceColumns": "list", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.NonNullable", + "Name": "Table.DuplicateColumn", "Documentation": { - "Documentation.Name": "Type.NonNullable", - "Documentation.Description": "Returns the non nullable type from a type.", - "Documentation.LongDescription": "Returns the non nullable type from the type.", - "Documentation.Category": "Type", + "Documentation.Name": "Table.DuplicateColumn", + "Documentation.Description": "Duplicates a column with the specified name. Values and type are copied from the source column.", + "Documentation.LongDescription": "Duplicate the column named columnName to the table table. The values and type for the column newColumnName are copied from coulmn columnName.", + "Documentation.Category": "Table.Column operations", "Documentation.Examples": [ { - "Description": "Return the non nullable type of type nullable number.", - "Code": "Type.NonNullable(type nullable number)", - "Result": "type number" + "Description": "Duplicate the column \"a\" to a column named \"copied column\" in the table ({[a = 1, b = 2], [a = 3, b = 4]}).", + "Code": "Table.DuplicateColumn(\r\n Table.FromRecords({\r\n [a = 1, b = 2],\r\n [a = 3, b = 4]\r\n }),\r\n \"a\",\r\n \"copied column\"\r\n)", + "Result": "Table.FromRecords({\r\n [a = 1, b = 2, #\"copied column\" = 1],\r\n [a = 3, b = 4, #\"copied column\" = 3]\r\n})" } ] }, - "ReturnType": "type", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "columnName": "text", + "newColumnName": "text", + "columnType": "type" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.OpenRecord", + "Name": "Table.ExpandRecordColumn", "Documentation": { - "Documentation.Name": "Type.OpenRecord", - "Documentation.Description": "Returns an opened version of the given record type (or the same type, if it is already open).", - "Documentation.LongDescription": "Returns an opened version of the given record type (or the same type, if it is already opened).", - "Documentation.Category": "Type", + "Documentation.Name": "Table.ExpandRecordColumn", + "Documentation.Description": "Expands a column of records into columns with each of the values.", + "Documentation.LongDescription": "Given the column of records in the input table, creates a table with a column for each field in the record. Optionally, newColumnNames may be specified to ensure unique names for the columns in the new table.\r\n ", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Create an opened version of type [ A = number].", - "Code": "Type.OpenRecord(type [A = number])", - "Result": "type [A = number, ...]" + "Description": "Expand column [a] in the table ({[a = [aa = 1, bb = 2, cc = 3], b = 2]}) into 3 columns \"aa\", \"bb\" and \"cc\".", + "Code": "Table.ExpandRecordColumn(\r\n Table.FromRecords({\r\n [\r\n a = [aa = 1, bb = 2, cc = 3],\r\n b = 2\r\n ]\r\n }),\r\n \"a\",\r\n {\"aa\", \"bb\", \"cc\"}\r\n)", + "Result": "Table.FromRecords({[aa = 1, bb = 2, cc = 3, b = 2]})" } ] }, - "ReturnType": "type", + "ReturnType": "table", "Parameters": { - "type": "type" + "table": "table", + "column": "text", + "fieldNames": "list", + "newColumnNames": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.RecordFields", + "Name": "Table.ExpandTableColumn", "Documentation": { - "Documentation.Name": "Type.RecordFields", - "Documentation.Description": "Returns a record describing the fields of a record type with each field of the returned record type having a corresponding name and a value.", - "Documentation.LongDescription": "Returns a record describing the fields of a record type. Each field of the returned record type has a corresponding name and a value, in the form of a record [ Type = type, Optional = logical ].", - "Documentation.Category": "Type", + "Documentation.Name": "Table.ExpandTableColumn", + "Documentation.Description": "Expands a column of records or a column of tables into multiple columns in the containing table.", + "Documentation.LongDescription": "Expands tables in table[column] into multiple rows and columns. columnNames is used to select the columns to expand from the inner table. Specify newColumnNames to avoid conflicts between existing columns and new columns.", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Find the name and value of the record [ A = number, optional B = any].", - "Code": "Type.RecordFields(type [A = number, optional B = any])", - "Result": "[\r\n A = [Type = type number, Optional = false],\r\n B = [Type = type any, Optional = true]\r\n]" + "Description": "Expand table columns in [a] in the table ({[t = {[a=1, b=2, c=3], [a=2,b=4,c=6]}, b = 2]}) into 3 columns [t.a], [t.b] and [t.c].", + "Code": "Table.ExpandTableColumn(\r\n Table.FromRecords({\r\n [\r\n t = Table.FromRecords({\r\n [a = 1, b = 2, c = 3],\r\n [a = 2, b = 4, c = 6]\r\n }),\r\n b = 2\r\n ]\r\n }),\r\n \"t\",\r\n {\"a\", \"b\", \"c\"},\r\n {\"t.a\", \"t.b\", \"t.c\"}\r\n)", + "Result": "Table.FromRecords({\r\n [t.a = 1, t.b = 2, t.c = 3, b = 2],\r\n [t.a = 2, t.b = 4, t.c = 6, b = 2]\r\n})" } ] }, - "ReturnType": "record", - "Parameters": { - "type": "type" - }, - "RequiredParameters": "1" - }, - { - "Name": "Type.TableKeys", - "Documentation": { - "Documentation.Name": "Type.TableKeys", - "Documentation.Description": "Returns the possibly empty list of keys for the given table type.", - "Documentation.LongDescription": "Returns the possibly empty list of keys for the given table type.", - "Documentation.Category": "Type", - "Documentation.Examples": [] - }, - "ReturnType": "list", + "ReturnType": "table", "Parameters": { - "tableType": "type" + "table": "table", + "column": "text", + "columnNames": "list", + "newColumnNames": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.TableRow", + "Name": "Table.FuzzyGroup", "Documentation": { - "Documentation.Name": "Type.TableRow", - "Documentation.Description": "Returns the row type of the table type.", - "Documentation.LongDescription": "Returns the row type of the specified table type. The result will always be a record type.", - "Documentation.Category": "Type", + "Documentation.Name": "Table.FuzzyGroup", + "Documentation.Description": "Groups rows in the table based on fuzzy matching of keys.", + "Documentation.LongDescription": "Groups the rows of table by fuzzily matching values in the specified column, key, for each row.\r\n For each group, a record is constructed containing the key columns (and their values) along with any aggregated columns specified by aggregatedColumns.\r\n This function cannot guarantee to return a fixed order of rows.\r\n

An optional set of options may be included to specify how to compare the key columns. Options include:\r\n

\r\n\r\n

\r\n ", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Return the row type information for a simple table.", - "Code": "let\r\n tableRowType = Type.TableRow(Value.Type(#table({\"Column1\"}, {})))\r\nin\r\n Type.RecordFields(tableRowType)", - "Result": "[Column1 = [Type = type any, Optional = false]]" + "Description": "Group the table adding an aggregate column [Count] which contains the number of employees in each location (\"each Table.RowCount(_))\").", + "Code": "Table.FuzzyGroup(\r\n Table.FromRecords(\r\n {\r\n [EmployeeID = 1, Location = \"Seattle\"],\r\n [EmployeeID = 2, Location = \"seattl\"],\r\n [EmployeeID = 3, Location = \"Vancouver\"],\r\n [EmployeeID = 4, Location = \"Seatle\"],\r\n [EmployeeID = 5, Location = \"vancover\"],\r\n [EmployeeID = 6, Location = \"Seattle\"],\r\n [EmployeeID = 7, Location = \"Vancouver\"]\r\n },\r\n type table [EmployeeID = nullable number, Location = nullable text]\r\n ),\r\n \"Location\",\r\n {\"Count\", each Table.RowCount(_)},\r\n [IgnoreCase = true, IgnoreSpace = true]\r\n)", + "Result": "Table.FromRecords({\r\n [Location = \"Seattle\", Count = 4],\r\n [Location = \"Vancouver\", Count = 3]\r\n})" } ] }, - "ReturnType": "type", + "ReturnType": "table", "Parameters": { - "table": "type" + "table": "table", + "key": "any", + "aggregatedColumns": "list", + "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Type.Union", + "Name": "Table.FuzzyJoin", "Documentation": { - "Documentation.Name": "Type.Union", - "Documentation.Description": "Returns the union of a list of types.", - "Documentation.LongDescription": "Returns the union of the types in types.", - "Documentation.Category": "Type", - "Documentation.Examples": [] + "Documentation.Name": "Table.FuzzyJoin", + "Documentation.Description": "Joins the rows from the two tables that fuzzy match based on the given keys.", + "Documentation.LongDescription": "

Joins the rows of table1 with the rows of table2 based on a fuzzy matching of the values of the key columns selected by key1 (for table1) and key2 (for table2).

\r\n

Fuzzy matching is a comparison based on similarity of text rather than equality of text.

\r\n

By default, an inner join is performed, however an optional joinKind may be included to specify the type of join. Options include:\r\n

\r\n\r\n

\r\n

An optional set of joinOptions may be included to specify how to compare the key columns. Options include:\r\n

\r\n\r\n

\r\n ", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [ + { + "Description": "Left inner fuzzy join of two tables based on [FirstName]", + "Code": "Table.FuzzyJoin(\r\n\t Table.FromRecords(\r\n {\r\n\t\t [CustomerID = 1, FirstName1 = \"Bob\", Phone = \"555-1234\"],\r\n\t\t [CustomerID = 2, FirstName1 = \"Robert\", Phone = \"555-4567\"]\r\n\t },\r\n type table [CustomerID = nullable number, FirstName1 = nullable text, Phone = nullable text]\r\n ),\r\n\t {\"FirstName1\"},\r\n\t Table.FromRecords(\r\n {\r\n\t\t [CustomerStateID = 1, FirstName2 = \"Bob\", State = \"TX\"],\r\n\t\t [CustomerStateID = 2, FirstName2 = \"bOB\", State = \"CA\"]\r\n\t },\r\n type table [CustomerStateID = nullable number, FirstName2 = nullable text, State = nullable text]\r\n ),\r\n\t {\"FirstName2\"},\r\n\t JoinKind.LeftOuter,\r\n\t [IgnoreCase = true, IgnoreSpace = false]\r\n)", + "Result": "Table.FromRecords({\r\n [\r\n\t\t\t CustomerID = 1,\r\n\t\t\t FirstName1 = \"Bob\",\r\n\t\t\t Phone = \"555-1234\",\r\n\t\t\t CustomerStateID = 1,\r\n\t\t\t FirstName2 = \"Bob\",\r\n\t\t\t State = \"TX\"\r\n\t\t],\r\n [\r\n\t\t\t CustomerID = 1,\r\n\t\t\t FirstName1 = \"Bob\",\r\n\t\t\t Phone = \"555-1234\",\r\n\t\t\t CustomerStateID = 2,\r\n\t\t\t FirstName2 = \"bOB\",\r\n\t\t\t State = \"CA\"\r\n\t\t],\r\n [\r\n\t\t\t CustomerID = 2,\r\n\t\t\t FirstName1 = \"Robert\",\r\n\t\t\t Phone = \"555-4567\",\r\n\t\t\t CustomerStateID = null,\r\n\t\t\t FirstName2 = null,\r\n\t\t\t State = null\r\n\t\t]\r\n})" + } + ] }, - "ReturnType": "type", + "ReturnType": "table", "Parameters": { - "types": "list" + "table1": "table", + "key1": "any", + "table2": "table", + "key2": "any", + "joinKind": "JoinKind.Type", + "joinOptions": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Uri.BuildQueryString", + "Name": "Table.FuzzyNestedJoin", "Documentation": { - "Documentation.Name": "Uri.BuildQueryString", - "Documentation.Description": "Assemble a record into a URI query string.", - "Documentation.LongDescription": "Assemble the record query into a URI query string, escaping characters as necessary.", - "Documentation.Category": "Uri", + "Documentation.Name": "Table.FuzzyNestedJoin", + "Documentation.Description": "Performs a fuzzy join between tables on supplied columns and produces the join result in a new column.", + "Documentation.LongDescription": "

Joins the rows of table1 with the rows of table2 based on a fuzzy matching of the values of the key columns selected by key1 (for table1) and key2 (for table2). The results are returned in a new column named newColumnName.

\r\n

Fuzzy matching is a comparison based on similarity of text rather than equality of text.

\r\n

The optional joinKind specifies the kind of join to perform. By default, a left outer join is performed if a joinKind is not specified. Options include:\r\n

\r\n\r\n

\r\n

An optional set of joinOptions may be included to specify how to compare the key columns. Options include:\r\n

\r\n\r\n

\r\n", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Encode a query string which contains some special characters.", - "Code": "Uri.BuildQueryString([a = \"1\", b = \"+$\"])", - "Result": "\"a=1&b=%2B%24\"" + "Description": "Left inner fuzzy join of two tables based on [FirstName]", + "Code": "Table.FuzzyNestedJoin(\r\n\t Table.FromRecords(\r\n {\r\n\t\t [CustomerID = 1, FirstName1 = \"Bob\", Phone = \"555-1234\"],\r\n\t\t [CustomerID = 2, FirstName1 = \"Robert\", Phone = \"555-4567\"]\r\n\t },\r\n type table [CustomerID = nullable number, FirstName1 = nullable text, Phone = nullable text]\r\n ),\r\n\t {\"FirstName1\"},\r\n\t Table.FromRecords(\r\n {\r\n\t\t [CustomerStateID = 1, FirstName2 = \"Bob\", State = \"TX\"],\r\n\t\t [CustomerStateID = 2, FirstName2 = \"bOB\", State = \"CA\"]\r\n\t },\r\n type table [CustomerStateID = nullable number, FirstName2 = nullable text, State = nullable text]\r\n ),\r\n\t {\"FirstName2\"},\r\n\t \"NestedTable\",\r\n\t JoinKind.LeftOuter,\r\n\t [IgnoreCase = true, IgnoreSpace = false]\r\n)", + "Result": "Table.FromRecords({\r\n [\r\n\t\t CustomerID = 1,\r\n\t\t FirstName1 = \"Bob\",\r\n\t\t Phone = \"555-1234\",\r\n\t\t NestedTable = Table.FromRecords({\r\n [\r\n\t\t\t\t CustomerStateID = 1,\r\n\t\t\t\t FirstName2 = \"Bob\",\r\n\t\t\t\t State = \"TX\"\r\n\t\t\t ],\r\n [\r\n\t\t\t\t CustomerStateID = 2,\r\n\t\t\t\t FirstName2 = \"bOB\",\r\n\t\t\t\t State = \"CA\"\r\n\t\t\t ]\r\n\t\t })\r\n\t ],\r\n [\r\n\t\t CustomerID = 2,\r\n\t\t FirstName1 = \"Robert\",\r\n\t\t Phone = \"555-4567\",\r\n\t\t NestedTable = Table.FromRecords({})\r\n\t ]\r\n})" } ] }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "query": "record" + "table1": "table", + "key1": "any", + "table2": "table", + "key2": "any", + "newColumnName": "text", + "joinKind": "JoinKind.Type", + "joinOptions": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "5" }, { - "Name": "Uri.EscapeDataString", + "Name": "Table.Group", "Documentation": { - "Documentation.Name": "Uri.EscapeDataString", - "Documentation.Description": "Encodes special characters in accordance with RFC 3986.", - "Documentation.LongDescription": "Encodes special characters in the input data according to the rules of RFC 3986.", - "Documentation.Category": "Uri", + "Documentation.Name": "Table.Group", + "Documentation.Description": "Groups rows in the table that have the same key.", + "Documentation.LongDescription": "Groups the rows of table by the key columns defined by key. The key can either be a single column name, or a list of column names.\r\n For each group, a record is constructed containing the key columns (and their values), along with any aggregated columns specified by aggregatedColumns.\r\n Optionally, groupKind and comparer may also be specified.
\r\n
\r\n If the data is already sorted by the key columns, then a groupKind of GroupKind.Local can be provided. This may improve the performance of grouping in certain cases,\r\n since all the rows with a given set of key values are assumed to be contiguous.
\r\n
\r\n When passing a comparer, note that if it treats differing keys as equal, a row may be placed in a group whose keys differ from its own.
\r\n
\r\n This function does not guarantee the ordering of the rows it returns.\r\n ", + "Documentation.Category": "Table.Transformation", "Documentation.Examples": [ { - "Description": "Encode the special characters in \"+money$\".", - "Code": "Uri.EscapeDataString(\"+money$\")", - "Result": "\"%2Bmoney%24\"" + "Description": "Group the table adding an aggregate column [total] which contains the sum of prices (\"each List.Sum([price])\").", + "Code": "Table.Group(\r\n Table.FromRecords({\r\n [CustomerID = 1, price = 20],\r\n [CustomerID = 2, price = 10],\r\n [CustomerID = 2, price = 20],\r\n [CustomerID = 1, price = 10],\r\n [CustomerID = 3, price = 20],\r\n [CustomerID = 3, price = 5]\r\n }),\r\n \"CustomerID\",\r\n {\"total\", each List.Sum([price])}\r\n)", + "Result": "Table.FromRecords(\r\n {\r\n [CustomerID = 1, total = 30],\r\n [CustomerID = 2, total = 30],\r\n [CustomerID = 3, total = 25]\r\n },\r\n {\"CustomerID\", \"total\"}\r\n)" } ] }, - "ReturnType": "text", + "ReturnType": "table", "Parameters": { - "data": "text" + "table": "table", + "key": "any", + "aggregatedColumns": "list", + "groupKind": "GroupKind.Type", + "comparer": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Uri.Parts", + "Name": "Table.InsertRows", "Documentation": { - "Documentation.Name": "Uri.Parts", - "Documentation.Description": "Returns the parts of the input absolute URI as a record.", - "Documentation.LongDescription": "Returns the parts of the input absoluteUri as a record, containing values such as Scheme, Host, Port, Path, Query, Fragment, UserName and Password.", - "Documentation.Category": "Uri", + "Documentation.Name": "Table.InsertRows", + "Documentation.Description": "Inserts a list of rows into the table at the specified position.", + "Documentation.LongDescription": "Returns a table with the list of rows, rows, inserted into the table at the given position, offset. Each column in the row to insert must match the column types of the table.", + "Documentation.Category": "Table.Row operations", "Documentation.Examples": [ { - "Description": "Find the parts of the absolute URI \"www.adventure-works.com\".", - "Code": "Uri.Parts(\"www.adventure-works.com\")", - "Result": "[\r\n Scheme = \"http\",\r\n Host = \"www.adventure-works.com\",\r\n Port = 80,\r\n Path = \"/\",\r\n Query = [],\r\n Fragment = \"\",\r\n UserName = \"\",\r\n Password = \"\"\r\n]" + "Description": "Insert the row into the table at position 1.", + "Code": "Table.InsertRows(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n }),\r\n 1,\r\n {[CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]}\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n})" }, { - "Description": "Decode a percent-encoded string.", - "Code": "let\r\n UriUnescapeDataString = (data as text) as text => Uri.Parts(\"http://contoso?a=\" & data)[Query][a]\r\nin\r\n UriUnescapeDataString(\"%2Bmoney%24\")", - "Result": "\"+money$\"" + "Description": "Insert two rows into the table at position 1.", + "Code": "Table.InsertRows(\r\n Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]}),\r\n 1,\r\n {\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n }\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]\r\n})" } ] }, - "ReturnType": "record", - "Parameters": { - "absoluteUri": "text" - }, - "RequiredParameters": "1" - }, - { - "Name": "VSTS.AccountContents", - "Documentation": { - "Documentation.Description": "Enter Url of your Azure DevOps Analytics Service.", - "Documentation.DisplayName": "VSTS", - "Documentation.Caption": "VSTS.AccountContents", - "Documentation.Name": "VSTS.AccountContents", - "Documentation.LongDescription": "Returns the contents downloaded from the Azure DevOps Analytics Service url as a binary value. This function uses different credentials for different organizations." - }, - "ReturnType": "binary", + "ReturnType": "table", "Parameters": { - "url": "text", - "options": "record" + "table": "table", + "offset": "number", + "rows": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "VSTS.Contents", + "Name": "Table.Join", "Documentation": { - "Documentation.Description": "Enter Url of your Azure DevOps Analytics Service.", - "Documentation.DisplayName": "VSTS", - "Documentation.Caption": "VSTS.Contents", - "Documentation.Name": "VSTS.Contents", - "Documentation.LongDescription": "Returns the contents downloaded from the Azure DevOps Analytics Service url as a binary value. This function uses global credentials for all the accessible organization." + "Documentation.Name": "Table.Join", + "Documentation.Description": "Joins the rows from the two tables that match based on the given keys.", + "Documentation.LongDescription": "

Joins the rows of table1 with the rows of table2 based on the equality of the values of the key columns selected by key1 (for table1) and key2 (for table2).

\r\n

By default, an inner join is performed, however an optional joinKind may be included to specify the type of join. Options include:\r\n

\r\n\r\n

\r\n

An optional set of keyEqualityComparers may be included to specify how to compare the key columns. This parameter is currently intended for internal use only.

", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [ + { + "Description": "Join two tables using a single key column.", + "Code": "Table.Join(\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n \"CustomerID\",\r\n Table.FromRecords({\r\n [OrderID = 1, CustomerID = 1, Item = \"Fishing rod\", Price = 100.0],\r\n [OrderID = 2, CustomerID = 1, Item = \"1 lb. worms\", Price = 5.0],\r\n [OrderID = 3, CustomerID = 2, Item = \"Fishing net\", Price = 25.0],\r\n [OrderID = 4, CustomerID = 3, Item = \"Fish tazer\", Price = 200.0],\r\n [OrderID = 5, CustomerID = 3, Item = \"Bandaids\", Price = 2.0],\r\n [OrderID = 6, CustomerID = 1, Item = \"Tackle box\", Price = 20.0],\r\n [OrderID = 7, CustomerID = 5, Item = \"Bait\", Price = 3.25]\r\n }),\r\n \"CustomerID\"\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", OrderID = 1, Item = \"Fishing rod\", Price = 100],\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", OrderID = 2, Item = \"1 lb. worms\", Price = 5],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\", OrderID = 3, Item = \"Fishing net\", Price = 25],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\", OrderID = 4, Item = \"Fish tazer\", Price = 200],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\", OrderID = 5, Item = \"Bandaids\", Price = 2],\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", OrderID = 6, Item = \"Tackle box\", Price = 20]\r\n})" + }, + { + "Description": "Join two tables that have conflicting column names, using multiple key columns.", + "Code": "let\r\n customers = Table.FromRecords({\r\n [TenantID = 1, CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [TenantID = 1, CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"]\r\n }),\r\n orders = Table.FromRecords({\r\n [TenantID = 1, OrderID = 1, CustomerID = 1, Name = \"Fishing rod\", Price = 100.0],\r\n [TenantID = 1, OrderID = 2, CustomerID = 1, Name = \"1 lb. worms\", Price = 5.0],\r\n [TenantID = 1, OrderID = 3, CustomerID = 2, Name = \"Fishing net\", Price = 25.0]\r\n })\r\nin\r\n Table.Join(\r\n customers,\r\n {\"TenantID\", \"CustomerID\"},\r\n Table.PrefixColumns(orders, \"Order\"),\r\n {\"Order.TenantID\", \"Order.CustomerID\"}\r\n )", + "Result": "Table.FromRecords({\r\n [TenantID = 1, CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Order.TenantID = 1, Order.OrderID = 1, Order.CustomerID = 1, Order.Name = \"Fishing rod\", Order.Price = 100],\r\n [TenantID = 1, CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\", Order.TenantID = 1, Order.OrderID = 2, Order.CustomerID = 1, Order.Name = \"1 lb. worms\", Order.Price = 5],\r\n [TenantID = 1, CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\", Order.TenantID = 1, Order.OrderID = 3, Order.CustomerID = 2, Order.Name = \"Fishing net\", Order.Price = 25]\r\n})" + } + ] }, - "ReturnType": "binary", + "ReturnType": "table", "Parameters": { - "url": "text", - "options": "record" + "table1": "table", + "key1": "any", + "table2": "table", + "key2": "any", + "joinKind": "JoinKind.Type", + "joinAlgorithm": "JoinAlgorithm.Type", + "keyEqualityComparers": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Value.Alternates", + "Name": "Table.MaxN", "Documentation": { - "Documentation.Name": "Value.Alternates", - "Documentation.Description": "Expresses alternate query plans.", - "Documentation.LongDescription": "Expresses alternate query plans within a query plan expression obtained through Value.Expression(Value.Optimize(...)). Not intended for other uses.", - "Documentation.Category": "Expression", - "Documentation.Examples": [] + "Documentation.Name": "Table.MaxN", + "Documentation.Description": "Returns the largest row(s) using the given criteria.", + "Documentation.LongDescription": "Returns the largest row(s) in the table, given the comparisonCriteria.\r\n After the rows are sorted, the countOrCondition parameter must be specified to further filter the result. Note the sorting algorithm cannot guarantee a fixed sorted result. The countOrCondition parameter can take multiple forms:\r\n ", + "Documentation.Category": "Table.Ordering", + "Documentation.Examples": [ + { + "Description": "Find the row with the largest value in column [a] with the condition [a] > 0, in the table. The rows are sorted before the filter is applied.", + "Code": "Table.MaxN(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 0, b = 0],\r\n [a = 6, b = 2]\r\n }),\r\n \"a\",\r\n each [a] > 0\r\n)", + "Result": "Table.FromRecords({\r\n [a = 6, b = 2],\r\n [a = 2, b = 4]\r\n})" + }, + { + "Description": "Find the row with the largest value in column [a] with the condition [b] > 0, in the table. The rows are sorted before the filter is applied.", + "Code": "Table.MaxN(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 8, b = 0],\r\n [a = 6, b = 2]\r\n }),\r\n \"a\",\r\n each [b] > 0\r\n)", + "Result": "Table.FromRecords({})" + } + ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "alternates": "list" + "table": "table", + "comparisonCriteria": "any", + "countOrCondition": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Value.Expression", + "Name": "Table.MinN", "Documentation": { - "Documentation.Name": "Value.Expression", - "Documentation.Description": "Returns an abstract syntax tree (AST) that represents the value's expression.", - "Documentation.LongDescription": "Returns an abstract syntax tree (AST) that represents the value's expression", - "Documentation.Category": "Expression", - "Documentation.Examples": [] + "Documentation.Name": "Table.MinN", + "Documentation.Description": "Returns the smallest row(s) using the given criteria.", + "Documentation.LongDescription": "Returns the smallest row(s) in the table, given the comparisonCriteria. After the rows are sorted, the countOrCondition parameter must be specified to further filter the result. Note the sorting algorithm cannot guarantee a fixed sorted result. The countOrCondition parameter can take multiple forms:\r\n ", + "Documentation.Category": "Table.Ordering", + "Documentation.Examples": [ + { + "Description": "Find the row with the smallest value in column [a] with the condition [a] < 3, in the table. The rows are sorted before the filter is applied.", + "Code": "Table.MinN(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 0, b = 0],\r\n [a = 6, b = 4]\r\n }),\r\n \"a\",\r\n each [a] < 3\r\n)", + "Result": "Table.FromRecords({\r\n [a = 0, b = 0],\r\n [a = 2, b = 4]\r\n})" + }, + { + "Description": "Find the row with the smallest value in column [a] with the condition [b] < 0, in the table. The rows are sorted before the filter is applied.", + "Code": "Table.MinN(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 8, b = 0],\r\n [a = 6, b = 2]\r\n }),\r\n \"a\",\r\n each [b] < 0\r\n)", + "Result": "Table.FromRecords({})" + } + ] }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { - "value": "any" + "table": "table", + "comparisonCriteria": "any", + "countOrCondition": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Value.Firewall", + "Name": "Table.NestedJoin", "Documentation": { - "Documentation.Name": "Value.Firewall", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Values.Implementation", - "Documentation.Examples": [] + "Documentation.Name": "Table.NestedJoin", + "Documentation.Description": "Performs a join between tables on supplied columns and produces the join result in a new column.", + "Documentation.LongDescription": "

Joins the rows of table1 with the rows of table2 based on the equality of the values of the key columns selected by key1 (for table1) and key2 (for table2). The results are entered into the column named newColumnName.

\r\n

The optional joinKind specifies the kind of join to perform. By default, a left outer join is performed if a joinKind is not specified.

\r\n

An optional set of keyEqualityComparers may be included to specify how to compare the key columns. This feature is currently intended for internal use only.

", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [ + { + "Description": "Join two tables using a single key column.", + "Code": "Table.NestedJoin(\r\n Table.FromRecords({\r\n [CustomerToCall = 1],\r\n [CustomerToCall = 3]\r\n }),\r\n {\"CustomerToCall\"},\r\n Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Ringo\", Phone = \"232-1550\"]\r\n }),\r\n {\"CustomerID\"},\r\n \"CustomerDetails\"\r\n)", + "Result": "Table.FromRecords({\r\n [CustomerToCall = 1, CustomerDetails = Table.FromRecords({[CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"]})],\r\n [CustomerToCall = 3, CustomerDetails = Table.FromRecords({[CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"]})]\r\n})" + } + ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "key": "text" + "table1": "table", + "key1": "any", + "table2": "any", + "key2": "any", + "newColumnName": "text", + "joinKind": "JoinKind.Type", + "keyEqualityComparers": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "5" }, { - "Name": "Value.FromText", + "Name": "Table.Partition", "Documentation": { - "Documentation.Name": "Value.FromText", - "Documentation.Description": "Creates a strongly-typed value from a textual representation.", - "Documentation.LongDescription": "Decodes a value from a textual representation, text, and interprets it as a value with an appropriate type.\r\n Value.FromText takes a text value and returns a number, a logical value, a null value, a datetime value, a duration value, or a text value. The empty text value is interpreted as a null value.\r\n An optional culture may also be provided (for example, \"en-US\").", - "Documentation.Category": "Text.Conversions from and to text", - "Documentation.Examples": [] + "Documentation.Name": "Table.Partition", + "Documentation.Description": "Partitions the table into a list of tables based on the number of groups and column specified.", + "Documentation.LongDescription": "Partitions the table into a list of groups number of tables, based on the value of the column and a hash function.\r\n The hash function is applied to the value of the column row to obtain a hash value for the row. The hash value modulo groups determines in which of the returned tables the row will be placed.\r\n \r\n ", + "Documentation.Category": "Table.Row operations", + "Documentation.Examples": [ + { + "Description": "Partition the table ({[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]}) into 2 tables on column [a], using the value of the columns as the hash function.", + "Code": "Table.Partition(\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 1, b = 4],\r\n [a = 2, b = 4],\r\n [a = 1, b = 4]\r\n }),\r\n \"a\",\r\n 2,\r\n each _\r\n)", + "Result": "{\r\n Table.FromRecords({\r\n [a = 2, b = 4],\r\n [a = 2, b = 4]\r\n }),\r\n Table.FromRecords({\r\n [a = 1, b = 4],\r\n [a = 1, b = 4]\r\n })\r\n}" + } + ] }, - "ReturnType": "any", + "ReturnType": "list", "Parameters": { - "text": "any", - "culture": "text" + "table": "table", + "column": "text", + "groups": "number", + "hash": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Value.Lineage", + "Name": "Table.Pivot", "Documentation": { - "Documentation.Name": "Value.Lineage", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Expression", - "Documentation.Examples": [] + "Documentation.Name": "Table.Pivot", + "Documentation.Description": "Given a pair of columns representing attribute-value pairs, rotates the data in the attribute column into a column headings.", + "Documentation.LongDescription": "Given a pair of columns representing attribute-value pairs, rotates the data in the attribute column into a column headings.", + "Documentation.Category": "Table.Column operations", + "Documentation.Examples": [ + { + "Description": "Take the values \"a\", \"b\", and \"c\" in the attribute column of table ({ [ key = \"x\", attribute = \"a\", value = 1 ], [ key = \"x\", attribute = \"c\", value = 3 ], [ key = \"y\", attribute = \"a\", value = 2 ], [ key = \"y\", attribute = \"b\", value = 4 ] }) and pivot them into their own column.", + "Code": "Table.Pivot(\r\n Table.FromRecords({\r\n [key = \"x\", attribute = \"a\", value = 1],\r\n [key = \"x\", attribute = \"c\", value = 3],\r\n [key = \"y\", attribute = \"a\", value = 2],\r\n [key = \"y\", attribute = \"b\", value = 4]\r\n }),\r\n {\"a\", \"b\", \"c\"},\r\n \"attribute\",\r\n \"value\"\r\n)", + "Result": "Table.FromRecords({\r\n [key = \"x\", a = 1, b = null, c = 3],\r\n [key = \"y\", a = 2, b = 4, c = null]\r\n})" + }, + { + "Description": "Take the values \"a\", \"b\", and \"c\" in the attribute column of table ({ [ key = \"x\", attribute = \"a\", value = 1 ], [ key = \"x\", attribute = \"c\", value = 3 ], [ key = \"x\", attribute = \"c\", value = 5 ], [ key = \"y\", attribute = \"a\", value = 2 ], [ key = \"y\", attribute = \"b\", value = 4 ] }) and pivot them into their own column. The attribute \"c\" for key \"x\" has multiple values associated with it, so use the function List.Max to resolve the conflict.", + "Code": "Table.Pivot(\r\n Table.FromRecords({\r\n [key = \"x\", attribute = \"a\", value = 1],\r\n [key = \"x\", attribute = \"c\", value = 3],\r\n [key = \"x\", attribute = \"c\", value = 5],\r\n [key = \"y\", attribute = \"a\", value = 2],\r\n [key = \"y\", attribute = \"b\", value = 4]\r\n }),\r\n {\"a\", \"b\", \"c\"},\r\n \"attribute\",\r\n \"value\",\r\n List.Max\r\n)", + "Result": "Table.FromRecords({\r\n [key = \"x\", a = 1, b = null, c = 5],\r\n [key = \"y\", a = 2, b = 4, c = null]\r\n})" + } + ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "value": "any" + "table": "table", + "pivotValues": "list", + "attributeColumn": "text", + "valueColumn": "text", + "aggregationFunction": "function" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Value.Metadata", + "Name": "Table.ReplaceRows", "Documentation": { - "Documentation.Name": "Value.Metadata", - "Documentation.Description": "Returns a record containing the input's metadata.", - "Documentation.LongDescription": "Returns a record containing the input's metadata.", - "Documentation.Category": "Metadata", - "Documentation.Examples": [] + "Documentation.Name": "Table.ReplaceRows", + "Documentation.Description": "Replaces the specified range of rows with the provided row(s).", + "Documentation.LongDescription": "Replaces a specified number of rows, count, in the input table with the specified rows, beginning after the offset. The rows parameter is a list of records.\r\n \r\n", + "Documentation.Category": "Table.Row operations", + "Documentation.Examples": [ + { + "Description": "Starting at position 1, replace 3 rows.", + "Code": "Table.ReplaceRows(\r\n Table.FromRecords({\r\n [Column1 = 1],\r\n [Column1 = 2],\r\n [Column1 = 3],\r\n [Column1 = 4],\r\n [Column1 = 5]\r\n }),\r\n 1,\r\n 3,\r\n {[Column1 = 6], [Column1 = 7]}\r\n)", + "Result": "Table.FromRecords({\r\n [Column1 = 1],\r\n [Column1 = 6],\r\n [Column1 = 7],\r\n [Column1 = 5]\r\n})" + } + ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "value": "any" + "table": "table", + "offset": "number", + "count": "number", + "rows": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Value.Optimize", + "Name": "Table.ReplaceValue", "Documentation": { - "Documentation.Name": "Value.Optimize", - "Documentation.Description": "Signals Value.Expression to return the optimized expression for a value.", - "Documentation.LongDescription": "When used within Value.Expression, if value represents a query that can be optimized, this function indicates that the optimized expression should be returned. Otherwise, value will be passed through with no effect.", - "Documentation.Category": "Expression", - "Documentation.Examples": [] + "Documentation.Name": "Table.ReplaceValue", + "Documentation.Description": "Replaces one value with another in the specified columns.", + "Documentation.LongDescription": "Replaces oldValue with newValue in the specified columns of the table.", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [ + { + "Description": "Replace the text \"goodbye\" with \"world\" in column B, matching only the entire value.", + "Code": "Table.ReplaceValue(\r\n Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 2, B = \"goodbye\"],\r\n [A = 3, B = \"goodbyes\"]\r\n }),\r\n \"goodbye\",\r\n \"world\",\r\n Replacer.ReplaceValue,\r\n {\"B\"}\r\n)", + "Result": "Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 2, B = \"world\"],\r\n [A = 3, B = \"goodbyes\"]\r\n})" + }, + { + "Description": "Replace the text \"ur\" with \"or\" in column B, matching any part of the value.", + "Code": "Table.ReplaceValue(\r\n Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 2, B = \"wurld\"]\r\n }),\r\n \"ur\",\r\n \"or\",\r\n Replacer.ReplaceText,\r\n {\"B\"}\r\n)", + "Result": "Table.FromRecords({\r\n [A = 1, B = \"hello\"],\r\n [A = 2, B = \"world\"]\r\n})" + }, + { + "Description": "Anonymize the names of US employees.", + "Code": "Table.ReplaceValue(\r\n Table.FromRecords({\r\n [Name = \"Cindy\", Country = \"US\"],\r\n [Name = \"Bob\", Country = \"CA\"]\r\n }),\r\n each if [Country] = \"US\" then [Name] else false,\r\n each Text.Repeat(\"*\", Text.Length([Name])),\r\n Replacer.ReplaceValue,\r\n {\"Name\"}\r\n)", + "Result": "Table.FromRecords({\r\n [Name = \"*****\", Country = \"US\"],\r\n [Name = \"Bob\", Country = \"CA\"]\r\n})" + }, + { + "Description": "Anonymize all columns of US employees.", + "Code": "Table.ReplaceValue(\r\n Table.FromRecords({\r\n [Name = \"Cindy\", Country = \"US\"],\r\n [Name = \"Bob\", Country = \"CA\"]\r\n }),\r\n each [Country] = \"US\",\r\n \"?\",\r\n (currentValue, isUS, replacementValue) =>\r\n if isUS then\r\n Text.Repeat(replacementValue, Text.Length(currentValue))\r\n else\r\n currentValue,\r\n {\"Name\", \"Country\"}\r\n)", + "Result": "Table.FromRecords({\r\n [Name = \"?????\", Country = \"??\"],\r\n [Name = \"Bob\", Country = \"CA\"]\r\n})" + } + ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "value": "any" + "table": "table", + "oldValue": "any", + "newValue": "any", + "replacer": "function", + "columnsToSearch": "list" }, - "RequiredParameters": "1" + "RequiredParameters": "5" }, { - "Name": "Value.RemoveMetadata", + "Name": "Table.SplitColumn", "Documentation": { - "Documentation.Name": "Value.RemoveMetadata", - "Documentation.Description": "Strips the input of metadata.", - "Documentation.LongDescription": "Strips the input of metadata.", - "Documentation.Category": "Metadata", - "Documentation.Examples": [] + "Documentation.Name": "Table.SplitColumn", + "Documentation.Description": "Splits the specified columns into a set of additional columns using the specified splitter function.", + "Documentation.LongDescription": "Splits the specified columns into a set of additional columns using the specified splitter function.", + "Documentation.Category": "Table.Transformation", + "Documentation.Examples": [ + { + "Description": "Split the [Name] column at position of \"i\" into two columns", + "Code": "let\r\n Customers = Table.FromRecords({\r\n [CustomerID = 1, Name = \"Bob\", Phone = \"123-4567\"],\r\n [CustomerID = 2, Name = \"Jim\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name = \"Paul\", Phone = \"543-7890\"],\r\n [CustomerID = 4, Name = \"Cristina\", Phone = \"232-1550\"]\r\n })\r\nin\r\n Table.SplitColumn(Customers, \"Name\", Splitter.SplitTextByDelimiter(\"i\"), 2)", + "Result": "Table.FromRecords({\r\n [CustomerID = 1, Name.1 = \"Bob\", Name.2 = null, Phone = \"123-4567\"],\r\n [CustomerID = 2, Name.1 = \"J\", Name.2 = \"m\", Phone = \"987-6543\"],\r\n [CustomerID = 3, Name.1 = \"Paul\", Name.2 = null, Phone = \"543-7890\"],\r\n [CustomerID = 4, Name.1 = \"Cr\", Name.2 = \"st\", Phone = \"232-1550\"]\r\n})" + } + ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "value": "any", - "metaValue": "any" + "table": "table", + "sourceColumn": "text", + "splitter": "function", + "columnNamesOrNumber": "any", + "default": "any", + "extraColumns": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Value.ResourceExpression", + "Name": "Table.Unpivot", "Documentation": { - "Documentation.Name": "Value.ResourceExpression", - "Documentation.Description": "Value.ResourceExpression", - "Documentation.LongDescription": "Value.ResourceExpression", - "Documentation.Category": "", - "Documentation.Examples": [] + "Documentation.Name": "Table.Unpivot", + "Documentation.Description": "Translates a set of columns in a table into attribute-value pairs.", + "Documentation.LongDescription": "Translates a set of columns in a table into attribute-value pairs, combined with the rest of the values in each row.", + "Documentation.Category": "Table.Column operations", + "Documentation.Examples": [ + { + "Description": "Take the columns \"a\", \"b\", and \"c\" in the table ({[ key = \"x\", a = 1, b = null, c = 3 ], [ key = \"y\", a = 2, b = 4, c = null ]}) and unpivot them into attribute-value pairs.", + "Code": "Table.Unpivot(\r\n Table.FromRecords({\r\n [key = \"x\", a = 1, b = null, c = 3],\r\n [key = \"y\", a = 2, b = 4, c = null]\r\n }),\r\n {\"a\", \"b\", \"c\"},\r\n \"attribute\",\r\n \"value\"\r\n)", + "Result": "Table.FromRecords({\r\n [key = \"x\", attribute = \"a\", value = 1],\r\n [key = \"x\", attribute = \"c\", value = 3],\r\n [key = \"y\", attribute = \"a\", value = 2],\r\n [key = \"y\", attribute = \"b\", value = 4]\r\n})" + } + ] }, - "ReturnType": "any", + "ReturnType": "table", "Parameters": { - "value": "any" + "table": "table", + "pivotColumns": "list", + "attributeColumn": "text", + "valueColumn": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Value.Type", + "Name": "Table.UnpivotOtherColumns", "Documentation": { - "Documentation.Name": "Value.Type", - "Documentation.Description": "Returns the type of the given value.", - "Documentation.LongDescription": "Returns the type of the given value.", - "Documentation.Category": "Values", - "Documentation.Examples": [] + "Documentation.Name": "Table.UnpivotOtherColumns", + "Documentation.Description": "Translates all columns other than a specified set into attribute-value pairs.", + "Documentation.LongDescription": "Translates all columns other than a specified set into attribute-value pairs, combined with the rest of the values in each row.", + "Documentation.Category": "Table.Column operations", + "Documentation.Examples": [ + { + "Description": "Translates all columns other than a specified set into attribute-value pairs, combined with the rest of the values in each row.", + "Code": "Table.UnpivotOtherColumns(\r\n Table.FromRecords({\r\n [key = \"key1\", attribute1 = 1, attribute2 = 2, attribute3 = 3],\r\n [key = \"key2\", attribute1 = 4, attribute2 = 5, attribute3 = 6]\r\n }),\r\n {\"key\"},\r\n \"column1\",\r\n \"column2\"\r\n)", + "Result": "Table.FromRecords({\r\n [key = \"key1\", column1 = \"attribute1\", column2 = 1],\r\n [key = \"key1\", column1 = \"attribute2\", column2 = 2],\r\n [key = \"key1\", column1 = \"attribute3\", column2 = 3],\r\n [key = \"key2\", column1 = \"attribute1\", column2 = 4],\r\n [key = \"key2\", column1 = \"attribute2\", column2 = 5],\r\n [key = \"key2\", column1 = \"attribute3\", column2 = 6]\r\n})" + } + ] }, - "ReturnType": "type", + "ReturnType": "table", "Parameters": { - "value": "any" + "table": "table", + "pivotColumns": "list", + "attributeColumn": "text", + "valueColumn": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "4" }, { - "Name": "Value.VersionIdentity", + "Name": "Text.BetweenDelimiters", "Documentation": { - "Documentation.Name": "Value.VersionIdentity", - "Documentation.Description": "Value.VersionIdentity", - "Documentation.LongDescription": "Value.VersionIdentity", - "Documentation.Category": "Action", - "Documentation.Examples": [] + "Documentation.Name": "Text.BetweenDelimiters", + "Documentation.Description": "Text.BetweenDelimiters", + "Documentation.LongDescription": "Returns the portion of text between the specified startDelimiter and endDelimiter.\r\n An optional numeric startIndex indicates which occurrence of the startDelimiter should be considered.\r\n An optional list startIndex indicates which occurrence of the startDelimiter should be considered, as well as whether indexing should be done from the start or end of the input.\r\n The endIndex is similar, except that indexing is done relative to the startIndex.", + "Documentation.Category": "Text.Transformations", + "Documentation.Examples": [ + { + "Description": "Get the portion of \"111 (222) 333 (444)\" between the (first) open parenthesis and the (first) closed parenthesis that follows it.", + "Code": "Text.BetweenDelimiters(\"111 (222) 333 (444)\", \"(\", \")\")", + "Result": "\"222\"" + }, + { + "Description": "Get the portion of \"111 (222) 333 (444)\" between the second open parenthesis and the first closed parenthesis that follows it.", + "Code": "Text.BetweenDelimiters(\"111 (222) 333 (444)\", \"(\", \")\", 1, 0)", + "Result": "\"444\"" + }, + { + "Description": "Get the portion of \"111 (222) 333 (444)\" between the second open parenthesis from the end and the second closed parenthesis that follows it.", + "Code": "Text.BetweenDelimiters(\"111 (222) 333 (444)\", \"(\", \")\", {1, RelativePosition.FromEnd}, {1, RelativePosition.FromStart})", + "Result": "\"222) 333 (444\"" + } + ] }, "ReturnType": "any", "Parameters": { - "value": "any" + "text": "text", + "startDelimiter": "text", + "endDelimiter": "text", + "startIndex": "any", + "endIndex": "any" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Value.ViewError", + "Name": "Text.Insert", "Documentation": { - "Documentation.Name": "Value.ViewError", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Values.Implementation", - "Documentation.Examples": [] + "Documentation.Name": "Text.Insert", + "Documentation.Description": "Inserts one text value into another at a given position.", + "Documentation.LongDescription": "Returns the result of inserting text value newText into the text value text at position offset. Positions start at number 0.", + "Documentation.Category": "Text.Modification", + "Documentation.Examples": [ + { + "Description": "Insert \"C\" between \"B\" and \"D\" in \"ABD\".", + "Code": "Text.Insert(\"ABD\", 2, \"C\")", + "Result": "\"ABCD\"" + } + ] }, - "ReturnType": "record", + "ReturnType": "text", "Parameters": { - "errorRecord": "record" + "text": "text", + "offset": "number", + "newText": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Value.ViewFunction", + "Name": "Text.NewGuid", "Documentation": { - "Documentation.Name": "Value.ViewFunction", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Values.Implementation", + "Documentation.Name": "Text.NewGuid", + "Documentation.Description": "Returns a new, random globally unique identifier (GUID).", + "Documentation.LongDescription": "Returns a new, random globally unique identifier (GUID).", + "Documentation.Category": "Text.Conversions from and to text", "Documentation.Examples": [] }, - "ReturnType": "function", - "Parameters": { - "function": "function" - }, - "RequiredParameters": "1" + "ReturnType": "text", + "Parameters": {}, + "RequiredParameters": "0" }, { - "Name": "Variable.Value", + "Name": "Text.Replace", "Documentation": { - "Documentation.Name": "Variable.Value", - "Documentation.Description": "This function is intended for internal use only.", - "Documentation.LongDescription": "This function is intended for internal use only.", - "Documentation.Category": "Values.Implementation", - "Documentation.Examples": [] + "Documentation.Name": "Text.Replace", + "Documentation.Description": "Replaces all occurrences of the given substring in the text.", + "Documentation.LongDescription": "Returns the result of replacing all occurrences of text value old in text value text with text value new. This function is case sensitive.", + "Documentation.Category": "Text.Modification", + "Documentation.Examples": [ + { + "Description": "Replace every occurrence of \"the\" in a sentence with \"a\".", + "Code": "Text.Replace(\"the quick brown fox jumps over the lazy dog\", \"the\", \"a\")", + "Result": "\"a quick brown fox jumps over a lazy dog\"" + } + ] }, - "ReturnType": "any", + "ReturnType": "text", "Parameters": { - "identifier": "text" + "text": "text", + "old": "text", + "new": "text" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Web.BrowserContents", + "Name": "Text.ReplaceRange", "Documentation": { - "Documentation.Name": "Web.BrowserContents", - "Documentation.Description": "Returns the HTML for the specified URL, as viewed by a web browser.", - "Documentation.LongDescription": "Returns the HTML for the specified url, as viewed by a web browser. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n ", - "Documentation.Category": "Accessing data", + "Documentation.Name": "Text.ReplaceRange", + "Documentation.Description": "Removes a range of characters and inserts a new value at a specified position.", + "Documentation.LongDescription": "Returns the result of removing a number of characters, count, from text value text beginning at position offset and then inserting the text value newText at the same position in text.", + "Documentation.Category": "Text.Modification", "Documentation.Examples": [ { - "Description": "Returns the HTML for https://microsoft.com.", - "Code": "Web.BrowserContents(\"https://microsoft.com\")", - "Result": "\"url as binary. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n The HTTP request is made as either a GET (when no Content is specified) or a POST (when there is Content). POST requests may only be made anonymously.\r\n
\r\n The headers of the HTTP response are available as metadata on the binary result. Outside of a custom data connector context, only a subset of response headers is available (for security reasons).\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [ - { - "Description": "Retrieve the contents of \"https://bing.com/search?q=Power+Query\" using the RelativePath and Query options. These options can be used to dynamically query a static base URL.", - "Code": "let\r\n searchText = \"Power Query\"\r\nin\r\n Web.Contents(\r\n \"https://www.bing.com\",\r\n [\r\n RelativePath = \"search\",\r\n Query = [q = searchText]\r\n ]\r\n )", - "Result": "binary" - }, - { - "Description": "Perform a POST against a URL, passing a binary JSON payload and parsing the response as JSON.", - "Code": "let\r\n url = ...,\r\n headers = [#\"Content-Type\" = \"application/json\"],\r\n postData = Json.FromValue([x = 235.7, y = 41.53]),\r\n response = Web.Contents(\r\n url,\r\n [\r\n Headers = headers,\r\n Content = postData\r\n ]\r\n ),\r\n jsonResponse = Json.Document(response)\r\nin\r\n jsonResponse", - "Result": "table" - }, - { - "Description": "Connect to a secure URL that accepts an authentication key as part of its query string. Instead of hard-coding the secret key in M (which would pose a security risk), \r\n the key can be provided securely by specifying its name (not its value) in M, choosing Web API authentication, and entering the key value as part of the Web API credential.\r\n When used in this way, the following example will generate a request to \"https://contoso.com/api/customers/get?api_key=******\".", - "Code": "Web.Contents(\"https://contoso.com/api/customers/get\", [ApiKeyName=\"api_key\"])", - "Result": "binary" - } - ] + "Documentation.Name": "Type.AddTableKey", + "Documentation.Description": "Adds a key to the given table type.", + "Documentation.LongDescription": "Adds a key to the given table type.", + "Documentation.Category": "Type", + "Documentation.Examples": [] }, - "ReturnType": "binary", + "ReturnType": "type", "Parameters": { - "url": "text", - "options": "record" + "table": "type", + "columns": "list", + "isPrimary": "logical" }, - "RequiredParameters": "1" + "RequiredParameters": "3" }, { - "Name": "Web.Headers", + "Name": "VSTS.Views", "Documentation": { - "Documentation.Name": "Web.Headers", - "Documentation.Description": "Returns the HTTP headers downloaded from the url as a record value.", - "Documentation.LongDescription": "Returns the headers downloaded from url as a record. An optional record parameter, options, may be provided to specify additional properties. The record can contain the following fields:\r\n \r\n\r\n The HTTP request is made with the HEAD method. Outside of a custom data connector context, only a subset of response headers is available (for security reasons).\r\n ", - "Documentation.Category": "Accessing data", - "Documentation.Examples": [ - { - "Description": "Retrieve the HTTP headers for \"https://bing.com/search?q=Power+Query\" using the RelativePath and Query options.", - "Code": "let\r\n searchText = \"Power Query\"\r\nin\r\n Web.Headers(\r\n \"https://www.bing.com\",\r\n [\r\n RelativePath = \"search\",\r\n Query = [q = searchText]\r\n ]\r\n )", - "Result": "([\r\n #\"Cache-Control\" = \"private, max-age=0\",\r\n #\"Content-Encoding\" = \"gzip\",\r\n #\"Content-Length\" = \"0\",\r\n #\"Content-Type\" = \"text/html; charset=utf-8\",\r\n Date = \"Tue, 14 Dec 2021 16:57:25 GMT\",\r\n Expires = \"Tue, 14 Dec 2021 16:56:25 GMT\",\r\n Vary = \"Accept-Encoding\"\r\n]\r\nmeta [\r\n Response.Status = 200\r\n])" - } - ] + "Documentation.Description": "Enter organization and project names.", + "Documentation.DisplayName": "VSTS.Views", + "Documentation.Caption": "VSTS.Views", + "Documentation.Name": "Azure DevOps Services", + "Documentation.LongDescription": "Returns a table of OData feeds offered by Azure DevOps." }, - "ReturnType": "record", + "ReturnType": "table", "Parameters": { "url": "text", + "project": "text", + "areaPath": "text", "options": "record" }, - "RequiredParameters": "1" + "RequiredParameters": "3" + }, + { + "Name": "Webtrends.Profile", + "Documentation": {}, + "ReturnType": "any", + "Parameters": {}, + "RequiredParameters": "0" + }, + { + "Name": "appFigures.Tables", + "Documentation": {}, + "ReturnType": "table", + "Parameters": {}, + "RequiredParameters": "0" } ], "enumerations": [