SäulenmanipulationenIch habe Tabellen mit Daten in der folgenden Reihenfolge:

Ich möchte, dass alle Tabellen so aussehen:

Wie kann ich das in jsl erreichen?
Re: Säulenmanipulationen @Aam_jmp .
In Ihrem speziellen Beispiel würde Folgendes funktionieren:
Clear Log(); Clear Globals();
dt = Current Data Table();
dt2 = (dt << Tabulate(
Set Format( N( 9, "Best" ) ),
Add Table(
Column Table( Analysis Columns( :Age, :Height, :Weight ) ),
Column Table( Grouping Columns( :Result ) ),
Row Table( Grouping Columns( :Name ) )
)
)
) << Make Into Data Table;
dt2 << New Column("Result",Character,Nominal,Formula(If(:Fail==1,"Fail",If(:Pass==1,"Pass")))); 
Bei dieser Vorgehensweise müssen Sie jedoch die letzte Spalte jedes Mal anpassen.
Ein allgemeinerer Ansatz ist unten dargestellt:
Clear Log(); Clear Globals();
dt = Current Data Table();
CharValsAA = Associative Array(dt:Result);
Results = CharValsAA << Get Keys;
for(i = 1, i < N Items(Results), i++,
If(!IsMissing(Results[i]),
,
Remove From(Results,i);
);
);
dt2 = (dt << Tabulate(
Set Format( N( 9, "Best" ) ),
Add Table(
Column Table( Analysis Columns( :Age, :Height, :Weight ) ),
Column Table( Grouping Columns( :Result ) ),
Row Table( Grouping Columns( :Name ) )
)
)
) << Make Into Data Table;
nR = N Rows(dt2);
// Short sighted approach
//dt2 << New Column("Result",Character,Nominal,Formula(If(:Fail==1,"Fail",If(:Pass==1,"Pass"))));
// Generalized Approach
dt2 << New Column("Test",Character,Nominal, Set Each Value("a"));
for(i = 1, i <= N Items(Results), i++,
VarName = Results[i];
Eval(Parse(Eval Insert("\[ Temp_^i^ = Loc(dt2:^VarName^ << Get Values) ; ]\" )));
Eval(Parse(Eval Insert("\[ for(r = 1, r <= N Rows(Temp_^i^), r++,
If(Temp_^i^[r] > 0,
dt2:Test[Temp_^i^[r]] = Results[^i^];
);
) ; ]\" )));
);Re: SäulenmanipulationenNun, das ist mein einziges Ziel. Um die Tabellen zu erstellen, habe ich keine sich wiederholenden Namen in der Spalte.
Re: Säulenmanipulationen @Aam_jmp .
Da die Daten charakteristisch und nicht numerisch sind, frage ich mich, ob dies auf einfache Weise möglich ist.
Ich kann mir dazu eine Möglichkeit vorstellen, indem ich jeden eindeutigen Wert der Zeichenspalte abbilde, mit dem numerischen Äquivalent tabelliere und die Zeichenwerte neu belege. Ich weiß nicht, ob Sie diesen Weg gehen und ihn unnötig verkomplizieren möchten.
Wenn Sie vielleicht Ihr gesamtes Ziel geteilt haben, gibt es vielleicht einen besseren Weg, um damit umzugehen?
Re: Säulenmanipulationen @uday_guntupalli Ich habe es schon versucht. Dies scheint eine neue Spalte für jeden in der Spalte vorhandenen Wert zu erstellen. Ich würde gerne wissen, ob es in JMP eine Option gibt, die mir beim Erwerb von etwas wie dem folgenden helfen würde:

Re: Säulenmanipulationen @Aam_jmp .
Ich würde glauben, dass Tabulate noch funktionieren kann. Wenn Sie eine neue Spalte "Test" und "Tabulated" hätten, würden Sie so etwas wie folgt bekommen:

dt = Current Data Table();
dt1 = (dt << Tabulate(
Set Format( N( 9, "Best" ) ),
Add Table(
Column Table( Analysis Columns( :Age, :Height, :Weight ) ),
Column Table( Grouping Columns( :Test ) ),
Row Table( Grouping Columns( :Name ) )
)
)) << Make Into Data Table
Wenn dies nicht Ihren Wünschen entspricht, zeigen Sie bitte, wie Ihre Daten aussehen (wie ein Beispiel) - damit ich sehen kann, wo ich gerade bin.
Re: Säulenmanipulationen @uday_guntupalli Was ist, wenn eine der Spalten, die ich besitze, einen Zeichendatentyp hat?
Re: Säulenmanipulationen @Aam_jmp .
Verwenden Sie Summarize oder tabellarisch
dt = Current Data Table();
dt1 = (dt << Tabulate(
Add Table(
Column Table( Analysis Columns( :Age, :Height, :Weight ) ),
Row Table( Grouping Columns( :Name ) )
)
)) << Make Into Data Table