After transposing data table,
Data Table( "Overall" ) << Transpose(
columns( :Value),
By( :Department, :Resource, :Chart ),
Label( :Date),
Output Table( "report overall" )
);
My headers which is presented by date is no longer in order. Which I then have to mannually drag and drop to have it fixed. Luckily it only involves 7-8 columns. Nontheless, doing so eats up my time which I do not initially have to.

Is there a way to make it in order as shown in picture?

Those dates will change daily as my fixed date range is 7 days.
set_date = Today();
date_min = (set_date - In Days(7));
Data Table("Overall") << Select where (:date < date_min) << Delete Rows;