Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago

ALLSELECTED not working with multiple selected values.

I have a table with online order data. Here is a sample:

 

Order_nbr, Item_nbr, channel, prod_cost, prod_cost_packaging

1              ,  2           , Pickup  , 10           , 0.4 

2              ,  7           , Delivery, 10           , 0.4 

3              ,  8           , Vendor  , 10           , 0.4 

 

 

I am creating a metric which will contain prod_cost or prod_cost_packing based on channel, such as for Pickup, it displays prod_cost_packaging, for Delivery, it displays prod_cost and for Vendor, it displays prod_cost_packaing. 

 

I have a slicer on the channel field of the table, I would like to display the sum of all selected channels (whether packaging or prod_cost with respect to channel) for 2 or more selections. 

 

My code (below) works when slicing for 1 channel, but not when I select 2 or more. 

 

var Flowpath_choice = ALLSELECTED(Table[Channel])

return

SWITCH(
    TRUE(),
    [Flowpath_choice] in {"Delivery"}, CALCULATE([Actual Amount]),
    [Flowpath_choice] in {"Pickup","Vendor"}, CALCULATE([Package Amount]),
    0
    )
 
 
I'm new to power bi and DAX so this might just be from not understanding what allselected does; if there is an alternative solution to this problem then that'd be much appreciated as well.
 
This is the error I'm getting. 
 
All help is appreciated.

3 Replies

  • Hi,

    I am not sure how your datamodel looks like, but please try something like below.

     

    Expected result measure: =
    VAR Flowpath_choice =
        SELECTEDVALUE ( Table[Channel] )
    RETURN
        SWITCH (
            TRUE (),
            Flowpath_choice IN { "Delivery" }, [Actual Amount],
            Flowpath_choice IN { "Pickup", "Vendor" }, [Package Amount],
            0
        )
    
    • Anonymous's avatar
      Anonymous
      Not applicable

      This gets rid of the error. But this isn't an actual solution. I have a slicer on the channel field for the table; when I select 2 or more channels, the measure should display the sum of all channel costs (whether packaging or prod_cost). The above solution gets rid of the error but doesn't support the actual multiple selection of the channels.