Manipulations de colonneJ'ai des tables qui ont des données dans l'ordre suivant:

Je veux que toutes les tables ressemblent à ceci:

Comment puis-je y parvenir en jsl?
Re: manipulations de colonne @Aam_jmp ,
Dans votre exemple spécifique, ce qui suit fonctionnerait:
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")))); 
Cependant, vous devrez ajuster la dernière colonne à chaque fois dans cette approche.
Une approche plus généralisée est indiquée ci-dessous:
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: manipulations de colonneEh bien, c’est mon seul objectif. Pour obtenir les tables, je n'ai pas de noms répétitifs dans la colonne.
Re: manipulations de colonne @Aam_jmp ,
Étant donné que les données sont des caractères et non numériques, je me demande si cela est possible de manière simple.
Une façon de le faire consiste à mapper chaque valeur unique de la colonne de caractères, à effectuer une tabulation à l'aide de l'équivalent numérique et à reconfigurer les valeurs de caractères. Je ne sais pas si vous voulez suivre cette voie et la compliquer inutilement.
Si vous partagiez peut-être l'intégralité de votre objectif, peut-être y aurait-il une meilleure façon de gérer cela?
Re: manipulations de colonne @uday_guntupalli J'ai déjà essayé de le faire. Cela semble créer une nouvelle colonne pour chaque valeur présente dans la colonne. J'aimerais savoir s'il existe une option dans JMP qui pourrait m'aider à acquérir quelque chose comme ceci:

Re: manipulations de colonne @Aam_jmp ,
Je penserais que Tabulate peut encore fonctionner. Si vous aviez une nouvelle colonne "Test" et tabulée, vous obtiendriez quelque chose comme ceci:

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
Si cela ne répond pas à ce que vous demandez, indiquez gentiment à quoi ressemblent vos données (comme un échantillon) - afin que je puisse voir où je me trouve.
Re: manipulations de colonne @uday_guntupalli Que se passe-t-il si l'une de mes colonnes contient un type de données de caractère?
Re: manipulations de colonne @Aam_jmp ,
Utilisez résumer ou tabuler
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