cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
%3CLINGO-SUB%20id%3D%22lingo-sub-630628%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ESupprimer%20la%20cha%C3%AEne%20qui%20ne%20contient%20pas%20dans%20la%20liste%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-630628%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3ESalut%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EJ'essaie%20d'%C3%A9crire%20un%20code%20jsl%3CSPAN%3E%20qui%20supprime%20les%20nombres%20d'une%20ligne%20s'ils%20ne%20sont%20pas%20pr%C3%A9sents%20dans%20une%20liste%20donn%C3%A9e.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3ELa%20liste%20est%20dans%20l'appel%20de%20table%20%22Liste%20des%20valeurs%22%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__0-1683732684980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F52690i31A5DA9D7C87A6CD%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Jackie__0-1683732684980.png%22%20alt%3D%22Jackie__0-1683732684980.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EValeurs%20des%20bacs%20que%20je%20souhaite%20modifier%26nbsp%3B%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Jackie__2-1683732697543.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F52692i7B3D8403CA587DCD%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Jackie__2-1683732697543.png%22%20alt%3D%22Jackie__2-1683732697543.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EPar%20exemple%26nbsp%3B%3A%20le%20script%20jsl%20doit%20supprimer%20%22444%22%20de%20la%20ligne%207%20dans%20le%20tableau%20ci-dessus%20et%20de%20m%C3%AAme%20pour%20les%20autres%20lignes%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EVoici%20le%20code%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0Adt_list%20%3D%20%20Data%20Table(%22List%20values%22)%3B%0Adtt%20%3D%20Data%20Table(%22Bins%22)%3B%0Alist%20%3D%20dt_list%3AList%26lt%3B%26lt%3B%20get%20values%3B%0A%0A%2F%2FLoop%20through%20rows%20to%20find%20the%20number%20contain%20in%20the%20lis%0AFor(%20i%20%3D%206%2C%20i%20%26lt%3B%3D%20N%20rows(%20dtt%20)%2C%20i%2B%2B%2C%0A%0Aif(%20!contains(list%2C%20Words(%20dtt%3ABins%5Bi%5D%2C%20%22%5B%20%20%5D%22%20))%2C%0A%20%20%0A%20%2F%2F%20I%20am%20not%20sure%20how%20to%20proceed%20further%3F%20%0A%20%20%0A%20%20%0A%20)%3B)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EAucune%20suggestion%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMerci%2C%3C%2FP%3E%3CP%3EJacky%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-630628%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CLINGO-LABEL%3EAutomatisation%20et%20script%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-630643%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%20%3A%20Supprimer%20la%20cha%C3%AEne%20qui%20ne%20contient%20pas%20dans%20la%20liste%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-630643%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3ES'il%20n'est%20pas%20important%20que%20l'ordre%20soit%20modifi%C3%A9%2C%20l'utilisation%20de%20tableaux%20associatifs%20est%20une%20option%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0Adt1%20%3D%20Open(%22%24DOWNLOADS%2FList%20values.jmp%22)%3B%0AColumn(dt1%2C%20%22List%22)%20%26lt%3B%26lt%3B%20Data%20Type(%22Numeric%22)%3B%0Adt2%20%3D%20Open(%22%24DOWNLOADS%2FBins.jmp%22)%3B%0A%0Aaa_listvalues%20%3D%20Associative%20Array(Column(dt1%2C%20%22List%22))%3B%0A%0Adt2%20%26lt%3B%26lt%3B%20New%20Column(%22BinsList%22%2C%20Character%2C%20Nominal%2C%20%26lt%3B%26lt%3B%20Set%20Each%20Value(%0A%20If(!IsMissing(%3ABins)%2C%0A%20%20r_aa%20%3D%20Associative%20Array(Parse(%3ABins))%3B%0A%20%20r_aa%20%26lt%3B%26lt%3B%20Intersect(aa_listvalues)%3B%0A%20%20If(N%20Items(r_aa)%20%26gt%3B%200%2C%0A%20%20%20Substitute(Char((r_aa%20%26lt%3B%26lt%3B%20get%20keys))%2C%20%22%7D%22%2C%20%22%5D%22%2C%20%22%7B%22%2C%20%22%5B%22%2C%20%22%2C%22%2C%20%22%20%22)%3B%0A%20%20%2C%0A%20%20%20%22%22%0A%20%20)%3B%0A%20%2C%0A%20%20%22%22%0A%20)%3B%0A))%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EJe%20ne%20sais%20pas%20pourquoi%20410%20ne%20serait%20pas%20supprim%C3%A9%20de%20la%20ligne%2010%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_0-1683734756948.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1683734756948.png%22%20style%3D%22width%3A%20222px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1683734756948.png%22%20style%3D%22width%3A%20222px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1683734756948.png%22%20style%3D%22width%3A%20222px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F52697iBFE99C9D9E82598D%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_0-1683734756948.png%22%20alt%3D%22jthi_0-1683734756948.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-630651%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%20%3A%20Supprimer%20la%20cha%C3%AEne%20qui%20ne%20contient%20pas%20dans%20la%20liste%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-630651%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EMerci%20beaucoup%2C%20Jarmo!%3C%2FP%3E%3CP%3EOublier%20de%20supprimer%20410%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
Jackie_
Level VI

Delete string that does not contain in the list

Hi,

 

I'm trying to write a jsl code that removes numbers from a row if they are not present in a given list.

 

The list is in the table call "List values"

Jackie__0-1683732684980.png

 

Bins values I want to modify:

Jackie__2-1683732697543.png

For example: the jsl script should delete "444" from row 7 in the above table and likewise for other rows

Final result:

Jackie__0-1683733281145.png

 

Here's the code

Names Default To Here( 1 );
dt_list =  Data Table("List values");
dtt = Data Table("Bins");
list = dt_list:List<< get values;

//Loop through rows to find the number contain in the lis
For( i = 6, i <= N rows( dtt ), i++,

if( !contains(list, Words( dtt:Bins[i], "[  ]" )),
		
	// I am not sure how to proceed further?	
		
		
	););

Any suggestions?

 

Thanks,

Jackie

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Delete string that does not contain in the list

If it doesn't matter that the order is changed, using Associative Arrays is one option

Names Default To Here(1);

dt1 = Open("$DOWNLOADS/List values.jmp");
Column(dt1, "List") << Data Type("Numeric");
dt2 = Open("$DOWNLOADS/Bins.jmp");

aa_listvalues = Associative Array(Column(dt1, "List"));

dt2 << New Column("BinsList", Character, Nominal, << Set Each Value(
	If(!IsMissing(:Bins),
		r_aa = Associative Array(Parse(:Bins));
		r_aa << Intersect(aa_listvalues);
		If(N Items(r_aa) > 0,
			Substitute(Char((r_aa << get keys)), "}", "]", "{", "[", ",", " ");
		,
			""
		);
	,
		""
	);
));

Not sure why 410 wouldn't be removed on Row 10

jthi_0-1683734756948.png

 

-Jarmo

View solution in original post

2 REPLIES 2
jthi
Super User

Re: Delete string that does not contain in the list

If it doesn't matter that the order is changed, using Associative Arrays is one option

Names Default To Here(1);

dt1 = Open("$DOWNLOADS/List values.jmp");
Column(dt1, "List") << Data Type("Numeric");
dt2 = Open("$DOWNLOADS/Bins.jmp");

aa_listvalues = Associative Array(Column(dt1, "List"));

dt2 << New Column("BinsList", Character, Nominal, << Set Each Value(
	If(!IsMissing(:Bins),
		r_aa = Associative Array(Parse(:Bins));
		r_aa << Intersect(aa_listvalues);
		If(N Items(r_aa) > 0,
			Substitute(Char((r_aa << get keys)), "}", "]", "{", "[", ",", " ");
		,
			""
		);
	,
		""
	);
));

Not sure why 410 wouldn't be removed on Row 10

jthi_0-1683734756948.png

 

-Jarmo
Jackie_
Level VI

Re: Delete string that does not contain in the list

Thank a lot, Jarmo!

Forget to delete 410

Recommended Articles