BookmarkSubscribeRSS Feed
danielharding0

Community Trekker

Joined:

May 16, 2016

Delete specific columns

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
ian_jmp

Staff

Joined:

Jun 23, 2011

Solution

Re: Delete specific columns

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
ian_jmp

Staff

Joined:

Jun 23, 2011

Solution

Re: Delete specific columns

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));

);

danielharding0

Community Trekker

Joined:

May 16, 2016

Re: Delete specific columns

Works great. Thanks Ian!