Formatage des dates asiatiques en dates courtesDe nombreuses entreprises en Asie tapent leurs dates différemment de celles des États-Unis. Par exemple, le 3 décembre 2021, les entreprises asiatiques le saisiront sous la forme 03/12/2021, mais aux États-Unis, nous le saisirons sous la forme 12/03/2021. J'ai une table dont j'analyse les dates et la convertis en dates courtes. Mais ceux du cercle sont faux, voir l'image ci-dessous. J'ai utilisé le code ci-dessous. Comment faire savoir à JMP que les dates extraites de la colonne Texte sont au format jours_mois_année et non mois_jours_année ?
dtlog << New Column( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) )

Ci-joint le tableau des données.
Tableau de donnéesScriptRe : Formatage des dates asiatiques en dates courtesDans votre JSL d'origine, la colonne a été automatiquement convertie à partir de numérique/continu (que vous avez demandé) à caractère/nominal (parce que shortDate() renvoie des données de caractères.) Le nominal a été repris dans mon exemple après avoir copié le script de la colonne.
C'est un message utile vous informant que les données d'une colonne de caractères ne sont pas formatées. Il ne peut pas vous dire comment la colonne est devenue un personnage.
Dans votre exemple d'origine, c'était dans la fenêtre du journal (car shortdate() renvoie le caractère):
dtlog << Nouvelle colonne( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) ) )
La colonne "vStart" a été remplacée par le type Caractère correspondant à la formule.
Il y avait aussi un indice dans l'image que vous avez jointe : les données vStart étaient justifiées à gauche. JMP utilise la justification à droite pour les données numériques et la justification à gauche pour les données textuelles.
Re : Formatage des dates asiatiques en dates courtesJ'ai une erreur :

Re : Formatage des dates asiatiques en dates courtesMerci, votre solution fonctionne pour moi!
Re : Formatage des dates asiatiques en dates courtesPour la formule de la colonne, utilisez
Informat( Left( :Text, 8 ), "d/m/y" )
Une fois que num(left(text,8)) est terminé, il est trop tard pour le corriger ; num() a déjà deviné que la chaîne est une date et a parfois deviné le mauvais format. Chaque ligne est faite indépendamment, et num() ne peut pas dire qu'elle change de cheval en cours de route.
Dire à informat le format correct vous mènera à mi-chemin. La seconde moitié indique à la colonne d'utiliser un format d'affichage. Un format raisonnable pour la vérification est celui qui énonce les noms des mois. Voici une nouvelle déclaration de colonne complète :
New Column( "vStart",
Numeric, "Nominal",
Format( "Date Long", 35 ),
Input Format( "Locale Date" ),
Formula( Informat( Left( :Text, 8 ), "d/m/y" ) )
)
looks correct, Nov and Dec line up.looks correct, Nov and Dec line up.semble correct, novembre et décembre s'alignent.
édit : Le format d'entrée (en utilisant la date locale) est idiot à moins que vous ne supprimiez plus tard la formule de la colonne. Le format d'entrée est utilisé si vous saisissez une valeur, mais vous ne pouvez pas saisir de valeurs dans une colonne de formules. Vous voudriez probablement le format préféré des paramètres régionaux si vous ressaisissiez "Vendredi 3 décembre 2021". La format (à l'aide de Date Long) contrôle la façon dont le nombre est formaté pour l'affichage. La valeur réelle stockée, sous les couvertures, est le nombre de secondes depuis le 1jan1904. C'est ce que le informer fonction renvoyée.
Vous voulez probablement continu, pas nominal. Peut-être.
Re : Formatage des dates asiatiques en dates courtesdtlog << New Column( "vStart", Numeric, Continuous, Formula(Short Date(Num(LEFT(:Text,8)))));
dtlog:vStart << Format( "d/m/y", 12 );
Re : Formatage des dates asiatiques en dates courtessalut mzwald,
Comment le fusionner avec mon code ?
dtlog << New Column( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) )
Re : Formatage des dates asiatiques en dates courtesEffectuez ces étapes :
1. Faites un clic droit sur votre colonne vStart qui contient les dates numériques
2. Sélectionnez "Informations sur la colonne..."
3. Changez le format de Best en cliquant sur "Best > Date > d/m/y"
4. Cliquez sur OK
dtlog:vStart << Format( "d/m/y", 12 );