Declare
O comando Declare é usado para criar definições de campo, em que você pode definir as relações entre campos ou funções. Um conjunto de definições de campo pode ser usado para gerar campos derivados automaticamente, o que pode ser usado como dimensões. Por exemplo, é possível criar uma definição de calendário e usá-la para gerar dimensões relacionadas, como ano, mês, semana e dia, a partir de um campo de data.
Você pode usar Declare para definir uma nova definição de campo ou criar uma definição de campo com base em uma definição já existente.
Definindo uma nova definição de campo
Sintaxe:
definition_name:
Declare [Field[s]] Definition [Tagged tag_list ]
[Parameters parameter_list ]
Fields field_list
Argumentos:
Argumento | Descrição |
---|---|
definition_name | Nome da definição de campo, terminado com vírgula. Nota de advertênciaNão use autoCalendar como nome para definições de campo, pois esse nome está reservado para modelos de calendário gerados automaticamente. Exemplo: Calendar: |
tag_list | Uma lista separada por vírgula de tags a serem aplicadas a campos derivados a partir da definição de campo. A aplicação de tags é opcional, mas se você não aplicar as tags usadas para especificar a ordem de classificação, tais como $date, $numeric ou $text, o campo derivado será classificado por ordem de carregamento como padrão. Exemplo: '$date'Thank you for bringing this to our attention, and apologies for the inconvenience. |
parameter_list | Uma lista de parâmetros separada por vírgula. Um parâmetro é definido na forma de name=value e recebe a atribuição de um valor de início, que pode ser ignorado quando uma definição de campo é reutilizada. Opcional. Exemplo: first_month_of_year = 1 |
field_list | Uma lista separada por vírgula de campos a serem gerados quando a definição de campo for usada. Um campo é definido na forma de <expression> As field_name tagged tag. Use $1 para referenciar o campo de dados a partir do qual os campos derivados devem ser gerados. Exemplo: Year($1) As Year tagged ('$numeric') |
Exemplo:
O calendário já está definido e você pode aplicá-lo aos campos de data que tenham sido carregados; nesse caso, OrderDate e ShippingDate, por meio de uma cláusula Derive.
Campos derivados (exemplo completo)
Reutilizando uma definição de campo existente
Sintaxe:
<definition name>:
Declare [Field][s] Definition
Using <existing_definition>
[With <parameter_assignment> ]
Argumentos:
Argumento | Descrição |
---|---|
definition_name | Nome da definição de campo, terminado com vírgula. Exemplo: MyCalendar: |
existing_definition | A definição de campo a ser reutilizada quando se estiver criando a nova definição de campo. A nova definição de campo funcionará da mesma forma que a definição na qual ela se baseia, exceto se você usar parameter_assignment para alterar um valor usado nas expressões de campo. Exemplo: Using Calendar |
parameter_assignment | Uma lista de atribuições de parâmetro separada por vírgula. Uma atribuição de parâmetro é definida na forma de name=value e ignora o valor de parâmetro existente na definição de campo de base. Opcional. Exemplo: first_month_of_year = 4 |
Exemplo:
Nesse exemplo, reutilizamos a definição de calendário criada no exemplo anterior. Nesse caso, queremos usar um ano fiscal que se inicia em abril. Isso é feito atribuindo o valor 4 ao parâmetro first_month_of_year, que afetará o campo DayNumberOfYear que está definido.
O exemplo presume que você tenha usado os dados de amostra e a definição de campo do exemplo anterior.
Quando você tiver recarregado o script de dados, os campos gerados estarão disponíveis no editor de pasta, com o nomes OrderDate.MyCalendar.* e ShippingDate.MyCalendar.*.