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)
Thank you for your help
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.
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.
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?
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)
User | Count |
---|---|
119 | |
86 | |
83 | |
74 | |
69 |
User | Count |
---|---|
215 | |
179 | |
140 | |
109 | |
83 |