Stapeln einer Gruppenspalte in einer NEUEN DatentabelleHallo,
Ich habe den nächsten Code. In den letzten Zeilen versuche ich einige Spalten zu stapeln. Das Problem ist, dass beim Ausführen des Skripts nur eine Spalte gestapelt angezeigt wird, obwohl mehr als 1 angezeigt werden muss (entsprechend der Listenlänge im Code).
);<BR /><BR />dt = open("C:\JMPCommunity\DataTableExample.jmp");
s_list = {sen1, sen2, sen3, sen4, sen5};
test_list ={test1, test2, test3};
tokens_list={Col1, Col2, Col3};
g_list={g1,g2,g3};
For(j = 1, j<=Length(test_list), j++,
For( i = 1, i<= Length(s_list), i++,
dt << New Column ( test_list[j] ||"_" || s_list[i],
Numeric,
Continuous,
Formula(
Num(Word( i, As Column(Column(tokens_list[j] )), "|" ))
)
)
);
g_list[j] = dt << Group Columns(:( || test_list[j]|| "_" || s_list[1]), Length(s_list));<BR /> dt << Stack(columns(dt << Get Column Group( g_list[j] );),<BR /> Source Label Column( "Label_" || test_list[j] ),<BR /> Stacked Data Column( "Data_" || test_list[j])<BR /> );<BR />
Meine Fragen sind:
1 Wie kann das Problem behoben werden?
2 Wie kann die neu geöffnete Datentabelle eine neue DT sein (die nicht durch die ursprüngliche Tabelle aktualisiert wird)?
Ein dt-Beispiel ist beigefügt
Betreff: Stapelung einer Gruppenspalte in einer NEUEN DatentabelleHallo,
Ich denke es gibt ein Problem. Die letzte geöffnete Tabelle generiert mehr Zeilen als benötigt.
Zum Beispiel: Ich brauche den 1. DT-Stack aus 10 Datenzeilen. Der letzte DT enthält 250 Datenzellen !!
Das ist X25. Nun, wenn ich eine Tabelle mit 10 ^ 6 oder mehr Zeilen habe, dann wird es extrem vervielfacht und möglicherweise wird die Datenverarbeitung des Computers abgebrochen ....
Gemäß dem Beispiel, das ich angehängt habe, muss ich drei übereinander angeordnete Spalten von Label & Data erhalten, die nur 10 Zellenzeilen umfassen.
Ich denke an MultipleSeriesStack, weiß aber nicht, wie ich es in meinen Code einfügen soll
Betreff: Stapelung einer Gruppenspalte in einer NEUEN DatentabelleNach dem Korrigieren des Hinzufügens einer ': Columns' (in den Gruppenspalten (Nachricht) scheint das Skript zu funktionieren, außer dass es drei verschiedene Tabellen mit jeweils einem Satz gruppierter Spalten erstellt. Wenn Sie der neu erstellten Tabelle weitere Spalten hinzufügen möchten (was Sie meiner Meinung nach wünschen), müssen Sie auf die neu erstellte Tabelle verweisen. Hier ist eine Möglichkeit, dies zu tun:
Names default to here( 1 );
s_list = {sen1, sen2, sen3, sen4, sen5};
test_list ={test1, test2, test3};
tokens_list={Col1, Col2, Col3};
g_list={g1,g2,g3};
dt = list();
dt[1] = open("C:\Users\a384681\Downloads\DataTableExample.jmp");
For(j = 1, j<=Length(test_list), j++,
For( i = 1, i<= Length(s_list), i++,
dt[j] << New Column ( test_list[j] ||"_" || s_list[i],
Numeric,
Continuous,
Formula(
Num(Word( i, As Column(Column(tokens_list[j] )), "|" ))
)
)
);
g_list[j] = dt[j] << Group Columns(:Column(test_list[j] || "_" || s_list[1]), Length(s_list));
dt[j+1] = dt[j] << Stack(
columns(dt[j] << Get Column Group( g_list[j] );),
Source Label Column( "Label_" || test_list[j] ),
Stacked Data Column( "Data_" || test_list[j])
);
);