Après avoir créé une nouvelle colonne, comment la déplacez-vous pour qu'elle devienne la première colonne à l'aide d'un script ?Salut tout le monde,
Arrière-plan:
J'essaie donc d'automatiser un processus que j'utilise pour récupérer des exemples de données à partir d'une base de données SQL. Ce que je fais, c'est utiliser le générateur de requêtes de base de données et extraire les données avec un script post-requête, où ira le code factice ci-dessous.
Problème:
J'ai actuellement le script pour créer une nouvelle colonne et lui donner les formules que je veux, mais ce qui serait vraiment utile, c'est d'avoir quelques lignes de code pour ensuite mélanger certaines de ces nouvelles colonnes.
Mon code factice est le suivant :
"
New Column( "ColumnToMove",
Numeric,
"Nominal",
Format( "Best", 12 )
Formula(1));
Move Selected Columns({“ColumnToMove”}, To First);
"
(Veuillez pardonner tout malentendu sur le fonctionnement de ce langage de script, je suis actuellement très novice)
Un grand merci pour toute aide apportée
Re : Après avoir créé une nouvelle colonne, comment la déplacez-vous pour qu'elle devienne la première colonne à l'aide d'un script ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Il n'y a rien de mal à ordonner les colonnes, et c'est génial de garder les choses organisées lorsque vous codez.Cependant, cela PEUT ralentir votre code.L'évidence est qu'il ajoute une étape supplémentaire qui ne fait rien.Réorganiser une table invisible sera plus rapide, mais encore une fois, les tables sont invisibles, donc la réorganisation ne sert à rien.
De plus, un programmeur novice pourrait aussi prendre l'habitude de réordonner les colonnes pour exécuter telle ou telle analyse sur les 5 premières colonnes, ou les 5 dernières colonnes, ce qui est une mauvaise habitude et produit un code moins souple et plus lent.
Enfin, choisir entre ajouter des colonnes avec SQL ou JSL est une opinion personnelle.Évidemment, les deux peuvent ajouter une colonne supplémentaire où Colonne 3 = Colonne 1 + Colonne 2. Avec SQL, cela transfère la puissance de traitement de l'ordinateur hôte au processeur du serveur, ce qui pourrait être plus lent/plus rapide mais sera plus cohérent sur toutes les plates-formes.Avec SQL, vous avez l'avantage supplémentaire de pouvoir placer cette colonne où vous le souhaitez sans ajouter une ou deux étapes supplémentaires.Ceci étant dit, je préfère souvent utiliser JSL pour ajouter des colonnes.
Re : Après avoir créé une nouvelle colonne, comment la déplacez-vous pour qu'elle devienne la première colonne à l'aide d'un script ?Merci pour votre aide à tous, vraiment apprécié. J'ai ma réponse et plus
(msharp - la raison pour laquelle je n'utilise pas SQL pour faire plus de travail est que j'utilise le générateur de requêtes pour obtenir mes données à partir de SQL et je ne pense pas que vous puissiez apporter d'autres ajustements au SQL qu'il utilise. Maintenant, je pouvais écrire toute ma requête dans le langage de script et faire tout le travail dans SQL plutôt que JMP. Cependant, je trouve très utile de pouvoir sélectionner différentes variables à l'aide du générateur de requêtes à chaque fois avant de les extraire (plutôt que de les coder en dur et d'avoir à trouver les entrées dans le script à chaque fois). De même, il me manque peut-être quelque chose.
Je suis également d'accord sur la couche de présentation, mais actuellement je la trouve assez utile pour le moment pendant que je m'attaque aux choses à organiser au fur et à mesure. De plus, j'ai un certain nombre de colonnes (ma prochaine étape sera de les regrouper à l'aide du langage de script), ce qui signifie que lorsqu'il s'agit d'exploration de données (ce que je fais actuellement), il est utile d'avoir les colonnes les plus pertinentes à portée de main. De plus, lorsque j'utilise le générateur de graphiques, etc., cela facilite un peu l'exploration des données. Merci encore pour votre aide)
(Jeff Perkinson - Non, je ne le savais pas. Merci beaucoup d'avoir porté cela à mon attention. Il sera très utilisé à partir de maintenant)
Re : Après avoir créé une nouvelle colonne, comment la déplacez-vous pour qu'elle devienne la première colonne à l'aide d'un script ?Conseil génial.
Je ne déplace généralement jamais les colonnes.O ranger les colonnes est plus une question de présentation puisque les données ne doivent pas dépendre de l'ordre des colonnes.Il est préférable de laisser la présentation à une couche de présentation telle qu'un graphique ou un tableau et non à un tableau de données.
Re : Après avoir créé une nouvelle colonne, comment la déplacez-vous pour qu'elle devienne la première colonne à l'aide d'un script ?
BTW : Si vous ne l'avez pas déjà trouvé, le Index des scripts sous le Aider le menu est votre ami.

Re : Après avoir créé une nouvelle colonne, comment la déplacez-vous pour qu'elle devienne la première colonne à l'aide d'un script ?Si vous fournissez les noms de colonne à déplacer les colonnes sélectionnées vous n'avez pas besoin de les sélectionner pour les déplacer.
dt = New Table( "Untitled", Add Rows( 1 ),
New Column( "First", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1] ) ),
New Column( "Second", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [2] ) )
);
dt << New Column( "ColumnToMove", Numeric, "Nominal", Format( "Best", 12 ), Formula(1));
wait(2); // Put a delay to see the effect
dt << Move Selected Columns({"ColumnToMove"}, To First);
Re : Après avoir créé une nouvelle colonne, comment la déplacez-vous pour qu'elle devienne la première colonne à l'aide d'un script ?Déplacer des colonnes est possible, mais on a toujours l'impression que cela prend deux ou trois étapes supplémentaires alors qu'il le devrait.Généralement, vous ne pouvez déplacer que les colonnes sélectionnées, et il n'est pas facile de sélectionner des colonnes.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Go To( :Age );
Wait( 2 );
dt << Move Selected Columns( To last );
dt << Clear Column Selection;
Wait( 2 );
dt << Reverse Order;
Y a-t-il une raison pour laquelle vous ne pouvez pas simplement modifier votre SQL pour obtenir les colonnes dans l'ordre que vous souhaitez ?SQL est un langage suffisamment robuste pour que vous puissiez effectuer la plupart des scripts de colonne directement dans l'extraction de données.
Re : Après avoir créé une nouvelle colonne, comment la déplacez-vous pour qu'elle devienne la première colonne à l'aide d'un script ?Je pense que vous pouvez soit utiliser ajouter plusieurs colonnes pour définir la position lorsque vous le créez, soit utiliser le message de déplacement des colonnes sélectionnées que vous mentionnez :
dt=currentdatatable();
dt<<ADD multiple="" columns=""></ADD>
Vous pouvez spécifier l'emplacement avec After(col) pour les deux méthodes