Declare
La sentencia Declare se utiliza para crear definiciones de campos, donde puede definir relaciones entre campos o funciones. Un conjunto de definiciones de campos puede servir para generar automáticamente campos derivados, los cuales se pueden utilizar como dimensiones. Por ejemplo, podemos crear una definición de calendario y utilizarla para generar dimensiones relacionadas, como por ej. año, mes, semana y día, a partir de un campo fecha.
Puede usar Declare para configurar una nueva definición de campo o para crear una definición de campo basada en una definición ya existente.
Configurar una nueva definición de campo
Sintaxis:
definition_name:
Declare [Field[s]] Definition [Tagged tag_list ]
[Parameters parameter_list ]
Fields field_list
Argumentos:
Argumento | Descripción |
---|---|
definition_name |
El nombre de la definición de campo, acabado en dos puntos. Nota de avisoNo utilice autoCalendar como nombre para las definiciones de campo, ya que este nombre se reserva para las plantillas de calendario generadas automáticamente.
Ejemplo: Calendar: |
tag_list |
Una lista de etiquetas separadas por comas para aplicar a campos derivados de la definición de campo. La aplicación de etiquetas es opcional, pero si no aplica etiquetas que se usen para especificar un criterio de ordenación, como $date, $numeric o $text, el campo derivado se ordenará por orden de carga como criterio predeterminado. Ejemplo: '$date'Thank you for bringing this to our attention, and apologies for the inconvenience. |
parameter_list |
Una lista de parámetros separados por comas. Un parámetro se define como name=value y se le asigna un valor de inicio, el cual puede ignorarse cuando se reutiliza una definición de campo. Opcional. Ejemplo: first_month_of_year = 1 |
field_list |
Una lista de campos separados por comas para generar cuando se utilice la definición de campo. Un campo se define en forma de <expression> As field_name tagged tag. Utilice $1 para hacer referencia al campo de datos desde el que se deben generar los campos derivados. Ejemplo: Year($1) As Year tagged ('$numeric') |
Ejemplo:
El calendario ya está definido y puede aplicarlo a los campos de fecha que se han cargado, en este caso OrderDate y ShippingDate, utilizando una cláusula Derive.
Campos derivados (ejemplo completo)
Reutilizar una definición de campo previa
Sintaxis:
<definition name>:
Declare [Field][s] Definition
Using <existing_definition>
[With <parameter_assignment> ]
Argumentos:
Argumento | Descripción |
---|---|
definition_name |
El nombre de la definición de campo, acabado en dos puntos. Ejemplo: MyCalendar: |
existing_definition |
La definición de campo para reutilizar cuando se cree la nueva definición de campo. La nueva definición de campo funcionará de la misma manera que la definición en la que se basa, con la excepción de que si usa parameter_assignment se usará para cambiar un valor empleado en las expresiones de campo. Ejemplo: Using Calendar |
parameter_assignment |
Una lista de asignaciones de parámetros separadas por comas. Una asignación de parámetro se define como name=value e ignora el valor de parámetro establecido en la definición del campo base. Opcional. Ejemplo: first_month_of_year = 4 |
Ejemplo:
En este ejemplo reutilizamos la definición de calendario que se creó en el ejemplo anterior. En este caso deseamos usar un año fiscal que comience en abril. Esto se logra asignando el valor 4 al parámetro first_month_of_year, lo que afectará al campo DayNumberOfYear que se define.
El ejemplo asume que utilizamos los datos de muestra y la definición de campo del ejemplo anterior.
Cuando haya recargado el script de datos, los campos generados estarán disponibles en el editor de hojas, con los nombres OrderDate.MyCalendar.* y ShippingDate.MyCalendar.*.