In this problem use case, I want to select a Product or Material and on the Form update a Quantity field label to show the units of the chosen product to be ordered - e.g. “Quantity (gallons)”. The units can be different for each product so I use an expression in the “Description” property to concatenate the text “Quantity” with the units value. In other views, I want to simply show “Qty” so that Tables have a narrower column and so I enter this simple text into the “Display Name” property
Example Expression for “Description” property:
IF( ISNOTBLANK([Material].[Unit Size]), CONCATENATE("Quantity (", [Material].[Unit Size], ")"), "Quantity" )
The issue: On a Form, when opened, the label reflects correct value of “Quantity” since no Material has been selected. When I do select a product, the label does not update UNTIL I click/tap into Quantity field as if to update the number being ordered.
Solution/Fix: My expectation is that the expression fires with each Material selection updating the label value with the new units immediately.
Form after choosing Material - Quantity label is not updated with units
Form after entering Quantity field - Quantity label IS updated with units
Now, the really weird part:
if I implement the exact same expression (above) or only slightly different (below) in the “Display Name” property along with the Description expression, then the Description label will update as expected each time I select a Material from the list.
Expression inserted into Display name with “Qty” text that allows Description label to update with each Material item selection
IF( ISNOTBLANK([Material].[Unit Size]), CONCATENATE("Qty (", [Material].[Unit Size], ")"), "Qty" )
But wait…there’s more!! As I mentioned, I want the “Display Name” text to be just “Qty”. If I modify the expression to remove the CONCATENATE(), the label updating stops working. If I include the CONCATENATE() but only concat text, label updates do not work.
But, if I concatenate text AND include some non-alpha character, the update works BUT ONLY ON THE FIRST SELECTED ITEM. All subsequent updates have no additional effect on the label.
I told you it was weird!!!
So it seems I am forced to include the units in the Display Name version of the label.
This isn’t the ideal solution for me so I’ll try some CONTEXT() expressions to get the end result I really want.