- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Rename column name based on value from xth rows
Hi All,
I am trying to use jsl to rename the column name of a datatable using rows value from row that met predefined criteria.
My script is as followed:
dt = Open();
Current Data Table() << set name( "ABC" );
dt = Data Table( "ABC" );
lastcol = N Col( dt );
header=dt<<Get Rows Where (:(2)=="Colour"); // this is the criteria, i wanted to identify the row where the value in column2 is "Colour"
For( i = 2, i <= lastcol, i++,
Column( i ) << set Name( Column( i )[header] )
);
unfortunately this method doesnt work. Can anyone please guide or share me what's wrong with the script and how can i achieve what i want? Thanks a lot!
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Rename column name based on value from xth rows
<<Get rows where() returns a matrix. If there is only one instance of "Colour" the matrix will have a single number. You need to extract that number of the matrix header before using it as an index.
Here are two examples that both should work.
header=(dt<<Get Rows Where(:(2)=="Colour"))[1]; // header is a number
For( i = 2, i <= lastcol, i++,
Column( i ) << set Name( Column(i)[header] )
);
header=dt<<Get Rows Where(:(2)=="Colour"); // header is a 1x1 matrix
For( i = 2, i <= lastcol, i++,
Column( i ) << set Name( Column(i)[header[1]] ) // exctract the (first) number of the matrix header
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Rename column name based on value from xth rows
<<Get rows where() returns a matrix. If there is only one instance of "Colour" the matrix will have a single number. You need to extract that number of the matrix header before using it as an index.
Here are two examples that both should work.
header=(dt<<Get Rows Where(:(2)=="Colour"))[1]; // header is a number
For( i = 2, i <= lastcol, i++,
Column( i ) << set Name( Column(i)[header] )
);
header=dt<<Get Rows Where(:(2)=="Colour"); // header is a 1x1 matrix
For( i = 2, i <= lastcol, i++,
Column( i ) << set Name( Column(i)[header[1]] ) // exctract the (first) number of the matrix header
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Rename column name based on value from xth rows
Thank you MS! This works!
By the way, how do i mark this as "solved" or "answered"?