Find Most Recent Date

Hey all, I am trying to find a way to locate the most recent date in a table based on rows of multiple columns.  In other words, given a single case with variables X1, X2 and X3 I want the beastmode to find the latest date.  So if column 1 was 1/1/2015, column 2 was 2/2/2014 and column 3 was 5/1/2016 then the calculation would return 5/1/2016.  

 

Thanks all!

Best Answer

  • AS
    AS 🔵
    Accepted Answer

    Oh yeah, that's a different story.  Two dozen columns would be a nightmare with what I suggested.  

     

    The SQL function GREATEST() would probably work well in this case but BeastMode doesn't have that function that I'm aware.

     

    What's your use case, just finding a max value from an entire dataset? (try using a SQL dataflow with GREATEST)

    Or max value from any number of dimensional breakdowns that might be chosen with a card filter? (not sure what to do there but you'd need a BeastMode)

Answers

  • I'd suggest doing something like max(max(x1),max(x2),max(x3)), but I don't think beastmode max functions will allow that.

     

    Can you do a case statement with boolean?

     

    case 
    when max(x1) >= max(x2) and max(x1) >= max(x3) then max(x1)
    when max(x2) >= max(x1) and max(x2) >= max(x3) then max(x2)
    when max(x3) >= max(x1) and max(x3) >= max(x2) then max(x3)
    end

    Seemed to work for me when I tested it.

  • Yes, however I was hoping for a more elegant solution because I have about two dozen columns that I need to check against.  

  • @mbelmont, tagging you to check out AS's reply. 

  • Yes, I am simply trying to find the most recent date from a table.  I think a SQL dataflow would work.  Thanks.

  • For the non-SQL people like me....

    Collapsing all date columns into a single column using ETL, then applying a MAX in ETL or beastmode should also do the trick