CELLGET
Questa funzione restituisce i valori di un cubo in base agli elementi specificati. La funzione può essere utilizzata solo con database conformi a ODBO e XMLA. È simile a una formula ROC, ma con la differenza che è dinamica. In altri termini, non è necessario specificare tutti gli elementi di una dimensione. Per le dimensioni non specificate viene utilizzato l'elemento predefinito.
Questa dinamicità è particolarmente rilevante per i modelli di report. L’autore di un modello può specificare, ad esempio, che gli utenti debbano selezionare una dimensione contenente misure o una dimensione contenente periodi di tempo. Tuttavia, l'autore non può conoscere le dimensioni effettive disponibili all'utente o che verranno selezionate da quest’ultimo. Di conseguenza, le formule inserite dall’autore del modello non devono fare riferimento a dimensioni, gerarchie o elementi specifici. Ogni argomento di una formula CELLGET può essere fornito da una variabile.
L'ordine in cui si specificano le dimensioni non è importante. In una formula CELLGET è infatti possibile fare riferimento a un intervallo di celle anziché fare riferimento a ogni singola cella.
CELLGET supporta la selezione di più elementi da una singola dimensione.
Sintassi
=CELLGET("data_connection", "cube"{,"slice_element"})
Esempio
=CELLGET( "BestPracticesOLAP", "Analysis", "[Period].[All Years].[2017]",
"[Product].[Car Tires All Season]")
È possibile utilizzare CELLGET per fare riferimento a elementi provenienti da più dimensioni, singolarmente o come intervallo. Pertanto, se le celle B4, B5, B6 e B7 contengono ognuna un nome di elemento, questi due esempi generano lo stesso risultato:
=CELLGET("BestPracticesOLAP", "Analysis",B4,B5,B6,B7)
=CELLGET("BestPracticesOLAP","Analysis",B4:B7)
Se si modifica il valore della cella contenente la formula CELLGET, verrà effettuato il writeback del valore nel database.
È possibile utilizzare una formula CELLGET per fare riferimento a una cella all'interno di un iperblocco.
Selezione multipla
CELLGET supporta la selezione multipla. È possibile sostituire uno degli elementi in una formula CELLGET con riferimenti a elementi XML a selezione multipla (MLS-XML) validi, ovvero a celle o variabili contenenti MLS-XML.
In questo esempio, gli elementi 2016 e 2017 vengono memorizzati come MLS-XML in una variabile di report:
=CELLGET("BestPracticesOLAP","ANALYSIS","[CHANNEL].[All Channels]","[MEASURE].[Gross Margin]",
"[POS].[All POS]","[PRODUCT].[All Tires]","[REGION].[All Regions].[Europe]",
ReportVariables.rv_multi.Text,"[VALTYPE].[Variance]")
È anche possibile utilizzare un intervallo per specificare più elementi di una dimensione:
In questo esempio, gli elementi 2016 e 2017 sono specificati in un intervallo.
=CELLGET("BestPracticesOLAP","ANALYSIS","[CHANNEL].[All Channels]","[MEASURE].[Gross Margin]"
,"[POS].[all pos]","[Product].[all tires]","[region].[all regions].[europe]",
"[Period].[all years].[2016]::[period].[all years].[2017]","[valtype].[variance]")
La funzione restituisce la somma dei valori dei singoli elementi.