Declare
Instrukcja Declare służy do tworzenia definicji pól, w których można określić relacje między polami a funkcjami. Definicje zestawów pól można wykorzystać do automatycznego generowania pochodnych pól, których można użyć jako wymiarów. Można na przykład utworzyć definicję kalendarza i użyć jej do wygenerowania z pola daty powiązanych wymiarów takich jak rok, miesiąc, tydzień i dzień.
Instrukcji Declare można używać albo do skonfigurowania nowej definicji pola, albo do utworzenia definicji pola na podstawie już istniejącej definicji.
Konfigurowanie nowej definicji pola
Składnia:
definition_name:
Declare [Field[s]] Definition [Tagged tag_list ]
[Parameters parameter_list ]
Fields field_list
Argumenty:
Argument | Opis |
---|---|
definition_name | Nazwa definicji pola, zakończona dwukropkiem. OstrzeżenieJako nazwy definicji pola nie należy używać autoCalendar, gdyż jest to nazwa zarezerwowana dla automatycznie generowanych szablonów kalendarza. Przykład: Calendar: |
tag_list | Rozdzielana przecinkami lista znaczników stosowanych do pól pochodnych tworzonych na podstawie tej definicji pola. Stosowanie znaczników nie jest obowiązkowe, ale jeśli nie zostaną podane znaczniki określające kolejność sortowania, na przykład $date, $numeric lub $text, pole pochodne będzie domyślnie sortowane według kolejności ładowania. Przykład: '$date'Thank you for bringing this to our attention, and apologies for the inconvenience. |
parameter_list | Rozdzielana przecinkami lista parametrów. Parametr ma definicję w postaci name=value i otrzymuje wartość początkową, którą można zastąpić przy ponownym wykorzystaniu definicji pola. Opcjonalnie. Przykład: first_month_of_year = 1 |
field_list | Rozdzielana przecinkami lista pól generowanych, gdy używana jest definicja pola. Definicja pola ma postać <expression> As field_name tagged tag. Symbol $1 umożliwia odwoływanie się do pola danych, z którego mają być generowane pola pochodne. Przykład: Year($1) As Year tagged ('$numeric') |
Przykład:
Kalendarz został zdefiniowany. Teraz można stosować go do załadowanych pól daty, w tym przypadku OrderDate i ShippingDate, używając klauzuli Derive.
Pola pochodne (pełny przykład)
Ponowne używanie istniejącej definicji pola
Składnia:
<definition name>:
Declare [Field][s] Definition
Using <existing_definition>
[With <parameter_assignment> ]
Argumenty:
Argument | Opis |
---|---|
definition_name | Nazwa definicji pola, zakończona dwukropkiem. Przykład: MyCalendar: |
existing_definition | Definicja pola, która zostanie ponownie użyta podczas tworzenia nowej definicji pola. Nowa definicja pola będzie działać analogicznie do definicji, na której jest oparta, chyba że zostanie podany argument parameter_assignment zmieniający wartość używaną w wyrażeniach pola. Przykład: Using Calendar |
parameter_assignment | Rozdzielana przecinkami lista przypisań parametrów. Przypisanie parametru ma postać name=value i powoduje zastąpienie wartości parametru ustawionej w bazowej definicji pola. Opcjonalnie. Przykład: first_month_of_year = 4 |
Przykład:
W tym przykładzie ponownie użyjemy definicji kalendarza utworzonej w poprzednim przykładzie. W tym przypadku chcemy używać roku obrachunkowego zaczynającego się w kwietniu. Można to osiągnąć, przypisując parametrowi first_month_of_year wartość 4, co wpłynie na wartość zdefiniowanego pola DayNumberOfYear.
Posłużymy się tutaj danymi i definicją pola z poprzedniego przykładu.
Po przeładowaniu skryptu ładowania danych pola wygenerowane będą dostępne w edytorze arkusza pod nazwami OrderDate.MyCalendar.* i ShippingDate.MyCalendar.*.