web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Need filter query to e...
Power Automate
Suggested Answer

Need filter query to enforce case-sensitivity

(1) ShareShare
ReportReport
Posted on by 35
Hi all, please could you help with the following query, I've looked online to no avail! 
 
I have a flow that records the unique ID for incoming emails, and recalls the UID to perform other actions later in the flow. It was working very well and was extremely helpful to us, but recently some people have received the incorrect information due to the filter query not enforcing UID case sensitivity. 
 
Currently the 'List rows present in a table' filter query is set to: UID eq '@{triggerOutputs()?['body/id']}''
 
However this is finding more than one UID as it is ignoring the case sensitivity which is required.  Is there a simple way to enforce case sensitivity in this filter please? 
Categories:
I have the same question (0)
  • Expiscornovus Profile Picture
    33,195 Most Valuable Professional on at
    Don't know if it helps, but you could convert the id to toLower (or toUpper casing format).
     
    For example
    UID eq '@{toLower(triggerOutputs()?['body/id'])}'
     
     
  • CU08101058-0 Profile Picture
    35 on at
    Thank you but sadly no that would show as two duplicates, as the message ID in outlook is case sensitive, and within only two weeks of it running I now have a small number of duplicate message IDs as power automate isn't recognising the case sensitivity.
  • Static Profile Picture
    118 on at
    Hi ,

    Well, In Power Automate, the 'List rows present in a table' filter query for Excel does not support case-sensitive filtering directly. However, you can work around this limitation by using an additional step to filter the results manually after retrieving the rows. Here's how you can do it:
     
    • Retrieve all rows: First, use the 'List rows present in a table' action without any filter query to retrieve all rows.

    • Filter rows using a condition: Add a 'Filter array' action to filter the rows based on a case-sensitive comparison.

    Here's a step-by-step guide:

    1. List all rows from the table:

      • Use the 'List rows present in a table' action to retrieve all rows from your table. Do not include any filter query at this step.
    2. Add a 'Filter array' action:

      • After retrieving the rows, add a 'Filter array' action.
      • Set the 'From' field to the value from the previous 'List rows present in a table' action (e.g., @outputs('List_rows_present_in_a_table')?['body']['value']).
    3. Configure the filter condition:

      • In the 'Filter array' action, configure the condition to compare the UID field with the triggerOutputs value in a case-sensitive manner.
      • Use the expression editor to write a condition that checks for exact case-sensitive match.

    Here’s an example of how to configure the filter condition:

    • In the 'Choose a value' field, select the UID field from the dynamic content.
    • Set the condition to equals.
    • In the 'Enter a value' field, use the following expression:

      @equals(item()?['UID'], triggerOutputs()?['body/id'])
      This configuration ensures that the filter array action will only return rows where the UID matches exactly (case-sensitive) with the value from the incoming email.

      Perhaps thsi this may help to you solve


      Best regards,
      Anton N
  • Suggested answer
    David_MA Profile Picture
    12,982 Super User 2025 Season 2 on at
    Unfortunately, the OData filter is not case-sensitive. I would keep your filter in your list rows action. You can then do the following:
    1.  Create an array variable in your flow.
    2.  Add a condition to check if more than 1 value is returned.
      1.  If no, then you know it found the one item with that UID (although you may also need to check to make sure that more than 0 was returned as well.
      2. If Yes, then add an Apply to each and append the UIDs to the array variable.
    3. Use a Parse JSON action and pass the array through it.
    4.  Then use a filter array action to filter the array, which is case sensitive.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Automate

#1
Michael E. Gernaey Profile Picture

Michael E. Gernaey 501 Super User 2025 Season 2

#2
Tomac Profile Picture

Tomac 323 Moderator

#3
abm abm Profile Picture

abm abm 237 Most Valuable Professional

Last 30 days Overall leaderboard