Concepto: fórmulas de day(this) y calendarios personalizados
Con la introducción del modelado temporal flexible en la versión 2017.2, el uso de
day(this)
dentro de las fórmulas se interpreta de forma diferente en función de si la instancia tiene un calendario heredado o uno personalizado. Los calendarios heredados son calendarios creados antes de la versión 2017.2 que no se han cambiado en el área Administración de tiempo. Consulte Pasos: cambio de calendarios.La forma más sencilla de determinar si su calendario es heredado es consultar la barra de herramientas de Administración de tiempo. Solo los calendarios heredados tienen los botones de extensión hacia atrás y hacia delante.
Barra de herramientas de Administración de tiempo de calendario heredado | Barra de herramientas de Administración de tiempo de calendario personalizado |
|---|---|
|
|
Los calendarios heredados interpretan
day(this)
funcionan como el número 15.Si cambia su calendario heredado prolongándolo, al cambiar sus etiquetas o añadir o eliminar estratos temporales, se convertirá en un calendario personalizado. Todas las instancias creadas después de la Versión 2017.2 funcionan automáticamente como calendarios personalizados por defecto, aunque sean mensuales. Aunque los calendarios heredados siempre devuelven el número 15 para
day(this),
interpretación de calendarios personalizadosday(this)
como el día entero de la primera fecha del periodo temporal contenedor.day(this) en un Calendario heredado | day(this) en un Calendario personalizado |
|---|---|
|
|
valor devuelto para enero de 2016 = 15 | valor devuelto para enero de 2016 = 1 |
Por ejemplo, en un calendario personalizado configurado con semanas, si la semana 1 de un año comienza el 1 de enero, mediante
day(this)
en la semana 2 devuelve el número 8. El 8 de enero es el primer día de la segunda semana.
Cómo
(this) se interpreta en una comparación dentro de un IF extracto
En el caso de los calendarios heredados, la palabra ((this)
se interpreta en una comparación dentro de un IF
extracto this
) dentro de una fórmula puede representar el día 15 de cualquier mes cuando se utiliza como comparación en un IF
declaraciónEn un calendario personalizado
(this)
representa la fecha inicial de un periodo temporal.Por ejemplo, la fórmula
IF(this>toDate(2016,1,1),1,0)
devolverá un 1 en un calendario heredado que comience en enero de 2016. En un calendario personalizado, la fórmula devuelve un 1 a partir de febrero de 2016.En enero de 2016 de un calendario heredado, (
this)
significa 15-1-2016 y, en un calendario personalizado (this)
significa 1-1-2016.IF(this>toDate(2016,1,1),1,0) | Enero 2016 | Febrero 2016 |
|---|---|---|
Heredado | resultado = 1 | resultado=1 |
Personalizado | resultado=0 | resultado=0 |
Cómo editar day
(this)
Fórmulas de calendarios heredados para su uso en calendarios nuevos
Debe seguir dos pasos para garantizar que las fórmulas produzcan los resultados esperados cuando se usen en calendarios personalizados o instancias creadas después de la Versión 2017.2. day
(this)
Fórmulas de calendarios heredados para su uso en calendarios nuevos- En todas las fórmulas, sustituya todas las instancias deday(this)en un calendario heredado con el número 15.
- Dentro de unIFen un calendario heredado sustituir la palabra(this)contoDate(this.year,this.month,15).