Je travaille actuellement sur la création d'une table de données de résultats à partir d'une requête SQL. La table de données finale a une configuration qui fusionne les groupes de colonnes partagées et fusionne également les lignes de valeurs partagées (voir le tableau 1).
Les données ont parfois des valeurs numériques, mais la plupart des résultats sont des chaînes comme "Négatif" ou "< 0,1". La façon dont je résume le tableau de données avec les caractères/valeurs nominales consiste à transposer les résultats en fonction du type de test. Je peux regrouper les colonnes, mais lorsque j'envoie le tableau de données dans une nouvelle fenêtre sous forme de rapport ou dans une page de journal, il n'affiche pas les colonnes groupées. Je ne peux pas utiliser Tabuler car il ne fait que résumer les valeurs numériques et il ne vous permettra pas non plus de conserver la mise en forme lorsque vous en ferez un tableau de données. Je ne peux pas non plus colorer les cellules d'un tableau Tabuler. Je veux juste la possibilité d'ajouter des sous-catégories et des colonnes/lignes imbriquées comme le fait tabuler à une table de données régulière. Je me demande s'il existe un moyen d'obtenir ce que je recherche dans JMP en utilisant le code JSL, et s'il n'y en a pas, cela peut-il être une demande de fonctionnalité?
Tableau 1. Exemple de table finale

JMP ne vous permet pas de grouper des lignes.Tabuler ne regroupe pas les lignes, il laisse simplement certaines lignes vides (voir ci-dessous).
Si vous regardez l'arborescence de Tabuler, vous remarquerez que JMP utilise des constructions spéciales telles que MultiTblStrColBox et MultiTblNumColBoxMultiTblNumColBox pour créer la table du tableau.Ce ne sont pas quelque chose qui peut être créé dans JSL par l'utilisateur.La meilleure chose à faire est d'utiliser le <<OBTENIR en="" tant="" que="" rapport=""></OBTENIR> avec un groupe de fantaisie et une gestion de nom pour créer quelque chose de similaire avec TableBox -- auquel nous avons accès dans JSL.Voici une fonction rapide " tabulé " que j'ai rassemblé qui peut prendre une table qui a des couleurs spécifiées sur ses cellules avec n'importe quel groupe de colonnes que vous pouvez désirer et crée quelque chose comme un tableau.Vous devez spécifier un tableau et une colonne catégorielle spéciale dans :
Names Default To Here( 1 );
table = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
theGroup = table << Group Columns( "BP", :BP 8M :: :BP 8W );
theGroup = table << Group Columns( "ELSE", {:BP 12W, :BP 6W} );
For( i = 1, i <= N Cols( table ), i++,
For Each Row( table,
Column( table, i ) << Color Cells( Eval List( Repeat( {Random Uniform( 0.9, 1 )}, 3 ) ), Row() )
);
);
tabulatish = Function( {table, category},
{Default Local},
column names = table << Get Column Names( "String" );
For( i = 1, i <= N Items( column names ), i++,
If( Uppercase( category ) == Uppercase( column names[i] ),
category = column names[i];
Break();
)
);
Eval( Parse( Eval Insert( JSL Quote(
table << Sort( By( :Name("^category^") ), Order( "Ascending" ), "Replace Table" );
) ) ) );
categories = Associative Array( Column( table, category ) ) << Get Keys;
locs = Repeat( {""}, N Rows( table ) );
For( i = 1, i <= N Items( categories ), i++,
locs[(Loc( Column( table, category ) << Get Values, categories[i] ))[1]] = categories[i]
);
nt = New Table( "temp", <<NEW column=""></NEW>

Cela semble très prometteur !! Merci! Je vous ferai savoir si cela fonctionne.
Edit : J'ai passé la matinée à parcourir votre code. C'est un bon début pour moi de comprendre comment créer plus de tables personnalisées. Merci! J'apprécie le temps et les efforts. Existe-t-il un moyen d'ajouter une zone d'étendue au-dessus des colonnes à une table déjà existante ? Par exemple, disons que j'ai organisé le tableau sans la catégorisation supplémentaire. Je ne veux pas aller colonne par colonne pour reconstituer le tableau. Je veux juste le faire apparaître ci-dessus. J'espère que cela a du sens.