bagItemColumn

La bagItemColumn permette di valorizzare all’interno di una table un path interno a una Bag. I valori non saranno «copiati», ma verrà utilizzata a tutti gli effetti la Bag garantendo l’integrità dei dati, ma allo stesso tempo la colonna sarà equiparabile nell’utilizzo a una colonna «vera» della table di destinazione.

Suggerimento

La bagItemColumn è particolarmente utile in caso di colonne di tabelle in relazione che vengono utilizzate spesso nelle Operazioni di lettura

Per aggiungere una bagItemColumn all’interno di una table:

class Table(object):
    def config_db(self, pkg):
        tbl.column('personalizzazioni', dtype='X', name_long='Personalizzazioni')
        tbl.column('dettaglio_vendita', dtype='X', name_long='Dettaglio vendita')

        tbl.bagItemColumn('personalizzazione_1',bagcolumn='$personalizzazioni',
                  itempath='#0?_displayedValue',name_long='Personalizzazione 1')

        tbl.bagItemColumn('personalizzazione_2',bagcolumn='$personalizzazioni',
                  itempath='#1',name_long='Personalizzazione 2')

        dt.bagItemColumn('data_arrivo',bagcolumn='$dettaglio_vendita',
                  itempath='data_arrivo',name_long='Data arrivo',dtype='D')

La bagItemColumn è definita da queste componenti:

  • un name, generalmente implicito, analogamente a una colonna «vera»

  • una bagcolumn, ovvero il rimando alla colonna vera di tipo Bag

  • un itempath, che può essere espresso con la chiave (es: data_arrivo) oppure posizionalmente (es: #0)

Suggerimento

Si noti che l”itempath restituisce di default il value, ma è possibile invece riportare un qualsiasi attributo con la consueta sintassi del ? per leggere gli attributi della Bag

Autore della sezione: Davide Paci