La definizione di Dynamic Properties consente la modifica run-time di elementi definitori e proprietà dell'oggetto del Package per il quale sono impostati. In particolare, al momento dell'esecuzione, ogni proprietà impostata design-time viene sovrascritta dalla corrispondente proprietà dinamica, se presente.
Le Dynamic Properties possono espandere considerevolmente le potenzialità di un Package, ma contemporaneamente ne aumentano la complessità. Prima di utilizzarle è necessario aver chiaro il funzionamento degli oggetti su cui si intende applicarle. |
Ogni Dynamic Property viene specificata, mediante un'apposita query, nell'omonimo tab presente in ogni oggetto di un Package, ad esclusione di SytemInfo, Resources, ImageList e Book.
Ogni qualvolta viene specificata una Dynamic Property, l'etichetta dell'omonimo tab si colora di rosso. Si tratta di una funzionalità molto utile, che consente di identificare immediatamente la presenza di Dynamic Properties nella definizione di oggetti del Package. |
Ogni query per la definizione di Dynamic Properties può essere specificata
✓ manualmente, nell'editor di testo del tab Dynamic Property oppure mediante il Query Builder (accessibile con il pulsante Builder );
✓ graficamente, mediante il SQL Visual Editor (accessibile attivando il Visual Mode con il pulsante )
La definizione manuale della query può essere ulteriormente guidata, mediante la generazione di un esempio predefinito che considera tutte le Dynamic Properties impostabili. Tale listato d'esempio viene esposto direttamente nell'editor di testo, premendo il pulsante Sample . I campi di questa query assumono l'ultimo valore impostato per la corrispondente proprietà dell'oggetto oppure il valore di default.
La Sample Query è generata automaticamente, tenendo conto di tutte le property che sono già state impostate all'atto della definizione dell'oggetto. Inoltre, i valori che non possono essere modificato dinamicamente presentano un apposito commento (in sintassi T-Sql) con la dicitura "fixed value". |
ESEMPIO DI UTILIZZO DI DYNAMIC PROPERTIES Supponiamo di voler caricare, tramite un solo Excel Engine, i dati esposti in due diversi fogli di uno stesso file Excel (Sheet1 e Sheet2). Per ottenere tale risultato è possibile impostare dinamicamente il DataRange dell'Excel Engine, mediante Dynamic Properties definite dalla seguente query: SELECT DataRange = 'Sheet1!A1:C10' UNION ALL SELECT DataRange = 'Sheet2!A1:C10' |
Il tab Dynamic Property dispone di utili funzionalità, attivabili mediante i seguenti pulsanti del gruppo Query del tab Home del Ribbon:
✓ Preview , consente di mostrare/nascondere l'anteprima dell'output;
✓ Dynamic Prop. , esegue un'anteprima del listato SQL;
✓ Check , controlla la sintassi del listato SQL;
✓ Show Sql , consente di mostrare/nascondere il listato SQL;
e dagli ulteriori pulsanti del gruppo SQL Test:
✓ Reformat , riformatta il testo della query per rendere il listato SQL più leggibile;
✓ Add Region , aggiunge una region all'interno del listato SQL.
Nel Ribbon, sono inoltre presenti ulteriori pulsanti per indentare, tagliare, copiare, incollare, cancellare e commentare parti del listato SQL.
L'utilizzo delle Dynamic Properties può avere ricadute sull'ottimizzazione automatica del grafo delle dipendenze e quindi sull'efficienza in esecuzione. Infatti le proprietà degli oggetti componenti il grafo non sono predeterminabili, ma definite run-time. |