cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-107000%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EWhere(Contains())%20%E3%81%AE%E4%BD%BF%E7%94%A8%E6%B3%95%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-107000%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3ESelect%20Where()%20%E9%96%A2%E6%95%B0%E5%86%85%E3%81%AE%20Contains()%20%E9%96%A2%E6%95%B0%E3%81%8C%E4%BE%BF%E5%88%A9%E3%81%A7%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%82%88%E3%81%8F%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%20%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E5%88%97%E3%81%AE%E5%BE%8C%E3%81%AB%E6%95%B0%E5%AD%97%E3%81%8C%E7%B6%9A%E3%81%8F%E6%96%87%E5%AD%97%E5%88%97%E3%80%8Ca%E3%80%8D%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E8%A1%8C%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%9F%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%20%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81%E5%80%A4%E3%80%8Ca%E3%80%8D%E3%80%81%E3%80%8Ca12%E3%80%8D%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E3%80%8Cabsent%E3%80%8D%E3%82%92%E5%90%AB%E3%82%80%E5%88%97%E3%81%A7%E3%81%AF%E3%80%81%E3%80%8Ca12%E3%80%8D%E3%82%92%E5%90%AB%E3%82%80%E8%A1%8C%E3%81%AE%E3%81%BF%E3%81%8C%E9%81%B8%E6%8A%9E%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%20%E3%83%92%E3%83%B3%E3%83%88%E3%82%92%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-107087%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20Select%20Where(Contains())%20%E3%81%AE%E4%BD%BF%E7%94%A8%E6%B3%95%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-107087%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E7%B4%A0%E6%99%B4%E3%82%89%E3%81%97%E3%81%84%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%81%AA%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%81%E3%83%9E%E3%83%BC%E3%82%AF%E3%80%82%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%81%AF%E3%81%8D%E3%81%A3%E3%81%A8%E6%B0%97%E3%81%AB%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99%E3%80%82%E3%81%AA%E3%81%9C%20%3AText%20%E3%81%AE%E5%BE%8C%E3%81%AB%20%5B%5D%20%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%8B%E4%B8%8D%E6%80%9D%E8%AD%B0%E3%81%A7%E3%81%99%E3%80%82%E3%81%AA%E3%81%8F%E3%81%A6%E3%82%82%E5%8B%95%E4%BD%9C%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%81%A8%E3%81%93%E3%82%8D%E3%81%A7%E3%80%81%E3%81%93%E3%82%8C%E3%82%82%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%3A%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Edt%20%26lt%3B%26lt%3B%20Select%20Where(%0A%20Regex(%20%3AText%2C%20%22a%5Cd%2B%22%20)%20%3D%3D%20%3AText%0A)%3B%0A%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-107062%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20Select%20Where(Contains())%20%E3%81%AE%E4%BD%BF%E7%94%A8%E6%B3%95%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-107062%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%88%A5%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20to%20Here(%201%20)%3B%0A%0Adt%20%3D%20New%20Table(%20%22Select%20by%20Criterion%22%2C%0A%20New%20Column(%20%22Text%22%2C%20Character%2C%20Values(%20%7B%20%22a%22%2C%20%22a12%22%2C%20%22absent%22%20%7D%20)%20)%0A)%3B%0A%0Adt%20%26lt%3B%26lt%3B%20Select%20Where(%0A%20Not(%20Is%20Missing(%20Regex(%20%3AText%5B%5D%2C%20%22a%5Cd%2B%22%20)%20)%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-107003%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20Select%20Where(Contains())%20%E3%81%AE%E4%BD%BF%E7%94%A8%E6%B3%95%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-107003%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81%E6%95%B0%E5%AD%97%E3%81%8C%E6%96%87%E5%AD%97%E3%80%8Ca%E3%80%8D%E3%81%AE%E6%9C%80%E5%88%9D%E3%81%AE%E5%87%BA%E7%8F%BE%E3%81%AE%E5%BE%8C%E3%81%AB%E3%81%AE%E3%81%BF%E3%81%82%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AB%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Edt%20%26lt%3B%26lt%3B%20select%20where(contains(%3Aname%2C%22a%22)%20%26amp%3B%20%0AIsMissing(num(substr(%3Aname%2Ccontains(%3Aname%2C%22a%22)%2B1%2C1)))%3D%3D0)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
twillkickers
Level III

Select Where(Contains()) Usage

I often find that the Contains() function inside the Select Where() function can be convenient. What if I would like to select all rows where a designated column contains the string "a" when it is followed by a number? For example, in a column with the values "a", "a12", and "absent", only the row with "a12" would be selected. Thanks for any tips!

3 REPLIES 3
txnelson
Super User

Re: Select Where(Contains()) Usage

This will work if the numbers are only after the first occurance of the letter "a" 

dt << select where(contains(:name,"a") & 
IsMissing(num(substr(:name,contains(:name,"a")+1,1)))==0);
Jim

Re: Select Where(Contains()) Usage

Another option:

 

Names Default to Here( 1 );

dt = New Table( "Select by Criterion",
	New Column( "Text", Character, Values( { "a", "a12", "absent" } ) )
);

dt << Select Where(
	Not( Is Missing( Regex( :Text[], "a\d+" ) ) )
);
pmroz
Super User

Re: Select Where(Contains()) Usage

Nice clean solution Mark.  Gotta love those regular expressions.  I'm curious why you have [] after :Text?  Seems to work without it.

BTW this also works:

dt << Select Where(
	Regex( :Text, "a\d+" ) == :Text
);

Recommended Articles