## Delete specific columns

Community Trekker

Joined:

May 16, 2016

I'm trying to delete columns based on specific data in those columns. For example, if the column contains the value RA, TV, EW, or EH  I want to delete it. I've worked with the code below and no errors appear in the log, but no columns are deleted either. Thanks for any help.

dt = current data table();

for(i = 1, i<=NCol(dt), i++,

if (Column(i)== "RA" , dt<< delete columns(column(i)),

if(Column(i) == "TV", dt << delete columns(column(i)),

if(Column(i) == "EW", dt<< delete columns(column(i)),

if(Column(i) == "EH", dt << delete columns(column(i))

)))));

I've also tried this

dt = current data table();

for(i = 1, i<=NCol(dt), i++,

for each row(if (Column(i)== "RA" , dt<< delete columns(column(i)),

if(Column(i) == "TV", dt << delete columns(column(i)),

if(Column(i) == "EW", dt<< delete columns(column(i)),

if(Column(i) == "High Dose", dt << delete columns(column(i))

)))));

);

1 ACCEPTED SOLUTION

Accepted Solutions

Staff

Joined:

Jun 23, 2011

Solution

Here's one way:

NamesDefaultToHere(1);

dt = Open("\$SAMPLE_DATA/Big Class.jmp");

// Delete columns based on contents . . .

Wait(2);

for(c = NCols(dt), c>=1, c--,

colVals = Column(c) << getValues;

if(Contains(colVals, "KATIE"), dt << deleteColumn(c));

);

2 REPLIES

Staff

Joined:

Jun 23, 2011

Solution

Here's one way:

NamesDefaultToHere(1);

dt = Open("\$SAMPLE_DATA/Big Class.jmp");

// Delete columns based on contents . . .

Wait(2);

for(c = NCols(dt), c>=1, c--,

colVals = Column(c) << getValues;

if(Contains(colVals, "KATIE"), dt << deleteColumn(c));

);

Community Trekker

Joined:

May 16, 2016

Works great. Thanks Ian!