The short solution is to use Column Aggregator to aggregate each group of columns (dates, actions and values) with the “List” method and then use the Ungroup node. But since you have not provided the column names and maybe the data set does not contain meaningful column names, I have provided another solution which does not rely on column names but works with the order of the columns:
Should be pretty easy. As @armingrudd suggested use Column Aggregator once for each group of columns and after that simply use Ungroup node. If you column names are similar (eg. Date1,Date2,Date3…) you can use Wildcard/Regex Selection option in Column Aggregator nodes to define your groups.