- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Delete rows based upon condition
Hi,
I would like to use for loop to delete my columns. Below is an example but I have more columsn.
Also, how you treat columns with white space in between like "color size".
Thanks.
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
column_list = Words( "heigth", "weight" );
For( i = N Items( column_list ), i > 0, i--,
dt << Select Where( :column_list[i] > 67 );
dt << delete rows;
);
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Delete rows based upon condition
I am not sure what you are actually asking for. Therefore, I am including 2 different scripts. The first one deletes all of the rows that meet your condition of values > 67. When you delete rows, it deletes the entire row, so the results of this script deletes all but 2 rows.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
column_list = {"height", "weight"};
For( i = N Items( column_list ), i > 0, i--,
dt << Select Where( as column(column_list[i]) > 67 );
dt << delete rows;
);
But what I think you might be trying to do, is to eliminate the values in the columns where the value of height and weight are > 67. This script replaces the values of height and weight with missing values.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
column_list = {"height", "weight"};
For( i = N Items( column_list ), i > 0, i--,
SelectedRows = dt << get rows Where( as column(column_list[i]) > 67 );
column(column_List[i])[Selected Rows] = .;
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Delete rows based upon condition
I am not sure what you are actually asking for. Therefore, I am including 2 different scripts. The first one deletes all of the rows that meet your condition of values > 67. When you delete rows, it deletes the entire row, so the results of this script deletes all but 2 rows.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
column_list = {"height", "weight"};
For( i = N Items( column_list ), i > 0, i--,
dt << Select Where( as column(column_list[i]) > 67 );
dt << delete rows;
);
But what I think you might be trying to do, is to eliminate the values in the columns where the value of height and weight are > 67. This script replaces the values of height and weight with missing values.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
column_list = {"height", "weight"};
For( i = N Items( column_list ), i > 0, i--,
SelectedRows = dt << get rows Where( as column(column_list[i]) > 67 );
column(column_List[i])[Selected Rows] = .;
);