Forum Discussion

pschommer's avatar
pschommer
Icon for Helper II rankHelper II
9 years ago
Solved

Combined item sales

My situation is something like the following:

Clothing seller wants to know what combination of shirts are sold together. One table (SALES) exists to track all sales. I want to be able to select 2 shirts from the same or different slicers (whichever method works) and see the count of sales and possibly other fields from SALES. We will know they are from the same order when they have the same date and time (ORDERDATE) + customer (CUSTOMER) + cashier (CASHIER).

 

Getting it to work with exactly 2 selections would be fantastic and completely acceptable. Allowing for an unknown number (n>1) of selections would be the perfect solution.

 

Does anyone have an idea of how to approach this problem?

  • Anonymous's avatar
    Anonymous
    9 years ago

    pschommer,

    Create a orderid column in SALES table using the DAX below.

    orderid = CONCATENATE(SALES[CASHIER],CONCATENATE(SALES[CUSTOMER],SALES[ORDERDATE]))

    Then create the OrderID table with the following DAX.


    After that, create a relationship between SALES table and the new OrderID table using the ordered column, and you will get expected result by creating three custom columns(Red, Blue and White) following smoupre's suggestion.

    OrderID Table = DISTINCT(SALES[orderid])

    Regards,
    Lydia

6 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity Champion

    Can you provide sample data? The structure of your Sales table is going to determine how best to achieve this.

    • pschommer's avatar
      pschommer
      Icon for Helper II rankHelper II

      I kept it simple. Something like THIS.

       

      If I'm looking at it correctly...

      • RED+BLUE should have 4 combination sales (Customers Bob, Brian, Rick, Mary)
      • WHITE+RED should have 3 combination sales (Customers Monica, Rick, Mary)
      • BLUE+WHITE should have 4 combination sales (Customers Patrick, Rick, Lori, Mary)

      Bonus points for...

      • RED+WHITE+BLUE having 2 combinations (Rick & Mary)

       

      • Greg_Deckler's avatar
        Greg_Deckler
        Icon for Community Champion rankCommunity Champion

        Not sure about slicers, but you could do it with filters.

         

        Basically, create an OrderID table that has a unique key for your order ids. Create a related custom column in your sales table. I just concatenated your three values together.

         

        Relate the tables. In your OrderID table create these columns:

         

        Red = CALCULATE(SUM(Sales[Quantity]),FILTER(RELATEDTABLE(Sales),[ItemDesc] = "Red Shirt"))
        
        Blue = CALCULATE(SUM(Sales[Quantity]),FILTER(RELATEDTABLE(Sales),[ItemDesc] = "Blue Shirt"))
        
        White = CALCULATE(SUM(Sales[Quantity]),FILTER(RELATEDTABLE(Sales),[ItemDesc] = "White Shirt"))
        
        

        Create a table visualization based on the OrderID table and put OrderID in it. Add a filter for Red is not Blank and Blue is not Blank. You will get your four orders. Add a filter for White is not blank. You get your two orders, etc.