안녕 토마스,
다음은 작업을 수행 할 수있는 작은 스크립트입니다.
첫 번째 부분은 샘플 테이블을 작성하는 것입니다 (이미있을 수도 있음).
두 번째는 중요한 것이며, 필요에 따라 변경할 수 있습니다.
더 잘 이해하려면 한 줄씩 실행하고 로그를보고 어떤 일이 발생하는지 확인할 수 있습니다.
게오르그
// 1st part, generate table
// make a table and fill it with some data
dt = New Table( "Query Data",
Add Rows( 1e2 ),
New Column( "Wafer", set each value( Row() ) ),
New Column( "Machine", Character, set each value( If( Row() < 50, "A", "B" ) ) ),
New Column( "date",
Numeric,
Format( "d.m.y", 10 ),
Input Format( "d.m.y" ),
set each value( Date Increment( Date DMY( 19, 8, 2019 ), "Day", -1 * Row() ) )
),
New Column( "value", set each value( Random Normal( 100, 10 ) ) ),
);
// add a script (oracle sql query with date placeholder &DATE )
dt << New Property( "MySQLQuery", "select * from some_table where date > to_date('&DATE', 'dd.mm.yyyy') " );
// 2nd part, perform task
// get max date
max_date = Col Max( dt:date );
Show( Day( max_date ), Month( max_date ), Year( max_date ) );
// modify and convert max date to string
my_query = dt << get Property( "MySQLQuery" );
date_string = Right( "0" || Char( Day( max_date ) - 3 /* subtract some days */ ), 2 ) || "." || Right( "0" || Char( Month( max_date ) ), 2 ) || "."
|| Char( Year( max_date ) );
Show( date_string );
// replace query with changed date in table
Substitute Into( my_query, "&DATE", date_string );
dt << set property( "MySQLQuery", Eval( my_query ) );