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.
Get the free JMP Student Edition for qualified students and instructors at degree granting institutions.
Choose Language Hide Translation Bar
View Original Published Thread

Automatically generating reports in Degradation Data Analysis platform?

AR80615
Level I

Hi,

When analyzing degradation data using the Degradation Data Analysis platform, I want to screen various models in order to select the best one based on AICc. To do this I am manually applying the different distributions and transformations for a given path definition, and generating reports for each combination by clicking the "Generate Report" button. Is there a way to have JMP automatically generate reports for all the combinations and add them to the Model List? A bonus would be to have JMP perform this while also excluding transformations that are deemed inappropiate or generates missing values (i.e. applying log-tranformation to the time factor when it contains zero).

JMP version 17.2

Thanks in advance.

/JF

 

 

1 REPLY 1
jthi
Super User


Re: Automatically generating reports in Degradation Data Analysis platform?

You might have to do this by scripting. Below is one option (not very robust script, but can give some ideas about what can be done)

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Reliability/Adhesive Bond.jmp");
obj = dt << Destructive Degradation(
	Y(:Strength),
	Time(:Weeks),
	X(:Degrees),
	Censor(:Censor),
	Censor Code("Right"),
	Control("Log10", "Sqrt", "Normal", "Individual Path with Intercept")
);

rep = Report(obj);

cb = (rep << XPath("//PanelBox[text() = 'Distribution']/ComboBox"))[1];
rb_transformations = (rep << XPath("//PanelBox[text() = 'Transformation']//RadioBox"));

cb_options = cb << get items;
rb_tr = rb_transformations << get items;
btn = (rep << XPath("//ButtonBox[text() = 'Generate Report']"))[1];
tb1 = rep[TextBox(3)];
tb2 = rep[TextBox(4)];

For Each({option, idx}, cb_options,
	cb << Set(idx);
	For Each({op1, idx1}, rb_tr[1],
		rb_transformations[1] << Set(idx1);
		For Each({op2, idx2}, rb_tr[2],
			rb_transformations[2] << Set(idx2);
			visibilities = {tb1, tb2} << get visibility;
			visibs = Loc(visibilities, "Visible");
			If(N Items(visibs) == 0,
				btn << Click(1);
			,
				skipped_txt = Eval insert("\[Skipped combination ^option^+^op1^+^op2^ due to ^Concat Items(({tb1, tb2} << get text)[Matrix(visibs)], ", ")^]\");
				Write("\!N", skipped_txt);		
			);
			wait(0);
		);
	);
);

Write();
-Jarmo

Recommended Articles

No recommendations found