Filter, Search and Lookup functions in Power Fx | Canvas Apps

Here’s how you can use and understand the difference between Filter, Search and Lookup functions if you are new to making Canvas Apps. I’ve tried to explain the usage of these in simple examples!

These functions are part of the Power Fx and are used in Canvas Apps.

  1. Lookup Function – Lookup function in Canvas Power Apps | Power Fx Formula Example
  2. Search Function – Search function in Canvas Power Apps | Power Fx Formula Example
  3. Filter Function – Filter function in Canvas Power Apps | Power Fx Formula Example

Differences between Filter, Search and Lookup

FilterLookupSearch
Results inMultiple RecordsSingle RecordMultiple Records
Search TypeCriteria BasedCriteria BasedText Based

Here’s Microsoft Learn link for detailed criteria & documentation: https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-filter-lookup#syntax?WT.mc_id=DX-MVP-5003911

Hope this helps!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Filter function in Canvas Power Apps | Power Fx Formula Example

In case you are looking for how you use Search function as opposed to using Lookup() function in Power Fx in Canvas App, check this post!

Lookup Function – Lookup function in Canvas Power Apps | Power Fx Formula Example

Search Function – Search function in Canvas Power Apps | Power Fx Formula Example

Scenario

I have a Gallery control which is populated with Accounts data from Dataverse.

Then, I have another Gallery control to demonstrate how we can filter and pick records that satisfy one or more criteria in the Filter formula.

Filter() in Canvas Apps

Let’s see how we can use Filter in Canvas App based on the above scenario –

  1. Start by typing Filter while the target Gallery is selected under Items property and you’ll see that it’s a valid function in the list. And the first thing in the parameter after opening the bracket is the source.

  2. Now, Accounts is the table which I’m looking to filter on. I selected this from the Auto-complete when I types Accounts and then press comma (,) for the next parameter.

  3. Next, I’ll be asked the criteria to check for in order to Filter from the source data.
    Here, I want to select all the Account whose Annual Revenue is under 750,000.

    So, when I start typing the field name, the list will show the correct name which I can select.

  4. Then, I complete the formula.


  5. Optionally, I can have multiple criteria to be Filtered for.
    In this example, I’ll still keep only 1.

  6. Now, based on the completed formula, you can see below that the matching records have been filtered in the new Gallery control we added.

.And that’s how you can use Filter() function in Canvas App to select the records which match the provided criteria.

Here’s Microsoft Learn link for detailed criteria & documentation: https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-filter-lookup#syntax?WT.mc_id=DX-MVP-5003911

Hope this helps!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Search function in Canvas Power Apps | Power Fx Formula Example

In case you are looking for how you use Search function as opposed to using Lookup() function in Power Fx in Canvas App, check this post!

Lookup function – Lookup function in Canvas Power Apps | Power Fx Formula Example

Filter function – Filter function in Canvas Power Apps | Power Fx Formula Example

Scenario

I have a Gallery control which is populated with Accounts data from Dataverse.

Then, I have another Gallery control to demonstrate how we can search and pick records that satisfy the criteria in the Seach formula.

Search() in Canvas App

Let’s see how we can use Search in a Canvas App based on the above scenario –

  1. Start by typing Seach while the Gallery is selected and you’ll see that it’s a valid function in the list. And the first thing in the parameter after opening the backet is the source.

  2. Now, Accounts is the table which I’m searching into. I selected this from the Auto-complete when I typed in Accounts and then, press comma (,) for the next parameter

  3. Next, I’ll be asked the text value of what I have to search for. It works like a “contains”. Anything that matches the pattern will be returned instead of the exact match.

  4. Finally, the last parameter is the Column on which the Search should be performed on. Since, I’m looking for Name of the Account in which I expect to find XYZ, I’ll select “Name” from the list.

  5. Now, the Formula is completed. I’ll get the below Formula on the new Gallery control’s Items property which has multiple records.

  6. And below is the result. All the rows that have XYZ in the Name of the Accounts will be populated in the new Gallery control I selected.


    And that’s how Search() function can be used to select records that have the phrase entered in the forumula.

Here’s Microsoft Learn link for detailed criteria & documentation: https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-filter-lookup#syntax?WT.mc_id=DX-MVP-5003911

Hope this helps!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Lookup function in Canvas Power Apps | Power Fx Formula Example

Here’s how to think about and use the Lookup function in Canvas Power Apps!

Lookup is used to fetch a single record that matches a criteria from the source (usually a table)


Scenario

I have a Gallery control which is populated with Accounts data from Dataverse.

Then, I have a Textbox (Text Input) in which I’m going to pull up a field from a record from Dataverse table which matches a certain criteria.

Lookup() in Canvas App

Let’s see how we can use Lookup in a Canvas App based on the above scenario –

  1. Start by typing Lookup and you’ll see that it’s a valid function in the list. And the first thing in the parameter after opening the bracket is the source.
    As you can see, suggestions are also seen in the list below. Here, you have the select the Table / Entity from which you want to fetch the record.


  2. Now, Accounts is the table which I’m looking into. Hence, I’ll select that and press comma (,). Next, I’ll be asked the condition.
    Here, you need to mention what record you want to retrieve based on what criteria.

  3. So, I want to retrieve an Account whose “Account Name” is equal to <value>. So, below is how I write it.
    In this example, I’m trying to fetch an Account record whose ‘Account Namefield has value “Coffee House”

  4. Further, once I have this condition satisfied, what field I want to retrieve so that it can be shown in the Text Input box I have inserted (for which I’m writing this Lookup)


    So in this case, I want to retrieve the ‘Main Phone’ field.


  5. And once my formula is complete, I can end it with a closing bracket.
    And as you see the result below, the Main Phone from the matching criteria Account has shown up.


    And that’s how Lookup() function can be used to pick a record’s value based on a certain criteria.

Here’s Microsoft Learn Link for the same: https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-filter-lookup#syntax?WT.mc_id=DX-MVP-5003911

Hope this helps!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Setting up Billing Policy for Dataverse Environments in Power Platform for Azure Pay-As-You-Go plan | Microsoft Azure

Pay-as-you-go has been recently announced with Azure and I too wanted to explore this topic myself on my trials Dataverse/D365 Sales environment as well as my Microsoft Azure trial subscription which I started.

Disclaimer: Please note that I’m exploring this topic and sharing as I go on. Hence, I’ll continue to write further topics as I proceed. Please try on your Dataverse trial & Microsoft Azure trial subscription to identify / estimate the costs your actual implementation will incur.

I also recommend going through the below Microsoft Learn Pages for detailed information on pricing and meters of the Pay-as-you-go model –

Detailed Microsoft Docs for Pay-as-you-go: https://learn.microsoft.com/en-us/power-platform/admin/pay-as-you-go-overview?WT.mc_id=DX-MVP-5003911

Power Apps Pricing: https://powerapps.microsoft.com/en-us/pricing/

Pay-as-you-go Meters: https://learn.microsoft.com/en-us/power-platform/admin/pay-as-you-go-meters?tabs=image?WT.mc_id=DX-MVP-5003911

Let’s see how we can get started!

Setting up Billing Policy

Here’s how you create Billing Policy in Power Platform –

  1. In Power Platform Admin Center (https://admin.powerplatform.microsoft.com/), you can see Policies section. If you expand the same, you can see Billing Policies.

  2. Here, you can start by creating a new Billing Policy

  3. You can give it an appropriate name. And it doesn’t allow you to have spaces.

  4. Next, you’ll be asked to select the Subscription you wan to assign the Billing Policy under.
    Notice the error below. My Free Trial Azure Subscription doesn’t have a Resource Group created yet. Hence, this need to be present.


  5. Since at this point, I don’t have a Resource Group under the Azure Subscription I selected, I need to go to Azure Portal (https://portal.azure.com/), search for Resource Groups

  6. Since you might not have any Resource Group right away, you can create one.


  7. I’ll just give it a name which I can identify with.


  8. I’ll validate and Create the same in Azure.


  9. Resource Group will be created here.


  10. Now, when I come back to Power Platform, if I reselect the Azure Subscription, I’ll now see that the Resource Group I created is showing up.

  11. I’ll select the same and select United States as the Region.
    And click on Next.


  12. In the next steps, I can select which all Environments should be included in the Policy. Then, I can click on + Add to policy.

  13. You can see the Added to policy tab now showing your environment. Once you are satisfied with the selection, you can click on Next.

  14. Final step is to now Review and confirm the policy you are creating.

  15. It’ll take a moment to start provisioning. Then, you’ll see the status as Provisioning.

  16. Once completed, the status will show as Enabled.


  17. Now, when you go back to Azure Portal and open the Resource Group, you’ll find a Deployment show up



  18. Open it up and you’ll see a Deployment created.

  19. And if you open the Deployment, you can see the DataverseBilling which we had set up in Power Platform.


  20. And this point, you are now setup with using Pay-As-you-go plan for your Dataverse environment(s).

    Note: Further, I’ll write follow up posts as I explore Pay-as-you-go scenarios and experience myself.

Hope this helps!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Instant Cloud Flow asking for Location Services to be turned on | [Quick Tip]

If you are using Instant Cloud Flows in Power Automate, you must be asked the below –

That’s because Instant Cloud Flow needs Location Services to be on for Power Automate.

Turn On Location Services

Here’s how you can turn on Location Services.

  1. If you click on the “Lock” icon on the Chrome (or other browsers), you’ll see Location is turned off. This is when you would have initially denied sharing location.

  2. All you need to do is turn this on. Flip the switch!

  3. And now when you Run the Flow again, you’ll notice that the Location services has passed on the Location details to the trigger of the Flow i.e. Instant Flow trigger.

Hope this helps!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Check which Power Automate or Power Apps Licenses are assigned to you | [Quick Tip]

In case you are using Power Automate for your own use or asked to build something for the team, here’s how you can check what capabilities you are entitled to –

Check Licenses in Power Automate

Here’s how you can check licenses assigned to you in Power Automate –

  1. When in Power Automate, click on the Gear icon.


  2. Now, select View My Licenses.

  3. Here, you’ll clearly see all the licenses and the capabilities you have with the Power Automate license assigned to you.


  4. Another example is a User with only Power Automate Free license assigned to them. This is what they will see –

  5. This simple and clear distinction helps you identify with the capabilities you have in Power Automate.
    Here’s the Power Automate Pricing Link provided in the “Learn how to add capabilities” section at the bottom.
    https://powerautomate.microsoft.com/en-us/pricing/

  6. Here’s a Bonus! Same applies for Power Apps as well. If you are in Power Apps (https://make.powerapps.com/) or in the App Designer in a Canvas App, you can see the Plan(s) option under the Gear Icon.


  7. And you’ll see the Capability available to your user.

Hope this helps!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Background Processing Flow for Approvals in Project Operations

If you have newly provisioned a Project Operations instance and if you’ve come across the below error message –

The error message says, “The background processing cloud flow is inactive. Approvals will be processed while you wait. Please report this to your administrator to enable background processing.

Background Flow for Approvals

Here’s what it means when you see the above notification –

  1. You can go to the Power Automate portal (https://make.powerautomate.com/) and then navigate to the Environment on which Project Operations is installed on.
    If you go to My Flows, you’ll see this Flow with the title “Project Service – Recurrently Schedule Project Approval Sets

  2. You just need to turn this Flow on.
  3. This Flow comes from the Project Operations Solution in your environment.

  4. And you’ll see the same Flow here as well. And you’ll notice that it will be Off by default if you are in a newly provisioned environment.

  5. Once this is turned on, you won’t see the notification in Approvals.


Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Set up Power Platform Tools in Visual Studio Code | Power Platform CLI

In your Visual Studio Code, you can now set up Power Platform Tools / Power Platform CLI Extension for Visual Studio Code (VS Code).

Here’s VS Marketplace Link for Power Platform Tools – https://marketplace.visualstudio.com/items?itemName=microsoft-IsvExpTools.powerplatform-vscode

Let’s review in this post!

Extensions in Visual Studio Code

Here’s how you can install Power Platform Build Tools in Visual Studio Code

  1. Navigate to Extensions section in Visual Studio Code.

  2. Search for Power Platform Tools

  3. It’ll then start installing –

  4. When you open the installed extension, you’ll be asked to Add Auth Profile.

  5. Clicking on Add Auth Profile will open up the Login dialog.

  6. Once you enter Username and Password and authenticate yourself into the environment, after a few moments, you’ll see the environments show up in Visual Studio Code.

  7. And if you expand on the environments, you’ll see the Solutions in the environment and each of them will let you get some information right away –



Testing Power Platform Tools Extension

Let’s make sure the Power Platform Tools were successfully installed –

  1. Once installed, you can open a new Terminal and type ‘pac


  2. It should show you all the Commands available since you are logged in.

  3. And as you start to use the Commands, they have other options inside the Menus themselves.


  4. Here’s a sample Command I used to see all the Environments

  5. Had Power Platform Tools not been installed or Disabled, you’d see the below error –

Here’s the reference Blog which talks about Power Platform Extension for VS Code – https://powerapps.microsoft.com/en-us/blog/power-platform-extension-for-vs-code/

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform\
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!