Utilizzo di OFFSET per fare riferimento a iperblocchi

Questo argomento, in cui viene illustrata la funzione OFFSET, si riferisce al report di esempio RP006 disponibile nell’applicazione di esempio.

La funzione OFFSET non è specifica di Application Studio, ma è particolarmente utile per la gestione degli iperblocchi, in quanto questi ultimi sono dinamici in modalità di visualizzazione. In modalità di progettazione, invece, un iperblocco è statico, ovvero occupa un intervallo specifico di celle. Tuttavia, in modalità di visualizzazione, un iperblocco si espande e si contrae insieme al relativo contenuto, rendendo i riferimenti a celle specifiche privi di significato. Se quindi si dispone, ad esempio, di una formula esterna a un iperblocco che deve fare riferimento alle celle all'interno dell'iperblocco, sarà necessaria una formula dinamica.

Con OFFSET è possibile identificare le celle specificandone la posizione rispetto a una cella di riferimento iniziale. La posizione viene indicata con coordinate che rappresentano la distanza in termini di numero di righe e colonne dalla cella di riferimento iniziale.

In questo esempio viene fatto riferimento alla cella C13:

=OFFSET(F11,2,-3)

In questo caso, la cella F11 è la cella di riferimento iniziale. Il secondo argomento, 2, indica che la cella a cui viene fatto riferimento si trova due righe sotto F11. Il terzo argomento, 3, indica che la cella a cui viene fatto riferimento si trova tre colonne a sinistra di F11.

Anche in questo esempio viene fatto riferimento alla cella C13:

=OFFSET(B21,-8,1)

In questo caso, la cella B21 è la cella di riferimento iniziale. Il secondo argomento, -8, indica che la cella a cui viene fatto riferimento si trova otto righe sopra B21. Il terzo argomento, 1, indica che la cella a cui viene fatto riferimento si trova una colonna a destra di B21.

La funzione OFFSET in Application Studio viene comunemente utilizzata per il calcolo di valori cumulativi da applicare, ad esempio, nei grafici Pareto o per l'Analisi ABC. Per calcolare un valore cumulativo, è necessario sommare il valore della cella corrente a quello della cella soprastante. Tuttavia, nell'ambiente dinamico di un iperblocco la cella soprastante non può essere specificata con un riferimento di cella statico.

Nel report RP006 viene fornito un esempio di come utilizzare OFFSET per il calcolo di valori cumulativi.

Il report RP006 contiene un iperblocco, creato a partire dalla dimensione Product del cubo Analysis dell’applicazione di esempio.

Nell'iperblocco sono presenti due celle valore. Nella prima cella una formula ROC visualizza un valore per ciascun gruppo di prodotti. Nella seconda cella valore è inclusa una formula OFFSET.

In modalità di visualizzazione la cella duplica i valori contenuti nella prima cella valore. Questo perché la formula OFFSET non è corretta.

La formula nella cella E5 è la seguente:

=OFFSET(E5,0,0)+D5

Per modificare la formula OFFSET in modo che vengano visualizzati i valori cumulativi, effettuare le seguenti operazioni:

  1. In modalità di progettazione fare clic sulla cella E5.
  2. Nell'Editor formule modificare il secondo argomento della formula OFFSET da 0 a -1. In altri termini, modificare la formula come segue: =OFFSET(E5,-1,0)+D5. Qui -1 specifica "la riga soprastante".

    In modalità di visualizzazione verranno mostrati i valori cumulativi con l'etichetta "Cumulative". È possibile ottenere lo stesso risultato anche utilizzando una funzione OFFSET nella cella E3 nidificata all'interno di un'istruzione IF.

    L'istruzione IF è la seguente: =IF(OFFSET(E3,3,0)=OFFSET(E3,3,-1),"","Cumulative")

    È noto che i valori nella prima riga dei risultati saranno sempre uguali. Se però vengono visualizzati i valori cumulativi, i valori in tutte le altre righe non saranno uguali. Pertanto, l'istruzione IF consente di verificare se i valori nella riga 2 corrispondono.

    L'istruzione IF può essere interpretata come segue: se il valore della cella che si trova tre righe sotto E3 è uguale al valore presente nella cella che si trova tre righe sotto e una colonna a sinistra di E3, non viene visualizzato alcun dato (""). In caso contrario, viene visualizzato il testo "Cumulative".