Mes de fórmula de columna()Tengo una tabla de datos donde tengo varias fechas con horas. Estoy intentando cambiar todas las fechas solo al mes y tal vez incluso al formato mes-año.
Sé que he hecho esto antes seleccionando la columna que va a la fórmula y juntando Mes (Fecha y Hora) en lugar de usar la recodificación para cambiar los números de enero a diciembre.
Cuando lo intento hoy, la fórmula Mes() cambia mi fecha a solo puntos. He mirado otras publicaciones y la fórmula es lo que se supone que debo usar. ¿No estoy seguro de por qué no obtengo el resultado esperado?
Re: Mes de la fórmula Col()Un millón de gracias 
Re: Mes de la fórmula Col()Aquí tienes una fórmula que funcionará.
Substr( Format( :Date, "Monddyyyy" ), 1, 3 ) || " " || Char( Year( :Date ) )
Re: Mes de la fórmula Col()Hola a todos,
Puedo utilizar mucha ayuda proporcionada en este foro. Estoy buscando ayuda con la tabla adjunta. La columna 2 tiene meses del año 2019 y 2020. Necesito agregar el año al lado del mes.
Re: Mes de la fórmula Col()If(:month <= 2 | :month >=12,
season="Winter",
:month <=5, season="Spring",
:month <=8, season="Summer",
season="Fall"
); Re: Mes de la fórmula Col()¿Qué puedo hacer si quiero crear una columna de temporada a partir del mes?
@Julian escribió:
Hola @herrera5238 ,
Substr() es una función de caracteres realmente útil que puede seleccionar parte de una cadena. Los argumentos de Substr() se muestran en Ayuda > Índice de secuencias de comandos:
Substr(string, start, length)
Entonces, el 1 y el 3 en el ejemplo le dicen a Substr() que tome la cadena y devuelva 3 caracteres comenzando en la primera posición ordinal de la cadena. La razón por la que esto funciona es que el resto de la fórmula que escribí
Format( :Date Time, "Monddyyyy" )
devuelve una versión formateada de la fecha según el formato especificado ("Lunesaaa"). Si usara solo esa función sin Substr(), obtendría filas con valores como: "Jan012018".
Si desea un mes no abreviado, deberá hacer algo diferente. Podríamos empezar con:
Format( :Date Time, "Date Long" )
que devolvería algo como: lunes, 1 de enero de 2018. Dado que Substr() requiere que especifiquemos una posición inicial específica y un número de caracteres, no será muy útil separar esta cadena ya que los días de la semana son diferentes. números de caracteres. ¡Pero tenemos muchas otras funciones de personajes a nuestra disposición! Word() es excelente: devolverá una palabra particular en una cadena basada en algún delimitador (el valor predeterminado es un espacio, pero también podría ser una coma, o tanto una coma como un espacio, que es lo que necesitamos). Sabiendo esto, podríamos utilizar la siguiente fórmula:
Word( 2, Format( :Date Time, "Date Long" ), ", " )
La forma de leer esto es: tome la segunda palabra (esa es la 2) de la columna de fecha y hora formateada (usando Fecha larga) y use como delimitador de las palabras AMBAS una coma y un espacio (observe que entre comillas tengo un coma y luego un espacio; así es como le digo a JMP que use ambos). Esto devolverá "enero" para la primera fila de su conjunto de datos.
Pero tal vez también quieras el año al final, o al comienzo, o algunos personajes intermedios. Podemos hacer todo eso usando el operador de concatenación || o la función Concat(). Por ejemplo, digamos que queremos poner el año al final de la cadena para cada fila. Necesitamos obtener el año de alguna manera (podría ser la función Año() que apunta a :Fecha Hora, o podríamos usar Words() nuevamente, ambas funcionarían). Aquí hay una forma de hacer esto:
Word( 2, Format( :Date Time, "Date Long" ), ", " ) || "-" ||
Char( Year( :Date Time ) )
que regresará "enero-2018". Hay una cosa que hice aquí que quizás no esperes. envolví Año ( :Fecha Hora ) en la función Char(). Esto es importante porque Año ( :Date Time ) devolverá un valor NUMÉRICO del año, y la función Concat() (o su versión de operador en línea ||) requiere argumentos de caracteres. Entonces, agregar un Char() simple alrededor de Year() asegura que Concat() obtenga una representación de caracteres del año con el que trabajar.
Hay muchas cosas que puedes hacer con las funciones de caracteres y te recomiendo que consultes la sección Carácter de la referencia de fórmulas en Ayuda > Índice de secuencias de comandos.
¡Espero que esto ayude!
@Julian
Re: Mes de la fórmula Col()@herrera5238
I fuertemente Le recomendamos que se familiarice con el Índice de secuencias de comandos.
Ayuda==>Índice de secuencias de comandos
Todas las funciones que Julian y/o yo hemos mostrado en esta discusión se enumeran en el Índice, se definen en el Índice y los ejemplos se muestran en el Índice.
Re: Mes de la fórmula Col()Hola @herrera5238 ,
Substr() es una función de caracteres realmente útil que puede seleccionar parte de una cadena. Los argumentos de Substr() se muestran en Ayuda > Índice de secuencias de comandos:
Substr(string, start, length)
Entonces, el 1 y el 3 en el ejemplo le dicen a Substr() que tome la cadena y devuelva 3 caracteres comenzando en la primera posición ordinal de la cadena. La razón por la que esto funciona es que el resto de la fórmula que escribí
Format( :Date Time, "Monddyyyy" )
devuelve una versión formateada de la fecha según el formato especificado ("Lunesaaa"). Si usara solo esa función sin Substr(), obtendría filas con valores como: "Jan012018".
Si desea un mes no abreviado, deberá hacer algo diferente. Podríamos empezar con:
Format( :Date Time, "Date Long" )
que devolvería algo como: lunes, 1 de enero de 2018. Dado que Substr() requiere que especifiquemos una posición inicial específica y un número de caracteres, no será muy útil separar esta cadena ya que los días de la semana son diferentes. números de caracteres. ¡Pero tenemos muchas otras funciones de personajes a nuestra disposición! Word() es excelente: devolverá una palabra particular en una cadena basada en algún delimitador (el valor predeterminado es un espacio, pero también podría ser una coma, o tanto una coma como un espacio, que es lo que necesitamos). Sabiendo esto, podríamos utilizar la siguiente fórmula:
Word( 2, Format( :Date Time, "Date Long" ), ", " )
La forma de leer esto es: tome la segunda palabra (esa es la 2) de la columna de fecha y hora formateada (usando Fecha larga) y use como delimitador de las palabras AMBAS una coma y un espacio (observe que entre comillas tengo un coma y luego un espacio; así es como le digo a JMP que use ambos). Esto devolverá "enero" para la primera fila de su conjunto de datos.
Pero tal vez también quieras el año al final, o al comienzo, o algunos personajes intermedios. Podemos hacer todo eso usando el operador de concatenación || o la función Concat(). Por ejemplo, digamos que queremos poner el año al final de la cadena para cada fila. Necesitamos obtener el año de alguna manera (podría ser la función Año() que apunta a :Fecha Hora, o podríamos usar Words() nuevamente, ambas funcionarían). Aquí hay una forma de hacer esto:
Word( 2, Format( :Date Time, "Date Long" ), ", " ) || "-" ||
Char( Year( :Date Time ) )
que regresará "enero-2018". Hay una cosa que hice aquí que quizás no esperes. envolví Año ( :Fecha Hora ) en la función Char(). Esto es importante porque Año ( :Date Time ) devolverá un valor NUMÉRICO del año, y la función Concat() (o su versión de operador en línea ||) requiere argumentos de caracteres. Entonces, agregar un Char() simple alrededor de Year() asegura que Concat() obtenga una representación de caracteres del año con el que trabajar.
Hay muchas cosas que puedes hacer con las funciones de caracteres y te recomiendo que consultes la sección Carácter de la referencia de fórmulas en Ayuda > Índice de secuencias de comandos.
¡Espero que esto ayude!
@Julian
Re: Mes de la fórmula Col()Julian,
¿Qué hacen el 1 y el 3 por nosotros en esta fórmula?
¿Qué pasa si no lo quiero abreviado o abreviado con el año? es decir, 18 de enero o 18 de enero de 2018.
¿Existe algún lugar donde pueda consultar las opciones de formato disponibles?
Escribir la fórmula, incluido el formato, me ahorrará ese paso adicional de codificación.
¡¡Gracias por el consejo!!
Re: Mes de la fórmula Col()Jim,
Me estaba preparando para decir que todavía no funcionaba y preparé mi captura de pantalla.

Me di cuenta de cuál es el problema. Estaba intentando usar la fórmula en la misma columna a la que hacía referencia.
Lo que debería haber hecho fue crear una nueva columna y agregar la fórmula aquí.
Una vez que hice eso no tuve ningún problema.
Agradezco la ayuda, me siento fatal porque fue algo tan simple que se me pasó por alto.
Re: Mes de la fórmula Col()Gracias por adjuntar un archivo.
No tuve ningún problema en aplicar una fórmula a la tabla de datos que adjuntó.
La fórmula que apliqué es
Month( :Date Time )
Dado que la columna Fecha y hora es una columna de fecha y hora JMP adecuada, sospecho que puede tener un problema de alcance, en el que especifica "Fecha y hora" y no ": Fecha y hora".Colocar dos puntos delante del nombre de la columna, indicando a JMP que use una columna llamada Fecha y hora, y no una variable de memoria llamada Fecha y hora

Re: Mes de la fórmula Col()Hola @herrera5238 ,
En su conjunto de datos, esto pareció funcionar bien para mí usando la siguiente fórmula:
Month( :Date Time )
Además, si va a recodificar para cambiar los números de los meses a abreviaturas de los meses, puede utilizar la siguiente fórmula directamente:
Substr( Format( :Date Time, "Monddyyyy" ), 1, 3 )
Adjunté aquí su tabla de datos de ejemplo con esas fórmulas de columna.
@Julian
Re: Mes de la fórmula Col()Hola Jim,
Adjunto tabla de datos. Ese es otro artículo que encontré en otra publicación. Entonces verifiqué la información de la columna. y dice que el tipo de datos es numérico. Estoy importando estos datos desde Excel pero esto no debería ser un problema, ¿verdad? No recuerdo haber tenido este problema la última vez que lo hice, aunque diría que la última vez trabajé con JMP12 y no con 13.
Re: Mes de la fórmula Col()Supongo que el problema es que la columna a la que hace referencia en la función Mes() no es una fecha JMP o un valor de fecha y hora.¿Podría ser que la columna a la que se hace referencia sea una columna de cadena de caracteres y no una numérica?
Sería útil si pudiera adjuntar una muestra de la tabla de datos en la que está trabajando.