Showing some values based on SUM, other values based on the most recent date available for the week?

Stemiller
Stemiller Member
edited April 2023 in Beast Mode

I am working with a dataset that pulls in sales and inventory data for items on a daily basis. In data analyzer, I created a table with the data grouped by week. After grouping by week, most of the fields in my card (i.e. Revenue, Units Sold, etc.) are aggregated by SUM because I would like to know the sum of all of the daily values for the week.

There are other fields (i.e. Current Inventory On Hand, Inventory In Transit, etc.) where I would only like to show the value from the most recent date in each given week. If I aggregated these fields by SUM, the output is incorrect. If I aggregate these fields by "No aggregation", the data expands to show the daily amount for each day of the week.

Can anyone please tell me how I can show some fields as SUM and others as the most recent date available in an aggregated week? Can it be done through a beast mode? Magic ETL?

I attached an Excel document with sample data and a desired output for reference.

Best Answer

  • MichelleH
    MichelleH Coach
    Answer ✓

    @Stemiller Do you have a field in your dataset that flags the most recent date or would the most recent date always be today/yesterday/etc.? If so you could aggregate your snapshot data in a beast mode like this:

     max(case 
       when Date = CURRENT_DATE() then Inventory on Hand
       end)
    

    or

    max(case
      when Last Date Flag = 1 then Inventory on Hand
      end)
    

Answers

  • MichelleH
    MichelleH Coach
    Answer ✓

    @Stemiller Do you have a field in your dataset that flags the most recent date or would the most recent date always be today/yesterday/etc.? If so you could aggregate your snapshot data in a beast mode like this:

     max(case 
       when Date = CURRENT_DATE() then Inventory on Hand
       end)
    

    or

    max(case
      when Last Date Flag = 1 then Inventory on Hand
      end)
    

  • Stemiller
    Stemiller Member
    edited April 2023

    I combined your formulas and changed them slightly and it worked for me. Thank you so much!

    max(CASE
    when Date = (Current_Date())-1 then Inventory On Hand
    when (Date+ DateDiff(Date,Max Date)) = Max Date then Inventory On Hand
    end)

    @MichelleH