cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar

Allow Split to create Multiple Response columns

I would like to be able to create Multiple Response columns when splitting data tables. This would allow user to see that there are multiple values in columns that you didn't drop (currently it takes first? value based on order?).

 

I can fairly easily script my own custom Split platform, but I would rather use JMP's own. Below is example script with "regular" split and what I would like to have (can already be done with combine columns but without scripting is a hassle).

Names Default To Here(1);

dt = New Table("MEAS_DATA",
	Add Rows(10),
	Compress File When Saved(1),
	Set Cell Height(19),
	New Column("ID", Numeric, "Continuous", Format("Best", 12), Set Values([1, 1, 2, 2, 3, 3, 4, 4, 5, 5])),
	New Column("Process",
		Character,
		"Nominal",
		Set Values(
			{"MEASUREMENT_A", "MEASUREMENT_B", "MEASUREMENT_A", "MEASUREMENT_B", "MEASUREMENT_A", "MEASUREMENT_B", "MEASUREMENT_A",
			"MEASUREMENT_B", "MEASUREMENT_A", "MEASUREMENT_B"}
		)
	),
	New Column("Value", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 1, 4, 7, 1, 2, 6, 2, 1])),
	New Column("Error", Character, "Multiple Response", Set Values({"0", "0", "1", "0", "2", "1", "0", "0", "0", "0"})),
	New Column("Status", Numeric, "Continuous", Format("Best", 12), Set Values([1, 1, 0, 1, 0, 0, 1, 1, 1, 1])),
	New Column("Time", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 1, 2, 1, 2, 1, 2, 1, 2]))
);

dt_split = dt << Split(Output table("Split"),
Split By(:Process), Split(:Value), Group(:ID), Sort by Column Property);

//suggestion... directly from split? I could also fairly easily script this
//multiple response only supports character data, but doesn't really matter in my use cases (usually)
dt_mult_resp = dt << Split(
	Output table("Multiple_response_split"),
	Split By(:Process),
	Split(:Value, :Error, :Status, :Time),
	Group(:ID)
);

dt_mult_resp << Combine Columns(columns(:Error MEASUREMENT_A, :Error MEASUREMENT_B), Column Name("Error"), Delimiter(","));
dt_mult_resp << Delete Columns(:Error MEASUREMENT_A, :Error MEASUREMENT_B);

dt_mult_resp << Combine Columns(columns(:Status MEASUREMENT_A, :Status MEASUREMENT_B), Column Name("Status"), Delimiter(","));
dt_mult_resp << Delete Columns(:Status MEASUREMENT_A, :Status MEASUREMENT_B);

dt_mult_resp << Combine Columns(columns(:Time MEASUREMENT_A, :Time MEASUREMENT_B), Column Name("Error"), Delimiter(","));
dt_mult_resp << Delete Columns(:Time MEASUREMENT_A, :Time MEASUREMENT_B);

I think this should most likely be new Col List Box in Split platform (and if that isnt possible then check box, but this isnt as good option in my opinion).