Indexreferenz falsches AnzeigefeldIm folgenden Skript habe ich erwartet, dass der zurückgegebene Titel „Angepasste Weibull-Verteilung“ lautet, aber stattdessen bekomme ich „Angepasste Normalverteilung“. Ich bin nicht sicher, was falsch ist, und bin für die Hilfe wirklich dankbar.
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
db = dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 )
)
);
db << fit all;
Title_1 = report(db)[Outlinebox("Fitted?")] << get title;
print(Title_1);
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture1.PNG" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="Capture1.PNG" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/62909i5A315F267940B1CB/Capture1.PNG" role="button" title="Capture1.PNG" alt="Capture1.PNG" /></span></SPAN>Automatisierung und SkriptingBetreff: Indexreferenz falsches AnzeigefeldIch habe << Get XML auf die Table Box-Referenz angewendet, um zu sehen, ob es etwas Interessantes gibt, mit dem ich das erreichen kann, was ich wollte.

Betreff: Indexreferenz falsches AnzeigefeldDanke @jthi ! Das funktioniert!
Übrigens wäre ich zu meinem Lernzweck nicht auf die Verwendung der Syntax „ischecked = „true““ gekommen, da ich diese weder im Skriptindex noch in den Displaybox-Eigenschaften selbst gefunden habe. Könnten Sie uns mitteilen, wie Sie dies herleiten? Es wäre schön für mich, diesen Prozess für zukünftige Referenzen zu lernen.
Betreff: Indexreferenz falsches AnzeigefeldBei Ihrer Gliederungssuche innerhalb der For-Schleife scheinen einige Leerzeichen zu fehlen (nach „Fitted“ -> „Fitted “ sollte ein Leerzeichen stehen).
Bezüglich der Indizes: höchstwahrscheinlich werden sie in die „ursprüngliche“ Reihenfolge gebracht

Unten sehen Sie ein Beispiel, das versucht, dieses Kontrollkästchen-Chaos mithilfe von XPath zu vermeiden.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
db = dt << Distribution(Stack(1), Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)));
db << fit all;
rpt = db << Report;
rpt["Compare Distributions"][CheckBoxBox(1)] << set(3, 1); //make additional random selection
Wait(0);
tb = rpt[Outline Box("Compare Distributions"), Table Box(1)];
items = tb[1] << XPath("//CheckBoxBoxItem");
selections = {};
For Each({item, idx}, items,
If(Contains(item, "\[isChecked="true"]\"),
Insert Into(selections, idx);
);
);
dists = (tb[2] << Get)[selections];
For Each({distname}, dists,
ob = rpt[Outline Box("Fitted " || distname || " ?")];
show(ob << get title);
);
Betreff: Indexreferenz falsches AnzeigefeldIch denke, das kommt dem nahe, was ich suche. Ich versuche, die vom Benutzer ausgewählten Verteilungen und die entsprechenden Parameter zu erhalten. Ich habe versucht, das Skript wie folgt zu ändern, aber es liefert nicht unbedingt die richtige Ausgabe. Können Sie mir sagen, was ich falsch gemacht habe?
Darüber hinaus weckte dies auch einige weitere Zweifel:
- Warum gibt die Meldung << Ausgewählte Indizes als Matrix abrufen das Ergebnis in umgekehrter Reihenfolge zurück?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
db = dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 )
)
);
db << fit all;
rpt = db << Report;
rpt["Compare Distributions"][CheckBoxBox( 1 )]<<SET></SET>
Appreciate the help so far
Betreff: Indexreferenz falsches AnzeigefeldAh, da hast du recht. Dass alle möglichen Anpassungen im Hintergrund gespeichert werden, wusste ich bisher nicht. Gut zu wissen!
Betreff: Indexreferenz falsches AnzeigefeldAls Referenz würde ich die Tabelle mit den sortierten Anpassungen verwenden.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
db = dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 )
)
);
db << fit all;
rpt = db << Report;
dist = rpt["Compare Distributions"][String Col Box( "Distribution" )] << Get;
Title_1 = rpt[Outline Box( "Fitted" || dist[1] || "?" )] << get title;
Print( Title_1 );
Betreff: Indexreferenz falsches AnzeigefeldIch denke, dass alle verschiedenen Anpassungen noch da sind, auch wenn sie nicht sichtbar sind (sie befinden sich unter „Wenn-Boxen“). Die Indizierung des Berichts wird diese dennoch abgleichen und die Verwendung des Platzhalters „?“ wird schließlich die erste Umrissbox abgleichen, die Ihrer Suche entspricht (in diesem Fall „Normalverteilung anpassen“).

Sie können JMP verwenden, um den Pfad aus dem Menü „Eigenschaften anzeigen“ (Boxpfad) zu erstellen.
Report(platform)["height","Fitted Weibull Distribution"]
Sie könnten einen längeren Suchbegriff schreiben (ich würde ? nach Möglichkeit vermeiden)
Title_1 = report(db)[Outlinebox("Fitted W?")] << get title;
Oder verwenden Sie XPath und holen Sie sich alle Titel und holen Sie sich, was Sie wollen
fit_obs = Report(db) << XPath("//OutlineBox[contains(text(), 'Fitted ')]");
fit_obs << get title;
Betreff: Indexreferenz falsches AnzeigefeldIch vermute, dass JMP alle angepassten Ausgaben im Speicher erstellt, sodass Sie bei der Anforderung
Title_1 = report(db)[Outlinebox("Fitted?")] << get title;
Die angepasste Normale ist die erste im Speicher und wird daher zurückgegeben. Sie können dieses Problem umgehen mit
Title_1 = report(db)[Outlinebox("Fitted Weibull?")] << get title;
Oder
Title_1 = report(db)[Outlinebox( 6 )] << get title;