Choose Language Hide Translation Bar
Highlighted
Emily_Day
Level I

Question Regarding "contains()" formula

I have a set of CATA data where the nominal data looks like column "Data" below.  I'm attempting to create an additional column for each selection (like "Answer 1, Answer 2, etc. below) where "0" = not found in the list and "1"= found.  

Here is my formula:                       Contains( :Name( "Data" ), "1" ) > 0

However, it is picking up the number 1 from an 11 and is returning a "1" response for Answer 1 when it should be "0".

Maybe I've gone about this all wrong and there is a better way to accomplish this task?  Any suggestions?

 

Data

Answer 1Answer 2Answer 3
1,2,3,6,11111
2,5,6,11010
3,11,12,13001
1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Byron_JMP
Staff

Re: Question Regarding "contains()" formula

This might help

 

select your "Data" column

Cols>Utilities>Text into columns

then use "," as the delimiter and check the, Make Indicator columns.

 

 

JMP Systems Engineer, Pharm and BioPharm Sciences

View solution in original post

3 REPLIES 3
Highlighted
Byron_JMP
Staff

Re: Question Regarding "contains()" formula

This might help

 

select your "Data" column

Cols>Utilities>Text into columns

then use "," as the delimiter and check the, Make Indicator columns.

 

 

JMP Systems Engineer, Pharm and BioPharm Sciences

View solution in original post

Highlighted
Emily_Day
Level I

Re: Question Regarding "contains()" formula

Beautiful!  That is exactly what I needed and way easier than my round-about method.

Much appreciated!

Highlighted
G_M
G_M
Level III

Re: Question Regarding "contains()" formula

@Emily_DayI am not sure I understand your logic completely, but perhaps the following will help.

Names Default to Here(1);

dt = New Table( "Sample",
	Add Rows( 3 ),
	New Column( "Data",
		Character,
		"Nominal",
		Set Values( {"1,2,3,6,11", "2,5,6,11", "3,11,12,13"} )
	)
);

dt << Text To Columns(
	delimiter( "," ),
	columns( :Data )
);

dtStacked = dt << Stack(
	columns( :Data 1, :Data 2, :Data 3, :Data 4, :Data 5 ),
	Source Label Column( "Label" ),
	Stacked Data Column( "Response" ),
	Output Table Name("StackedData")
);
dtStacked:Response<<Data Type("Numeric");

dtStacked << New Column(
	"Answer",
	Numeric,
	Nominal,
	Formula(
		"Insert your Logic Here"
	)
);

dtWide = dtStacked << Split(
	Split By( :Label ),
	Split( :Answer ),
	Group( :Data ),
	Remaining Columns( Drop All ),
	Sort by Column Property,
	Ouput Table Name("WideData")
);
Article Labels

    There are no labels assigned to this post.