cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Browse apps to extend the software in the new JMP Marketplace
Choose Language Hide Translation Bar
uwe_hiss
Level II

List Box statisch bzw. über Col Einträge füllen

Guten Morgen,

bevor ich zur eigentlichen Anfrage an die Community komme, möchte ich mich kurz vorstellen.

Mein Name ist Uwe Hiss, von Haus aus bin ich Wirtschaftsinformatiker und seit fast 3 Jahre im Bereich stat. Prozesscontrolling für einen Pharmakonzern tätig.

Bislang wurden Auswertungen und Berichte über Minitab erledigt, hierzu wurden in der Vergangenheit einige Excel-Vorlagen (VBA) geschaffen um die Prozesse halbwegs zu automatisieren. So bald als möglich soll Minitab durch JMP (aktuell arbeite ich mich in die V.10 ein) ersetzt werden.

Ich selbst bin mit der Software erst seit etwa einer Woche befasst.

Derzeit versuche ich im Rahmen des Trendmonitoring ein Script zu erstellen, welche mir die Daten aus einer Exceltabelle hereinholt.

In dieser Tabelle liegen jedoch alle Monate vor, so daß ich nach einem Monat "filtern" muss oder soweit eine Jahresauswertung erfolgen soll alle verfügbaren Monate berücksichtigt werden müssen.

Die ersten Schritte habe relativ statisch hinbekommen nun hänge ich seit ein paar Tagen an einer Listbox fest und finde hierzu kein eingängiges Beispiel.

Die Idee dabei ist, entweder statisch Monate vorzugeben, die in der Spalte Stage mit Jan 15, Feb 15, Mar 15, usw. vorgegeben sind oder im Idealfall alle Einträge in der Spalte in ein Array zu ziehen (ohne doppelte) und eine Listbox über dieses Array zu füllen. Da i.d.R. entweder nur der zuletzt vorliegende Monat berichtet wird wäre ein Multiselect zwar ganz "schnuggelig", aber nicht unbedingt nötig. Bei der Auswahl wäre noch zu berücksichtigen, daß in der Spalte Stage, in der die Berichtsmonate angegeben sind auch der Begriff "Baseline" vorkommen wird. So werden die Daten gekennzeichnet, die bereits in einen Jahresbricht eingeflossen sind. Bei der Auswahl dieser Option in der Listbox müssten somit alle Einträge berücksichtigt werden, die nicht "Baseline" heißen.

Hat jemand so etwas schon einmal erstellt bzw. kann mir jemand dabei weiterhelfen?

Ich würde mich riesig freuen, wenn ich an dieser Stelle etwas weiter käme.

Eine weitere Frage, die aber noch eher in der Zukunft liegt, wäre ob es möglich ist mit einer weiteren Parameter Tabelle zuarbeiten?

Die Idee ist, in dieser Tabelle sowohl Ober- und Untergrenzen, als auch andere veränderliche Daten zu pflegen, welche in die Berechnung jedoch einfließen müssen.

Freundliche Grüße

Uwe Hiss

Nachricht geändert durch Uwe Hiss

hab mal dies versucht ... Wie übergebe ich die Auswahl korrekt?

Preferences(Excel Has Labels(1), Excel Selection(1));
dt= Open( Pick File( " "));

New Window( " ",
<<Modal,
vlist box(
Text Box("Select ..."),
mon = listbox({"Jan 15", "Mar 15", "May 15"}),
Button Box( "OK", cho = mon<< get selected),
));

dt << Select Where( :Stage == cho);
dt << invert row selection;
dt << delete rows;

5 REPLIES 5
bernd_heinen
Level V

Re: List Box statisch bzw. über Col Einträge füllen

Hallo Herr Hiss,

ich kann Ihnen da sicher weiter helfen habe dazu aber ein paar Fragen nach der Anwendung. Einfacher, als diese über dieses Forum zu tun, wäre ein Telefonat. Könnten Sie mich bitte anrufen untern

+49 7031 49165 12.

Viele Grüße

Bernd Heinen

JMP Systems Engineer

uwe_hiss
Level II

Re: List Box statisch bzw. über Col Einträge füllen

Hallo Herr Heinen,

vielen Dank für das Angebot, auf das ich gerne zurückkomme.

Heute werde ich leider nicht mehr dazu kommen.

Wäre es Ihnen morgen früh, zw. 8:30 und 9:00 recht?

Freundliche Grüße

Uwe Hiss

bernd_heinen
Level V

Re: List Box statisch bzw. über Col Einträge füllen

Hallo Herr Hiss,

das passt mir sehr gut.

Bis morgen

Bernd Heinen

gail_massari
Community Manager Community Manager

Re: List Box statisch bzw. über Col Einträge füllen

Hi Bernd bernd.heinen, Thanks for contacting Uwe.

uwe_hiss
Level II

Re: List Box statisch bzw. über Col Einträge füllen

Hallo Herr Heinen,

vielen Dank für die aufschlussreiche Einführung heute früh.

Wie ich schon andeutete ist mir die If Anweisung in der Praxis nicht klar.

Was ich bis jetzt hinbekommen konnte:

//!

clear log();

clear globals();

dt= Open( Pick File(" "));

New Window( " ", <<Modal,

V List Box(

  Text Box("Select ..."),

  mon = List Box(:Stage << get values),

  Button Box( "OK", cho = mon << get selected),

  )

);

dt << Select Where(Contains(cho, :Stage));

if (

  cho == "Baseline", dt << delete rows,

);

dt << invert row selection;

dt << delete rows;

Control Chart Builder(

  Show Control Panel( 0 ),

  Variables( Y( :Assay ) ),

  Chart(

  Position( 1 ),

  Warnings( Test 1( 1 ), Test 2( 1 ), Test 3( 1 ), Test 5( 1 ), Test 6( 1 ) )

  ),

  Chart( Position( 2 ) ),

  SendToReport(

  Dispatch( {}, "Control Chart Builder" , FrameBox, {Marker Size( 2 )} ),

  Dispatch( {}, "Control Chart Builder" , FrameBox( 2 ), {Marker Size( 2 )} )

  )

);

Gedanke: Wenn ich aus der Spalte Stage ohnehin schon den Begriff "Baseline" habe, dann würde ich ihn gerne dahin gehend nutzen, dass in diesem Fall kein invert stattfindend und so alle Reihen stehenbleiben, die nicht "Baseline" enthalten.

Ich bin das Script mit dem Debugger Schritt für Schritt durchgegangen ...

Scheinbar wird die If-Abfrage nicht abgearbeitet. Warum?

Grüße aus LU

Uwe Hiss