轉置數據表後,
Data Table( "Overall" ) << Transpose(
columns( :Value),
By( :Department, :Resource, :Chart ),
Label( :Date),
Output Table( "report overall" )
);
我按日期顯示的標題不再按順序排列。然後我必須手動拖放才能修復它。幸運的是它只涉及 7-8 列。儘管如此,這樣做會佔用我的時間,而我最初並不需要這麼做。

有沒有辦法按照如圖所示的順序製作?

這些日期每天都會變化,因為我的固定日期範圍是 7 天。
set_date = Today();
date_min = (set_date - In Days(7));
Data Table("Overall") << Select where (:date < date_min) << Delete Rows;
這是一個腳本,它將根據您的要求對列進行重新排序
Names Default To Here( 1 );
// Example table to use for illustration
New Table( "Example",
Add Rows( 0 ),
New Column( "Department", Character, "Nominal" ),
New Column( "Resource", Character, "Nominal" ),
New Column( "Chart", Character, "Nominal", Set Selected ),
New Column( "17/10/2024", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "16/10/2024", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "15/10/2024", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "11/10/2024", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "14/10/2024", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "18/10/2024", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "13/10/2024", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "12/10/2024", Numeric, "Continuous", Format( "Best", 12 ) )
);
Wait( 5 );
// This JSL with properly reorder the data table
dt = Current Data Table();
colNames = dt << get column names( string );
For Each( {col}, colNames,
If( Is Missing( Try( Num( Informat( col, "d/m/y" ) ) ) ) == 0,
Column( dt, col ) << set name( Char( Num( Informat( col, "d/m/y" ) ) ) ),
Column( dt, col ) << set name( "0" || col )
)
);
// Reorder columns by name
dt << Reorder by Name;
colNames = dt << get column names( string );
For Each( {col}, colNames,
If( Is Missing( Num( col ) ) == 0,
Column( dt, col ) << set name( Format( Num( col ), "d/m/y" ) ),
Column( dt, col ) << set name( Substr( col, 2 ) )
)
);