Empiler des colonnes avec plusieurs nomsBonjour à tous!
Disons que j'ai une table de données qui ressemble à ceci :
A, B1, B2, C1, C2, D
1,2,3,4,5,16
6,7,8,9,10,16
11,12,13,14,15,16
Je veux les empiler pour que la nouvelle table ressemble à ceci :
ABC
1,2,4
1,3,5
6,7,9
6,8,10
11,12,14
11,13,15
J'ai trois listes : une contenant les colonnes à conserver : list_to_keep= {A},list_to_stack_before= {B1,C1} et list_to_stack_after = {B2,C2}.
J'ai d'abord écrit un script pour créer une nouvelle liste avec les nouveaux noms de colonnes :
nouveaux_noms_colonnes = {};
str = char(liste_à_empiler_avant);
newstr = substitute(str,"", "", "_be_sam","");
nouveaux_noms_colonnes = parse(newstr);
Ensuite, j'ai essayé de boucler la fonction de pile, mais elle ajoute toujours plus de lignes. Je ne peux pas utiliser la fonction Stack normale car elle ne me permet pas d'utiliser plusieurs noms dans l'argument de la colonne de données empilées. Comment puis-je résoudre ce problème ? Merci beaucoup, je suis très nouveau sur jmp.
Automatisation et scriptsRe: Empiler des colonnes avec plusieurs nomswow, joli lien entre stack-series multiples et stack + split !
Re: Empiler des colonnes avec plusieurs nomsD'ACCORD-
Heureusement que vous savez écrire des scripts. Merci d'avoir précisé que vous recherchez quelque chose d'évolutif pour éviter de renommer de nombreuses colonnes.
Tout d'abord, en guise d'aparté/tangente - comme astuce pour la manipulation des noms de colonnes en mode manuel, mais à grande échelle : c'est rapide et puissant ( mais doit être fait avec précaution )
- dans le volet Colonnes, sélectionnez toutes les colonnes - « copier » (place le texte dans le tampon de copie)
- Dans une autre table de données (ou une feuille de calcul ou un programme de traitement de texte), « Coller » : la liste des colonnes est créée sous forme de texte.
Manipulez-le comme vous le souhaitez (tapez, modifiez le texte en place, créez une colonne de formule pour ajouter un préfixe/suffixe... peu importe)...
- « Copiez » la liste modifiée des nouveaux noms de colonnes de texte
- Revenir au tableau d'origine. Effacer la sélection des colonnes, puis resélectionner la liste des colonnes dans le volet des colonnes. « Coller » pour écraser les noms de colonnes modifiés
Revenons à la méthode des opérations de table proposée précédemment.
Si le caractère le plus bas doit toujours être 1/2 (ou au moins indiquer la famille de colonnes qui doit être empilée), cela peut être fait en deux opérations de table et une formule. Ces étapes peuvent être scriptées ou capturées dans le générateur de workflow si les actions doivent être répétables.

Ajouter une colonne de formule pour couper « Étiquette », en excluant le caractère le plus bas

Tableau « Split » Données par étiquette découpée ....

Re: Empiler des colonnes avec plusieurs nomsVous supprimez la colonne D ? Dans vos tables de données réelles, comment décidez-vous des colonnes à supprimer ? Quelle est la convention de dénomination des colonnes (avant et après la pile) ? Cela ne devrait pas être trop difficile à automatiser via JSL.
*modifier*
De plus, le nombre de multiples est-il toujours le même ? Par exemple, s'il y a un B1 et un B2, y aura-t-il toujours un C1 et un C2, ou pourrait-il également y avoir un C3 ? Si oui, comment cela doit-il être géré ?
Re: Empiler des colonnes avec plusieurs nomsBonjour Greg, merci beaucoup pour ta réponse !
Je connais l'interface de pile et j'ai également utilisé le générateur de flux de travail pour obtenir un script à empiler. Le problème avec le renommage est que je n'ai pas 3 colonnes que je veux empiler mais plutôt 40 et je m'attends à ce que cela augmente avec l'arrivée de nouvelles mesures.
J'ai réalisé que je pouvais probablement écrire un script pour renommer les colonnes à l'aide d'une liste, mais cela ne semble pas être une solution de contournement très pratique et sujette à des erreurs dans l'ordre. J'espérais qu'il existe une méthode plus simple. Il est très regrettable que l'option « nouveaux noms de colonnes » n'autorise pas plus d'un argument.
Meilleur
Re: Empiler des colonnes avec plusieurs nomsBonjour nouveau membre
Bien que les scripts puissent être réalisés, voyez peut-être jusqu'où vous pouvez aller avant de coder (conseil de pro : dans JMP, c'est souvent assez loin).
La commande Empiler du menu Tableaux vous permettra d'y parvenir en grande partie. L'aperçu en temps réel est vraiment utile.

Après avoir exécuté cette commande, renommez les colonnes « Données » en A et B, supprimez la colonne d'étiquette.
Si vous souhaitez créer un script, après avoir exécuté la commande stack, le triangle vert « Source » dans le panneau supérieur gauche réexécutera l'action. Faites un clic droit/modifiez pour voir la syntaxe du script.
Pour obtenir la syntaxe du script, utilisez le générateur de workflow pour enregistrer les étapes, puis le triangle rouge > enregistrer dans la fenêtre de script.