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

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Filter/Lookup Problem
Power Apps
Answered

Filter/Lookup Problem

(0) ShareShare
ReportReport
Posted on by 207

Hi All, 

I was using valuable to do the filter only few row cant be return 

I was trying to do some testing

 Lookup(table, a =vara && b=varb) it  return null

 Lookup(table, a =vara ,b) it can return b 

 then i set a if statement  If(Lookup(table, a =vara ,b) = varb,1,0) it return 1

If( Lookup(table, a =vara && b=varb,b)= varb,1,0) return 0 

Set(varb, Lookup(table, a =vara ,b)); Lookup(table, a =vara && b=varb) return null

Same result on the Filter function

Please help me fix this problem

Categories:
I have the same question (0)
  • BCBuizer Profile Picture
    22,844 Super User 2026 Season 2 on at

    Hi @abc3 ,

     

    Can you please share the values you used for vara and varb and the table? As you described it, indeed there seems to be an inconsistency, so I'd like to try to replicate the issue.

  • abc3 Profile Picture
    207 on at

    Hi @BCBuizer,

    On vara = 50 varb=-120.83889

    on the table col a= 50col b = -120.838890 save on dataverse Decimal field Decimal places was 6 I was try to replace b and varb  to -120.8388 it work only not work on -120.83889 this number 

    2023-02-15 09_15_06-Power Apps.png

  • BCBuizer Profile Picture
    22,844 Super User 2026 Season 2 on at

    Hi @abc3 ,

     

    The = operator does not return a true in case there isn't an exact match. Simply said: -120.8388 <> -120.83889

     

    If you want to only compare for a certain number of decimals, use the RoundDown function:

     

    BCBuizer_0-1676457646057.png

     

  • abc3 Profile Picture
    207 on at

    @BCBuizer 

    sorry for my poor explanation

    In my case is table value equal -120.838890 and varb-120.83889 it not work 

    but i try it to table value equal -120.838800 and varb -120.8388 it work

    and -120.838880 value equal varb -120.8388 it work too 

    only when the table value and varb was -120.838890 equal to-120.83889 it will not work on it 

    more testing case 

    Table field                   varb

    -120.838890             -120.83889  not result 

    -120.838800             -120.8388    have result

    -120.838880             -120.83888   have result

    -119.793945             -119.793945 not result 

    -103.336929             -103.336929  not result

    -108.536118             -108.536118  not result

    All of this have record on the dataverse

    I have copy the table field value and hard code on the lookup field and still not return any result 

  • abc3 Profile Picture
    207 on at

    @BCBuizer 

    i have create a new testing table only have one row 

    2023-02-16 14_56_46-Power Apps.png

    here you can see if i not doing any filtering it can show the record 

    2023-02-16 14_57_25-Power Apps.png

    when i filter it using name it is working well 

    2023-02-16 15_03_22-Power Apps.png

    but when i filter "a"  the number i just copy above image

    2023-02-16 15_03_41-Power Apps.png

    Sure this two value was equal 

    2023-02-16 16_01_29-Power Apps.png

  • BCBuizer Profile Picture
    22,844 Super User 2026 Season 2 on at

    Hi @abc3 ,

     

    I was able to replicate the issue:

    BCBuizer_2-1676542488080.png

     

    As a workaround I found that nesting the column name in a Value function makes it work, but that causes delegation issues:

    BCBuizer_3-1676542532726.png

     

    This shouldn't be necessary since a decimal column also returns a number, so something is off.

     

    @WarrenBelz , @Drrickryp, @iAm_ManCat : have you seen this before?

  • Verified answer
    iAm_ManCat Profile Picture
    18,256 Most Valuable Professional on at

    Yes, this is the way the columns are designed - you'll need to store it as a floating point type

     

    The way decimal and floating point are stored is different, decimals are like pinpoint perfect storage to extreme number of decimal points whereas floating point is stored 'almost perfect' to nearest decimal point (and is hence much smaller in memory usage size) - There's an explanation here but I think this explanation below is much more applicable:

     

    Think of it this way: in the app, you are saying 'is its value equal to -120.838890?'

    But the app will not necessarily be using the decimal format when you are making it do this by typing out that number, in fact it will likely be using a float if you are typing a static number, so it might be doing:

    -120.828890000000000000001 = -120.838890

    which would be false

     

    This is why you should be using floating point for something like this, as you want it to be approximately equal to the nearest decimal point, my example here showed this as well:

     

    I configured Float to allow negative numbers by halving its default 1000000000 on either side of zero:

    image.png

     

    Then in the app, I can filter by it:

    image.png

    image.png

     

    Cheers,

    Sancho

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

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 329 Most Valuable Professional

#2
11manish Profile Picture

11manish 209 Super User 2026 Season 2

#3
Mohsin Ali Profile Picture

Mohsin Ali 179

Last 30 days Overall leaderboard