Col Formule Mois()J'ai une table de données où j'ai plusieurs dates avec des heures. J'essaie de changer toutes les dates uniquement en mois et peut-être même en format mois-année.
Je sais que je l'ai déjà fait en sélectionnant la colonne allant à la formule et en rassemblant Month (DateandTime), puis j'utiliserais le recode pour changer les nombres en janvier - décembre.
Lorsque j'essaie aujourd'hui, la formule Month() change ma date en points. J'ai regardé d'autres articles et la formule est celle que je suis censé utiliser. Je ne sais pas pourquoi je n'obtiens pas le résultat attendu ?
Re : Mois de la formule Col()Des millions de merci 
Re : Mois de la formule Col()Voici une formule qui fonctionnera
Substr( Format( :Date, "Monddyyyy" ), 1, 3 ) || " " || Char( Year( :Date ) )
Re : Mois de la formule Col()Bonjour à tous,
Je peux utiliser beaucoup d'aide fournie sur ce forum. Je cherche de l'aide avec le tableau ci-joint. La colonne 2 contient les mois des années 2019 et 2020. Je dois ajouter l'année à côté du mois.
Re : Mois de la formule Col()If(:month <= 2 | :month >=12,
season="Winter",
:month <=5, season="Spring",
:month <=8, season="Summer",
season="Fall"
); Re : Mois de la formule Col()que puis-je faire si je veux créer une colonne de saison à partir du mois ?
@julien a écrit:
Salut @Herrera5238 ,
Substr() est une fonction de caractère très utile qui permet de sélectionner une partie d'une chaîne. Les arguments de Substr() sont affichés dans Aide > Index des scripts :
Substr(string, start, length)
Ainsi, les 1 et 3 dans l'exemple indiquent à Substr() de prendre la chaîne et de renvoyer 3 caractères commençant à la première position ordinale de la chaîne. La raison pour laquelle cela fonctionne est que le reste de la formule que j'ai écrite
Format( :Date Time, "Monddyyyy" )
renvoie une version formatée de la date basée sur le format spécifié ("Monddyyyy"). Si vous utilisiez uniquement cette fonction sans Substr(), vous obtiendriez des lignes avec des valeurs telles que : "Jan012018" .
Si vous souhaitez un mois non abrégé, vous devrez faire quelque chose de différent. On pourrait commencer par :
Format( :Date Time, "Date Long" )
ce qui renverrait quelque chose comme : Monday, January 1, 2018. Puisque Substr() nécessite que l'on spécifie une position de départ et un nombre de caractères spécifiques, il ne sera pas très utile de séparer cette chaîne puisque les jours de la semaine sont différents nombres de caractères. Mais nous avons de nombreuses autres fonctions de personnage à notre disposition ! Word() est une excellente solution : elle renverra un mot particulier dans une chaîne basée sur un délimiteur (la valeur par défaut est un espace, mais peut également être une virgule, ou à la fois une virgule ET un espace, ce dont nous avons besoin). Sachant cela, nous pourrions utiliser la formule suivante :
Word( 2, Format( :Date Time, "Date Long" ), ", " )
La façon de lire ceci est la suivante : prenez le deuxième mot (c'est-à-dire le 2) de la colonne date/heure formatée (en utilisant Date Long) et utilisez comme délimiteur des mots À LA FOIS une virgule et un espace (notez entre guillemets que j'ai un virgule puis un espace - c'est ainsi que je dis à JMP d'utiliser les deux). Cela renverra « janvier » pour la première ligne de votre ensemble de données.
Mais peut-être voulez-vous aussi l’année à la fin ou au début, ou quelques personnages intermédiaires. Nous pouvons faire tout cela en utilisant l'opérateur de concaténation || ou la fonction Concat(). Par exemple, disons que nous voulons mettre l’année à la fin de la chaîne pour chaque ligne. Nous devons obtenir l'année d'une manière ou d'une autre (cela pourrait être la fonction Year() pointant vers :Date Time, ou nous pourrions utiliser à nouveau Words(), les deux fonctionneraient). Voici une façon de procéder :
Word( 2, Format( :Date Time, "Date Long" ), ", " ) || "-" ||
Char( Year( :Date Time ) )
qui renverra "Janvier-2018". Il y a une chose que j'ai faite ici à laquelle vous ne vous attendriez peut-être pas. j'ai enveloppé Année ( :Date Time ) dans la fonction Char(). C'est important parce que Année ( :Date Time ) renverra une valeur NUMERIQUE de l'année et la fonction Concat() (ou sa version d'opérateur en ligne ||) nécessite des arguments de caractère. Ainsi, l'ajout d'un simple Char() autour de Year() garantit que Concat() obtient une représentation de caractère de l'année avec laquelle travailler.
Vous pouvez faire tellement de choses avec les fonctions de caractère, et je vous encourage à consulter la section Caractère de la référence de formule dans Aide > Index des scripts.
J'espère que ça aide!
@julien
Re : Mois de la formule Col()@Herrera5238
je fortement nous vous recommandons de vous familiariser avec l'index des scripts.
Aide==>Index des scripts
Chacune des fonctions que Julian et/ou moi-même avons montrées dans cette discussion sont répertoriées dans l'index, définies dans l'index et des exemples sont présentés dans l'index.
Re : Mois de la formule Col()Salut @Herrera5238 ,
Substr() est une fonction de caractère très utile qui permet de sélectionner une partie d'une chaîne. Les arguments de Substr() sont affichés dans Aide > Index des scripts :
Substr(string, start, length)
Ainsi, les 1 et 3 dans l'exemple indiquent à Substr() de prendre la chaîne et de renvoyer 3 caractères commençant à la première position ordinale de la chaîne. La raison pour laquelle cela fonctionne est que le reste de la formule que j'ai écrite
Format( :Date Time, "Monddyyyy" )
renvoie une version formatée de la date basée sur le format spécifié ("Monddyyyy"). Si vous utilisiez uniquement cette fonction sans Substr(), vous obtiendriez des lignes avec des valeurs telles que : "Jan012018" .
Si vous souhaitez un mois non abrégé, vous devrez faire quelque chose de différent. On pourrait commencer par :
Format( :Date Time, "Date Long" )
ce qui renverrait quelque chose comme : Monday, January 1, 2018. Puisque Substr() nécessite que l'on spécifie une position de départ et un nombre de caractères spécifiques, il ne sera pas très utile de séparer cette chaîne puisque les jours de la semaine sont différents nombres de caractères. Mais nous avons de nombreuses autres fonctions de personnage à notre disposition ! Word() est une excellente solution : elle renverra un mot particulier dans une chaîne basée sur un délimiteur (la valeur par défaut est un espace, mais peut également être une virgule, ou à la fois une virgule ET un espace, ce dont nous avons besoin). Sachant cela, nous pourrions utiliser la formule suivante :
Word( 2, Format( :Date Time, "Date Long" ), ", " )
La façon de lire ceci est la suivante : prenez le deuxième mot (c'est-à-dire le 2) de la colonne date/heure formatée (en utilisant Date Long) et utilisez comme délimiteur des mots À LA FOIS une virgule et un espace (notez entre guillemets que j'ai un virgule puis un espace - c'est ainsi que je dis à JMP d'utiliser les deux). Cela renverra « janvier » pour la première ligne de votre ensemble de données.
Mais peut-être voulez-vous aussi l’année à la fin ou au début, ou quelques personnages intermédiaires. Nous pouvons faire tout cela en utilisant l'opérateur de concaténation || ou la fonction Concat(). Par exemple, disons que nous voulons mettre l’année à la fin de la chaîne pour chaque ligne. Nous devons obtenir l'année d'une manière ou d'une autre (cela pourrait être la fonction Year() pointant vers :Date Time, ou nous pourrions utiliser à nouveau Words(), les deux fonctionneraient). Voici une façon de procéder :
Word( 2, Format( :Date Time, "Date Long" ), ", " ) || "-" ||
Char( Year( :Date Time ) )
qui renverra "Janvier-2018". Il y a une chose que j'ai faite ici à laquelle vous ne vous attendriez peut-être pas. j'ai enveloppé Année ( :Date Time ) dans la fonction Char(). C'est important parce que Année ( :Date Time ) renverra une valeur NUMERIQUE de l'année et la fonction Concat() (ou sa version d'opérateur en ligne ||) nécessite des arguments de caractère. Ainsi, l'ajout d'un simple Char() autour de Year() garantit que Concat() obtient une représentation de caractère de l'année avec laquelle travailler.
Vous pouvez faire tellement de choses avec les fonctions de caractères, et je vous encourage à consulter la section Caractère de la référence de formule dans Aide > Index des scripts.
J'espère que ça aide!
@julien
Re : Mois de la formule Col()Julien,
Que font pour nous le 1 et le 3 dans cette formule ?
Et si je ne voulais pas qu'il soit abrégé ou abrégé avec l'année ? c'est-à-dire le 18 janvier ou janvier 2018.
Existe-t-il un endroit où je peux référencer les options de formatage disponibles ?
Écrire la formule incluant le format m'évitera cette étape de recodage supplémentaire.
Merci pour le conseil!!
Re : Mois de la formule Col()Jim,
J'étais sur le point de dire que cela ne fonctionnait toujours pas et j'ai préparé ma capture d'écran.

J'ai réalisé quel est le problème. J'essayais d'utiliser la formule sur la même colonne à laquelle je faisais référence.
Ce que j'aurais dû faire, c'était créer une nouvelle colonne et ajouter la formule ici.
Une fois que j'ai fait cela, je n'ai eu aucun problème.
J'apprécie l'aide, je me sens mal parce que c'était quelque chose de si simple que j'ai raté.
Re : Mois de la formule Col()Merci de joindre un fichier.
Je n'ai eu aucun problème à appliquer une formule au tableau de données que vous avez joint.
La formule que j'ai utilisée est
Month( :Date Time )
Étant donné que la colonne Date Time est une colonne datetime JMP appropriée, je soupçonne que vous pourriez avoir un problème de portée, où vous spécifiez "Date Time" et non ":Date Time".Placer deux points devant le nom de la colonne, indiquant à JMP d'utiliser une colonne nommée Date Time, et non une variable mémoire appelée Date Time

Re : Mois de la formule Col()Salut @Herrera5238 ,
Sur votre ensemble de données, cela semble bien fonctionner pour moi en utilisant la formule suivante :
Month( :Date Time )
De plus, si vous envisagez de changer les numéros de mois en abréviations de mois, vous pouvez utiliser directement la formule suivante :
Substr( Format( :Date Time, "Monddyyyy" ), 1, 3 )
J'ai joint ici votre exemple de tableau de données avec ces formules de colonnes.
@julien
Re : Mois de la formule Col()Bonjour Jim,
J'ai joint un tableau de données. C'est un autre élément que j'ai trouvé sur un autre post. J'ai donc vérifié les informations de la colonne. et il indique que le type de données est numérique. J'importe ces données depuis Excel, mais cela ne devrait pas poser de problème, n'est-ce pas ? Je ne me souviens pas avoir eu ce problème la dernière fois que je l'ai fait, même si je dirais que la dernière fois, je travaillais avec JMP12 et non 13.
Re : Mois de la formule Col()Je suppose que le problème est que la colonne à laquelle vous faites référence dans la fonction Month() n'est pas une valeur de date ou d'heure JMP.Se pourrait-il que la colonne référencée soit une colonne de chaîne de caractères et non une colonne numérique ?
Si vous pouviez joindre un échantillon du tableau de données sur lequel vous travaillez, cela serait utile.