Créez une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"J'ai une colonne "Année" de caractère préexistante par exemple "K001/2020", "K002/2020", "K003/2020", etc.
En utilisant le script, je peux créer une nouvelle colonne de caractère "Mon-Yr" = "01/2020", "02/2020", "03/2020", etc. [ J'ai utilisé la sous-chaîne de formule ("Year", < 4,7>) pour ce faire. ]
Quel script JMP puis-je utiliser pour convertir le caractère "01/2020", "02/2020", "03/2020", etc. en numérique, ordinal, meilleur (12), format ("m/y") ?
Merci d'avance pour votre aide!
Modélisation statistique avancéeAutomatisation et scriptPersonnalisation de masseRe : Créer une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"Merci Jim - Cela a parfaitement fonctionné.Re : Créer une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"je répète ma réponse précédente
"..... car votre nom de colonne ":Mon-Yr" sera interprété par JMP comme une colonne nommée Mon, puis soustrait de -Yr. "
JMP fera la même chose avec votre << formule de suppression ;
Votre code doit être modifié à partir de :
:Mon-Yr << delete formula;
pour:
:Name("Mon-Yr") << delete formula;
Re : Créer une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"Le script s'exécute correctement, mais je continue à recevoir un message "d'erreur" dans le journal du script que j'ai écrit (voir le journal joint).Je pense que cela est lié au nom de la colonne "Mon-Yr".
Merci pour votre aide!
MON SCRIPT :
CT << New Column("Mon-Yr",
Character,
Nominal,
Formula(Substr(:YEAR, 5, 7))
);
CT << Run formulas;
"Mon-Yr" << delete formula;
VOTRE SCRIPT :
CT << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);
CT << Run formulas;
"Mon-Yr_2" << delete formula;
Re : Créer une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"Mon erreur.J'ai écrit et testé mon code sur une table de données qui avait un nom différent pour la colonne de variable d'entrée de caractères, puis quand j'ai vu quel était votre nom réel, je l'ai juste coupé et collé dans ma formule.C'était une erreur, car votre nom de colonne ":Mon-Yr" sera interprété par JMP comme une colonne nommée Mon, puis soustrait de -Yr.Ce qui suit est ce qui doit être changé ....... Je suis revenu en arrière et j'ai changé ma dernière réponse afin que les futurs lecteurs obtiennent le bon code.
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);
Re : Créer une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"
Jim Merci encore pour votre aide avec ceci.
Vous trouverez ci-dessous le script combiné que j'exécute ; selon votre code, il crée une nouvelle colonne "Mon-Yr_2" mais la colonne no data . . . les données sont manquantes "."
Je reçois également des messages d'erreur que je ne comprends pas.J'ai joint un échantillon du tableau de données de départ et du journal.
MON SCRIPT
CT2 << New Column("Mon-Yr",
Charcter,
Nominal,
format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
VOTRE SCRIPT
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Mon-Yr, "m/y" ) )
);
Re : Créer une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"Prenant de mon exemple, avec des modifications mineures
CT2 << New Column( "Mon-Yr_2",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Name("Mon-Yr"), "m/y" ) )
);Re : Créer une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"merci pour ce qui précède ; Je suis devant mon ordinateur maintenant et je peux mieux expliquer ce que j'essaie de faire.
J'ai une colonne "YEAR" préexistante [Caractère, Nominal], exemple des données "YEAR":
K9/001/2019
K9/001/2020
K9/002/2019
K9/002/2020
K9/003/2019
J'ai scénarisé une nouvelle colonne "Mon-Yr"
CT2 << New Column("Mon-Yr", Charcter, Nominal, format (Best, 12),
Formula(Substr(:YEAR, 5, 7))
);
CT2 << Run formulas;
"Mon-Yr" << delete formula;
Cela se traduit par une nouvelle colonne, "Mon-Yr", [Caractère, Nominal].Exemple de données "Lun-An":
01/2019
01/2020
02/2019
02/2020
03/2019
Donc, à ce stade, j'aimerais créer une nouvelle colonne "Mon-Yr_2" [Numérique, Nominal, format ("m/y"].Pouvez-vous m'aider à me montrer comment écrire ce script ?
Merci!
Re : Créer une colonne numérique, ordinale, meilleur (12), format = ("m\y" ) "Mon-Yr" à partir d'une colonne de caractères préexistante avec "Mon-Yr" = "01/2020"Voici un petit script qui crée 3 colonnes.La colonne 1 est Char Date, en utilisant votre formulaire "02/2020".La deuxième colonne est une colonne de formules qui convertit la première colonne en une valeur de date JMP, avec un format "m/y" pour l'affichage en déchirant la colonne de caractères et en la reconstruisant.La troisième utilise la fonction Informat() pour convertir la colonne
New Table( "example",
Add Rows( 1 ),
New Column( "Char Date", Character, "Nominal", Set Values( {"02/2020"} ) ),
New Column( "JMP Date",
Numeric,
"Nominal",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula(
Date MDY(
Num( Word( 1, :Char Date, "/" ) ),
1,
Num( Word( 2, :Char Date, "/" ) )
)
)
),
New Column( "JMP Date Using Informat",
Numeric,
"Continuous",
Format( "m/y", 12 ),
Input Format( "m/y" ),
Formula( Informat( :Char Date, "m/y" ) ),
Set Selected
)
)