cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
mohamed18
Helper I
Helper I

Gallery with data from two data sources

Hi !

I hope someone could help me I'm new to PowerApps

I have a gallery with 5 items. Work_No, S/N, Description, QTY are from an excel table named "Materials" and the item TruckQuantity is stored in an other excel table named "TruckStock". In this table, we also find the SN and the description of the materials

The materials present in the "Materials" table are not all present in the TruckStock table. So when a material is present in both tables, I want the quantity present in the truck to be displayed.


Here is the formula in the Items property of my gallery:

Filter(Materials;!IsBlank(PN))

 

I tried to integrate an If function in the Text property:

If(ThisItem.SN = TruckStock.'S/N' , TruckStock.QUANTITY , "Not available in truck")

But I get this error message:

Incompatible types for comparison. It is possible to compare these types: Error, Table

 

I also tried the AddColumns function but when I enter the function my gallery disappears :

AddColumns(Materials , "TruckQty" , LookUp(TruckStock , 'S/N'=SN).Quantity)

 

mohamed18_0-1651667030408.png

Thank you for your help

5 REPLIES 5
RandyHayes
Super User
Super User

@mohamed18 

This is the same post you have in this thread.  However, you are stating different formulas in the other post and this one.

 

Also, you are mixing commas and semicolons.  If your editing language dictates that you use semicolons between parameters, then do so.  If not, then use commas.

 

In your newly posted formula:

   If(ThisItem.SN = TruckStock.'S/N' , TruckStock.QUANTITY , "Not available in truck")

You will get an incompatible type because you are trying to compare a text value (ThisItem.SN) to a full table (TruckStock.'S/N')  That is not valid.

 

In your case you can either do the truck stock at the Table level (the Items) or row by row.  In the Items property it will be a little slower to show the gallery.  In the row-by-row, it will show potentially invalid results while each row updates itself.

 

So, using the Items property, change it to the following:

AddColumns(
    Filter(Materials;!IsBlank(PN));
    "_truckStock"; LookUp(TruckStock; 'S/N'=ThisItem.SN; QUANTITY)
)

You will then have for each row of your gallery, a _truckStock column that will represent the Quantity from the TruckStock list.

 

If you do it row-by-row instead, then change your Text formula to:

With({_qty: LookUp(TruckStock; 'S/N'=ThisItem.SN; TruckStock.QUANTITY)};
    If(_qty=0; "Not available in truck"; _qty)
)

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

@RandyHayes 

thank you for taking the time to answer me.
With the first solution, the gallery is displayed, but when I made a test by displaying in my gallery a material that is in both tables but the TruckQuantity is not displayed
In fact, my "Materials" table contains all the materials in stock, but the "TruckStock" table only contains some materials. So the TruckQuantity should only display a value for the materials that are in both tables.

RandyHayes
Super User
Super User

@mohamed18 

Yes, what you are stating is what the formula should be doing.

So can you provide a little more about what you are seeing - some screen shots of what you see and the data of what you expect?

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

@RandyHayes 

This is the gallery:

mohamed18_0-1651676394335.png

Here is the table "Material"

mohamed18_1-1651676531325.png

And "TruckStock" Table

mohamed18_2-1651676587413.png

 

RandyHayes
Super User
Super User

@mohamed18 

The names of your columns in your Excel table do not seem to match what you have in the formula.

Based on what I see, the formula should be:

AddColumns(
    Filter(Materials;!IsBlank(PN));
    "_truckStock"; LookUp(TruckStock; 'S/N'=ThisItem.'S/N'; TruckQuantity)
)

If you are using the Items property method that I described, then you will have your label text property in the gallery set to:  

If(ThisItem.TruckQuantity=0; "Not available in truck"; ThisItem.TruckQuantity)
_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Community Call Conversations

Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (4,172)