Erstellen von Skripts für die kategoriale Analyse mehrerer SpaltenHallo,
Ich habe eine Datentabelle (im Anhang) mit der ersten Spalte (COD CAMP), die immer gleich ist, aber die anderen Spalten können in verschiedenen Tabellen unterschiedlich sein (unterschiedliche Nummer und unterschiedliche Namen). Ich möchte die kategoriale Analyse der anderen Spalten im Vergleich zu COD CAMP schreiben. Auf diese Weise funktioniert die Analyse unabhängig von der Datentabelle (natürlich muss sie COD CAMP enthalten). Ich habe den folgenden jsl-Code mit mehreren Varianten ausprobiert, aber ohne Erfolg. Kann jemand helfen? Danke vielmals.
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Show( n3 );
lstColNames_n3 = dt3 << Get Column Names();
Show( lstColNames_n3 );
Show( lstCols_n3 );
lstCols_n3 = {};
For( i = 1, i <= N Items( lstColNames_n3 ), i++,
colName = lstColNames_n3[i];
col = Column( dt3, i );
Insert Into( lstCols_n3, col );
);
Show( lstCols_n3 );
For( i = 1, i <= N Items( lstColNames_n3 ), i++,
colName = lstColNames_n3[i];
col = Column( dt3, colName );
Insert Into( n2, col );
);
dt3 << New Script(
"Categorical by COD CAMP",
Categorical( X( :COD CAMP ), Responses( Eval( n2 ) ), Legend( 0 ) )
);
SkripterstellungBetreff: Skripterstellung für die kategoriale Analyse mehrerer SpaltenEs funktionierte! Danke vielmals. Ich musste nur eine Zeile ändern, sonst erschien das Skript für die Analyse in der Datentabelle, aber sobald ich es ausführte, öffnete sich das Plattformfenster (und ich musste alle Felder ausfüllen), nicht der Bericht der Analyse.
Diese Zeile habe ich geändert
theExpr = theExpr || "\[Name( "Responses,!Responses" )(:]\" || n3[i] || "),";
in diese
theExpr = theExpr || "\[Name( "Antworten" )(:]\" || lstColNames_n3[i] || "),";
Betreff: Skripterstellung für die kategoriale Analyse mehrerer SpaltenHier ist ein Skript, das Ihre ursprüngliche Anfrage erzeugt, indem es eine Ausführung der kategorialen Plattform verwendet.
Names Default To Here( 1 );
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Remove From( n3, 1, 1 );
theExpr =
"\[
dt3<<NEW script=""></NEW>
Betreff: Skripterstellung für die kategoriale Analyse mehrerer SpaltenHallo Jim,
Ich habe einen Weg gefunden, das Problem zu umgehen, indem ich auf die kategorische Plattform verzichtet und die Kontingenzplattform verwendet habe. Ich habe die Methode verwendet, mehrere Berichte miteinander zu kombinieren. Hier ist mein Skript. Die Ausgabe unterscheidet sich von der kategorialen Plattform, aber es ist das, was ich brauchte.
Danke vielmals.
dt1 << New Script(
"Analisi categorica LIKERT",
nw = New Window( "Analisi categorica LIKERT",
container = V List Box()
);
For( i = 1, i <= N Items( lstColNames_n2 ), i++,
content = V List Box(
Contingency(
Y( lstColNames_n2[i] ),
X( :COD CAMP ),
Contingency Table,
Cochran Mantel Haenszel( :COD GIUD ),
SendToReport(
Dispatch( {}, "Tests", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Cochran-Mantel-Haenszel Tests", OutlineBox, {Close( 1 )} )
)
);
container << Append( content )
;
)
);
);
Betreff: Skripterstellung für die kategoriale Analyse mehrerer SpaltenIch folge genau dem, was Sie vorschlagen, um das Skript zu erfassen, und bisher hat dies funktioniert
funktionierte gut. Davon bin ich auch in diesem speziellen Projekt ausgegangen. Dann ich
begonnen, den Teil zu ändern, in dem sich die Antwortnamen befinden. Eigentlich will ich
Erstellen Sie einen Code, der unabhängig vom Namen und der Anzahl der Antworten funktioniert.
Also fing ich an, das Konzept der Liste von Namen und Referenzen zu verwenden
Variablen. Ich habe dies mit Erfolg mit anderen Plattformen gemacht. In diesem Projekt I
Laden Sie die Variablen aus einer Excel-Datei (es kann eine Variable sein oder 10 und die
Namen können sich ändern). Und ich möchte die kategoriale Analyse der durchführen
Variablen, die sich in dieser Excel-Datei befinden. Für Fit-Modell, Text-Explorer, Fit y
bis x konnte ich mein Ziel erreichen. Mit dem kategorischen war ich nicht.
Vielen Dank.
Betreff: Skripterstellung für die kategoriale Analyse mehrerer SpaltenIch denke, das Beste, was man tun kann, ist, neu anzufangen.
Können Sie mit Ihrer Beispieldatentabelle die kategoriale Plattform interaktiv ausführen und die gewünschten Ergebnisse erzielen?
Wenn Sie das tun können, klicken Sie auf das rote Dreieck und speichern Sie das Skript in einem Skriptfenster.Dies bildet den Ausgangspunkt dafür, was die JSL sein muss, um die Ergebnisse für jede Datentabelle zu replizieren, für die Sie die Analyse ausführen möchten.
Wenn Sie diese JSL bereitstellen können, kann ich Ihnen helfen.
Ich habe die Plattform interaktiv ausgeführt und die folgenden Ergebnisse erzielt.Ich bin mir nicht sicher, ob Sie das wollen.Unterhalb der Ausgabe befindet sich die JSL, die zum Erzeugen der Ausgabe erforderlich ist.

Categorical(
X( :COD CAMP ),
Name( "Responses,!Responses" )(:INTENSITA' PROFUMO IN APPLICAZIONE),
Name( "Responses,!Responses" )(:QUANTITA' EROGATA),
Name( "Responses,!Responses" )(:PERSISTENZA PROFUMO DURANTE LA GIORNATA),
Name( "Responses,!Responses" )(:INTENSITA' PROFUMO A FINE GIORNATA),
Legend( 0 )
);
Betreff: Skripterstellung für die kategoriale Analyse mehrerer SpaltenHallo Jim,
Ich schätze Ihre Hilfe. Ich bin kein JSL-Experte, ich versuche, den Code aus JMP und aus Vorschlägen zu extrahieren, die in der JMP-Community gepostet wurden. Mir ist bewusst, dass der Code einige Wiederholungen enthält, entschuldigen Sie, dass ich ihn nicht bereinigt habe. Diese Art der Codierung (wahrscheinlich mit einigen Unterschieden, weil ich irgendwann versucht habe, verschiedene Dinge mit einem Trial-and-Error-Verfahren zu ändern) funktionierte für einige Plattformen, wenn ich eine Liste von Spalten habe (Liste von Referenzen oder Liste von Namen.. abhängig von der Plattform, wenn ich mich recht erinnere), aber nicht für andere. Sicherlich muss ich tiefer in die JSL-Codierung einsteigen ... Aber bis jetzt hat es mir viel Befriedigung gegeben!!
Ich habe den von Ihnen geschriebenen Code ausprobiert, aber die Analyse wird nur für das erste Attribut (INTENSITA' PROFUMO IN APPLICAZIONE) durchgeführt, nicht für alle. Ich erhalte keine Fehlermeldung.
Vielen Dank für Ihre Zeit,
Betreff: Skripterstellung für die kategoriale Analyse mehrerer SpaltenHier ist eine Lösung für Ihre Frage.
Der größte Teil des von Ihnen bereitgestellten Codes wiederholte den gleichen Abruf von Spaltennamen mehrmals.Ich vermute, Sie verstehen nicht, was der Code tut.Das folgende Skript vereinfacht Ihr Skript.
Names Default To Here( 1 );
dt3 = Current Data Table();
n3 = dt3 << Get Column Names();
Remove From( n3, 1, 1 );
Eval(
Parse(
Eval Insert(
"\[
dt3<<NEW script=""></NEW>
Ich empfehle dringend, dass Sie sich die Zeit nehmen, den Scripting Guide zu lesen.