Cubi Excel Olap. OLAP = Vista multidimensionale = Cubo. Creazione di un cubo di vendita su Internet

I cubi di dati OLAP (Online Analytical Processing) consentono di estrarre e analizzare in modo efficiente dati multidimensionali. A differenza di altri tipi di database, i database OLAP sono progettati specificamente per l'elaborazione analitica e l'estrazione rapida di tutti i tipi di set di dati da essi. In realtà esistono diverse differenze chiave tra i database relazionali standard, come Access o SQL Server, e i database OLAP.

Riso. 1. Per connettere un cubo OLAP a una cartella di lavoro Excel, utilizzare il comando Dai servizi di analisi

Scarica la nota in o

Nei database relazionali, le informazioni sono rappresentate come record che vengono aggiunti, eliminati e aggiornati in sequenza. I database OLAP archiviano solo uno snapshot dei dati. In un database OLAP, le informazioni vengono archiviate come un singolo blocco di dati e sono destinate solo all'output su richiesta. Sebbene sia possibile aggiungere nuove informazioni a un database OLAP, i dati esistenti vengono raramente modificati e ancor meno eliminati.

I database relazionali e i database OLAP sono strutturalmente diversi. I database relazionali sono generalmente costituiti da un insieme di tabelle correlate tra loro. In alcuni casi, un database relazionale contiene così tante tabelle che è molto difficile determinare come sono collegate. Nei database OLAP, le relazioni tra i singoli blocchi di dati sono definite in anticipo e archiviate in una struttura denominata cubi OLAP. I cubi di dati memorizzano informazioni complete sulla struttura gerarchica e sulle relazioni del database, il che semplifica notevolmente la navigazione al suo interno. Inoltre, è molto più semplice creare report se sai in anticipo dove si trovano i dati che stai estraendo e quali altri dati sono ad essi associati.

La differenza principale tra i database relazionali e i database OLAP è il modo in cui vengono archiviate le informazioni. I dati in un cubo OLAP vengono raramente presentati in modo generale. I cubi di dati OLAP contengono in genere informazioni presentate in un formato predefinito. Pertanto, le operazioni di raggruppamento, filtraggio, ordinamento e unione dei dati nei cubi vengono eseguite prima di riempirli di informazioni. Ciò semplifica il più possibile il recupero e la visualizzazione dei dati richiesti. A differenza dei database relazionali, non è necessario organizzare correttamente le informazioni prima di visualizzarle sullo schermo.

I database OLAP vengono generalmente creati e gestiti dagli amministratori IT. Se la tua organizzazione non dispone di una struttura responsabile della gestione dei database OLAP, puoi contattare l'amministratore del database relazionale con una richiesta di implementazione rete aziendale almeno alcune soluzioni OLAP.

Connessione a un cubo dati OLAP

Per accedere a un database OLAP è necessario innanzitutto stabilire una connessione al cubo OLAP. Inizia andando alla scheda Barra multifunzione Dati. Fare clic sul pulsante Da altre fonti e seleziona il comando dal menu a tendina Dai servizi di analisi(Fig. 1).

Quando si seleziona il comando specificato della connessione guidata dati (Fig. 2). Il suo compito principale è aiutarti a stabilire una connessione al server, che verrà utilizzata da Excel durante la gestione dei dati.

1. Per prima cosa devi fornire a Excel le informazioni di registrazione. Immettere il nome del server, il nome di accesso e la password di accesso ai dati nei campi della finestra di dialogo, come mostrato in Fig. 2. Fare clic sul pulsante Ulteriore. Se ti connetti utilizzando account Windows, quindi impostare l'interruttore Utilizza l'autenticazione di Windows.

2. Seleziona il database con cui lavorerai dall'elenco a discesa (Fig. 3). L'esempio corrente usa il database Analysis Services Tutorial. Una volta selezionato questo database, l'elenco seguente richiede di importare tutti i cubi OLAP disponibili in esso. Selezionare il cubo dati richiesto e fare clic sul pulsante Ulteriore.

Riso. 3. Selezionare un database funzionante e Cubo OLAP, che intendi utilizzare per l'analisi dei dati

3. Nella finestra di dialogo successiva della procedura guidata, mostrata in Fig. 4, ti viene richiesto di inserire informazioni descrittive sulla connessione che stai creando. Tutti i campi della finestra di dialogo mostrata in Fig. 4 non è necessario compilare. Puoi sempre ignorare la finestra di dialogo corrente senza compilarla e ciò non influirà in alcun modo sulla tua connessione.

Riso. 4. Modificare le informazioni descrittive della connessione

4. Fare clic sul pulsante Pronto per completare la creazione della connessione. Sullo schermo verrà visualizzata una finestra di dialogo Importa dati(Fig. 5). Imposta l'interruttore Rapporto tabella pivot e fai clic su OK per iniziare a creare la tabella pivot.

Struttura del cubo OLAP

Quando crei una tabella pivot da un database OLAP, noterai che la finestra del riquadro attività Campi della tabella pivot sarà diverso da quello di una normale tabella pivot. Il motivo risiede nella disposizione della tabella pivot in modo da riflettere fedelmente la struttura del cubo OLAP ad essa collegato. Per navigare all'interno di un cubo OLAP il più rapidamente possibile, è necessario acquisire familiarità con i suoi componenti e il modo in cui interagiscono. Nella fig. La Figura 6 mostra la struttura di base di un tipico cubo OLAP.

Come puoi vedere, i componenti principali di un cubo OLAP sono dimensioni, gerarchie, livelli, membri e misure:

  • Dimensioni. Le principali caratteristiche dei dati analizzati. Esempi comuni di dimensioni includono Prodotti, Cliente e Dipendente. Nella fig. La Figura 6 mostra la struttura della dimensione Prodotti.
  • Gerarchie. Un'aggregazione predefinita di livelli in una dimensione specificata. La gerarchia consente di creare dati di riepilogo e analizzarli a diversi livelli della struttura, senza approfondire le relazioni che esistono tra questi livelli. Nell'esempio mostrato in Fig. 6, la dimensione Prodotti ha tre livelli, aggregati in un'unica gerarchia di Categorie di prodotto.
  • Livelli. I livelli sono categorie aggregate in una gerarchia comune. Pensa ai livelli come a campi dati che possono essere interrogati e analizzati separatamente gli uni dagli altri. Nella fig. 6 sono presenti solo tre livelli: Categoria, Sottocategoria e Nome Prodotto.
  • Membri. Un singolo elemento dati all'interno di una dimensione. In genere si accede ai membri tramite una struttura OLAP di dimensioni, gerarchie e livelli. Nell'esempio in Fig. Sono definiti 6 membri per il livello Nome prodotto. Altri livelli hanno i propri membri, che non sono mostrati nella struttura.
  • Le misure- si tratta di dati reali nei cubi OLAP. Le misure vengono archiviate nelle rispettive dimensioni, denominate dimensioni della misura. È possibile eseguire query sulle misure utilizzando qualsiasi combinazione di dimensioni, gerarchie, livelli e membri. Questa procedura è chiamata misure di “slicing”.

Ora che hai familiarità con la struttura dei cubi OLAP, diamo uno sguardo nuovo all'elenco dei campi della tabella pivot. L'organizzazione dei campi disponibili diventa chiara e non causa alcun reclamo. Nella fig. La Figura 7 mostra come l'elenco dei campi rappresenta gli elementi di una tabella pivot OLAP.

Nell'elenco dei campi della tabella pivot Misure OLAP vengono visualizzati per primi e sono indicati dall'icona di sommatoria (sigma). Questi sono gli unici elementi dati che possono trovarsi nella regione VALUE. Dopo di loro nell'elenco sono indicate le dimensioni, indicate da un'icona con l'immagine di una tabella. Il nostro esempio utilizza la dimensione Cliente. Questa dimensione contiene una serie di gerarchie. Una volta espansa la gerarchia, è possibile visualizzare i singoli livelli di dati. Per visualizzare la struttura dei dati di un cubo OLAP è sufficiente navigare nell'elenco dei campi nella tabella pivot.

Limitazioni sulle tabelle pivot OLAP

Quando si utilizzano tabelle pivot OLAP, ricordare che si interagisce con l'origine dati della tabella pivot nell'ambiente OLAP di Analysis Services. Ciò significa che ogni aspetto comportamentale del cubo di dati, dalle dimensioni alle misure incluse nel cubo, è controllato anche dai servizi di analisi OLAP. A sua volta, ciò porta a restrizioni sulle operazioni che possono essere eseguite sulle tabelle pivot OLAP:

  • Non è possibile inserire campi diversi dalle misure nell'area VALORI di una tabella pivot;
  • è impossibile cambiare la funzione utilizzata per il riepilogo;
  • Non è possibile creare un campo calcolato o un elemento calcolato;
  • eventuali modifiche ai nomi dei campi vengono annullate immediatamente dopo la rimozione del campo dalla tabella pivot;
  • Non è consentito modificare i parametri del campo pagina;
  • comando non disponibile Spettacolopagine;
  • opzione disabilitata Spettacolofirmeelementi se non ci sono campi nell'area del valore;
  • opzione disabilitata Subtotali per elementi della pagina selezionati dal filtro;
  • parametro non disponibile Sfondorichiesta;
  • dopo aver fatto doppio clic nel campo VALORI, vengono restituiti solo i primi 1000 record dalla cache della tabella pivot;
  • casella di controllo disabilitata Ottimizzarememoria.

Creazione di cubi dati autonomi

In una tabella pivot standard, i dati di origine vengono archiviati sul disco rigido locale. Potrai quindi sempre gestirli, nonché modificarne la struttura, anche senza accesso alla rete. Ma questo non si applica in alcun modo alle tabelle pivot OLAP. Nelle tabelle pivot OLAP la cache non si trova sul disco rigido locale. Pertanto, immediatamente dopo la disconnessione da rete locale la tua tabella pivot OLAP non funzionerà più. Non sarai in grado di spostare un singolo campo in una tabella di questo tipo.

Se hai comunque bisogno di analizzare i dati OLAP quando non sei connesso a una rete, crea un cubo di dati offline. Questo è un file separato che rappresenta la cache della tabella pivot. Questo file archivia i dati OLAP visualizzati dopo la disconnessione dalla rete locale. Per creare un cubo di dati autonomo, creare prima una tabella pivot OLAP. Posiziona il cursore nella tabella pivot e fai clic sul pulsante Strumenti OLAP scheda contestuale Analisi, inclusa nel set di schede contestuali Lavorare con le tabelle pivot. Seleziona una squadra Modalità OLAP offline(Fig. 8).

Sullo schermo verrà visualizzata una finestra di dialogo Impostazioni durata della batteria OLAP(Fig. 9). Fare clic sul pulsante Crea file di dati offline. Sullo schermo verrà visualizzata la prima finestra della procedura guidata per la creazione del file Data Cube. Fare clic sul pulsante Ulteriore per continuare la procedura.

Nel secondo passaggio (Fig. 10), indicare le dimensioni e i livelli che verranno inclusi nel cubo di dati. Nella finestra di dialogo è necessario selezionare i dati da importare dal database OLAP. È necessario selezionare solo le dimensioni che saranno necessarie dopo aver disconnesso il computer dalla rete locale. Più dimensioni specifichi, più grande sarà il cubo di dati autonomo.

Fare clic sul pulsante Ulteriore per procedere al terzo passaggio (Fig. 11). In questa finestra è necessario selezionare i membri o gli elementi dati che non verranno inclusi nel cubo. Se la casella di controllo non è selezionata, l'elemento specificato non verrà importato e occuperà spazio non necessario sul disco rigido locale.

Specificare la posizione e il nome del cubo di dati (Figura 12). I file del cubo di dati hanno l'estensione .cub.

Dopo un po' di tempo, Excel salverà il cubo di dati offline nella cartella specificata. Per testarlo, fare doppio clic sul file, che genererà automaticamente una lavorazione Cartelle di lavoro di Excel, che contiene una tabella pivot associata al cubo di dati selezionato. Una volta creato, puoi distribuire il cubo di dati offline a tutti gli utenti interessati che lavorano in modalità LAN offline.

Una volta connesso alla rete locale, è possibile aprire il file del cubo di dati offline e aggiornarlo insieme alla tabella dati associata. Tieni presente che, sebbene il cubo di dati offline venga utilizzato quando non è disponibile l'accesso alla rete, è necessario aggiornarlo quando viene ripristinata la connettività di rete. Il tentativo di aggiornare un cubo di dati offline dopo che la connessione di rete è stata persa comporterà un errore.

Utilizzo delle funzioni del cubo di dati nelle tabelle pivot

Le funzioni del cubo di dati utilizzate nei database OLAP possono essere eseguite anche da una tabella pivot. Nelle versioni precedenti di Excel, avevi accesso alla funzionalità del cubo di dati solo dopo aver installato il componente aggiuntivo Analysis Pack. In Excel 2013 queste funzioni sono integrate nel programma e sono quindi disponibili per l'uso. Per comprendere appieno le loro capacità, diamo un'occhiata a un esempio specifico.

Una delle più modi semplici L'apprendimento delle funzioni di un cubo di dati implica la conversione di una tabella pivot OLAP in formule del cubo di dati. Questa procedura è molto semplice e permette di ottenere velocemente le formule dei data cube senza crearle da zero. Il principio chiave è sostituire tutte le celle nella tabella pivot con formule collegate al database OLAP. Nella fig. La Figura 13 mostra una tabella pivot associata a un database OLAP.

Posiziona il cursore in un punto qualsiasi della tabella pivot, fai clic sul pulsante Strumenti OLAP scheda contestuale della barra multifunzione Analisi e seleziona una squadra Convertire in formule(Fig. 14).

Se la tabella pivot contiene un campo filtro report, sullo schermo verrà visualizzata la finestra di dialogo mostrata nella Figura 1. 15. In questa finestra è possibile specificare se si desidera convertire gli elenchi a discesa dei filtri dati in formule. Se la risposta è sì, gli elenchi a discesa verranno rimossi e verranno invece visualizzate le formule statiche. Se prevedi di utilizzare elenchi a discesa in futuro per modificare il contenuto della tabella pivot, deseleziona l'unica casella di controllo nella finestra di dialogo. Se lavori su una tabella pivot in modalità compatibilità, i filtri dei dati verranno convertiti automaticamente in formule, senza preavviso.

Dopo pochi secondi, invece di una tabella pivot, verranno visualizzate le formule che vengono eseguite in cubi di dati e forniscono l'output delle informazioni necessarie nella finestra di Excel. Tieni presente che questo rimuove gli stili applicati in precedenza (Fig. 16).

Riso. 16. Dai un'occhiata alla barra della formula: le celle contengono le formule del cubo di dati

Dato che i valori che stai visualizzando non fanno più parte dell'oggetto tabella pivot, puoi aggiungere colonne, righe e membri calcolati e combinarli con altri fonti esterne e modifica anche il rapporto con il massimo diversi modi, incluso il trascinamento delle formule.

Aggiunta di calcoli alle tabelle pivot OLAP

IN versione precedente Le tabelle pivot OLAP di Excel non consentivano calcoli personalizzati. Ciò significa che non è stato possibile aggiungere un ulteriore livello di analisi alle tabelle pivot OLAP nello stesso modo in cui è possibile aggiungere campi e membri calcolati alle tabelle pivot regolari (per ulteriori informazioni, assicurati di avere familiarità con questo materiale prima di continuare lettura ).

Excel 2013 introduce nuovi strumenti OLAP: misure calcolate e membri calcolati delle espressioni MDX. Non sei più limitato a utilizzare le misure e i membri nel tuo cubo OLAP forniti dal tuo DBA. Ottieni ulteriori funzionalità di analisi creando calcoli personalizzati.

Introduzione all'MDX. Quando si utilizza una tabella pivot con un cubo OLAP, si inviano query MDX (espressioni multidimensionali) al database. MDX è un linguaggio di query utilizzato per recuperare dati da origini multidimensionali (come i cubi OLAP). Quando una tabella pivot OLAP viene modificata o aggiornata, le query MDX corrispondenti vengono inviate al database OLAP. I risultati della query vengono restituiti a Excel e visualizzati nell'area della tabella pivot. Ciò rende possibile lavorare con i dati OLAP senza una copia locale della cache della tabella pivot.

Quando si creano misure calcolate e membri MDX, si utilizza la sintassi del linguaggio MDX. Utilizzando questa sintassi, una tabella pivot consente ai calcoli di interagire con il backend del database OLAP. Gli esempi discussi nel libro si basano su progetti MDX di base che dimostrano novità Funzioni di Excel 2013. Se è necessario creare misure calcolate complesse e membri MDX, sarà necessario dedicare del tempo a saperne di più sulle funzionalità di MDX.

Creare misure calcolate. Una misura calcolata è la versione OLAP di un campo calcolato. L'idea è quella di creare un nuovo campo dati basato su alcune operazioni matematiche eseguite su campi OLAP esistenti. Nell'esempio mostrato in Fig. 17, viene utilizzata una tabella riepilogativa OLAP, che comprende l'elenco e la quantità dei beni, nonché i ricavi derivanti dalla vendita di ciascuno di essi. Dobbiamo aggiungere una nuova misura che calcolerà il prezzo medio per unità di un articolo.

Analisi Lavorare con le tabelle pivot. Nel menu a discesa Strumenti OLAP scegliere oggetto (Fig. 18).

Riso. 18. Selezionare una voce di menu Misura calcolata MDX

Sullo schermo verrà visualizzata una finestra di dialogo Creare una misura calcolata(Fig. 19).

Segui questi passi:

2. Selezionare il gruppo di misure in cui verrà posizionata la nuova misura calcolata. In caso contrario, Excel inserirà automaticamente la nuova misura nel primo gruppo di misure disponibile.

3. Sul campo Espressione MDX(MDX) Immettere il codice che specifica la nuova misura. Per accelerare il processo di immissione, utilizzare l'elenco a sinistra per selezionare le misure esistenti da utilizzare nei calcoli. Fare doppio clic sulla misura desiderata per aggiungerla al campo MDX. Per calcolare il prezzo di vendita unitario medio viene utilizzato il seguente MDX:

4. Fare clic su OK.

Presta attenzione al pulsante Controlla MDX, che si trova nella parte inferiore destra della finestra. Fare clic su questo pulsante per verificare che la sintassi MDX sia corretta. Se la sintassi contiene errori, viene visualizzato un messaggio.

Una volta terminata la creazione della nuova misura calcolata, vai all'elenco Campi della tabella pivot e selezionarlo (Fig. 20).

L'ambito di una misura calcolata si applica solo alla cartella di lavoro corrente. In altre parole, le misure calcolate non vengono create direttamente nel cubo del server OLAP. Ciò significa che nessuno potrà accedere alla misura calcolata a meno che tu non apra accesso generale alla cartella di lavoro altrimenti non la pubblicherai su Internet.

Creare membri MDX calcolati. Un membro calcolato MDX è la versione OLAP di un membro calcolato normale. L'idea è quella di creare un nuovo elemento dati basato su alcune operazioni matematiche eseguite su elementi OLAP esistenti. Nell'esempio mostrato in Fig. 22, viene utilizzata una tabella pivot OLAP che include informazioni sulle vendite per il periodo 2005-2008 (con una ripartizione trimestrale). Supponiamo che tu voglia aggregare i dati per il primo e il secondo trimestre creando un nuovo elemento, Primo semestre. Uniremo anche i dati relativi al terzo e al quarto trimestre, formando un nuovo elemento Secondo dell'anno.

Riso. 22. Aggiungeremo nuovi membri calcolati MDX, Primo semestre e Secondo semestre

Posiziona il cursore in un punto qualsiasi della tabella pivot e seleziona la scheda contestuale Analisi da una serie di schede contestuali Lavorare con le tabelle pivot. Nel menu a discesa Strumenti OLAP scegliere oggetto Membro calcolato MDX(Fig. 23).

Sullo schermo verrà visualizzata una finestra di dialogo (Fig. 24).

Riso. 24. Finestra Creazione di un elemento calcolato

Segui questi passi:

1. Assegnare un nome alla misura calcolata.

2. Selezionare la gerarchia principale per la quale si stanno creando nuovi membri calcolati. In un cantiere edile Elemento principale assegnare un valore Tutto. Questa impostazione consente a Excel di accedere a tutti i membri della gerarchia principale durante la valutazione di un'espressione.

3. Nella finestra Espressione MDX Immettere la sintassi MDX. Per risparmiare tempo, utilizza l'elenco a sinistra per selezionare i membri esistenti da utilizzare nell'MDX. Fare doppio clic sull'elemento selezionato ed Excel lo aggiungerà alla finestra Espressione MDX. Nell'esempio mostrato in Fig. 24, la somma del primo e del secondo trimestre si calcola:

..&& +

.. && +

.. && + …

4. Fare clic su OK. Excel visualizza il membro calcolato MDX appena creato nella tabella pivot. Come mostrato nella Fig. 25, il nuovo elemento calcolato viene visualizzato insieme agli altri elementi calcolati nella tabella pivot.

Nella fig. La Figura 26 illustra un processo simile utilizzato per creare l'elemento calcolato della seconda metà dell'anno.

Si noti che Excel non tenta nemmeno di rimuovere i membri MDX originali (Figura 27). La tabella pivot continua a mostrare i record corrispondenti agli anni 2005-2008, suddivisi per trimestre. In questo caso non è un grosso problema, ma nella maggior parte degli scenari dovresti nascondere gli elementi “extra” per evitare conflitti.

Riso. 27. Excel visualizza il membro calcolato MDX creato come membri originali. Ma è comunque meglio eliminare gli elementi originali per evitare conflitti

Ricorda: i membri calcolati si trovano solo nella cartella di lavoro corrente. In altre parole, le misure calcolate non vengono create direttamente nel cubo del server OLAP. Ciò significa che nessuno potrà accedere alla misura calcolata o al membro calcolato a meno che non si condivida la cartella di lavoro o la si pubblichi online.

Si noti che se la gerarchia principale o l'elemento principale in un cubo OLAP cambia, l'elemento calcolato MDX non funziona più. Dovrai ricreare questo elemento.

Gestione dei calcoli OLAP. Excel fornisce un'interfaccia che consente di gestire le misure calcolate e i membri MDX nelle tabelle pivot OLAP. Posiziona il cursore in un punto qualsiasi della tabella pivot e seleziona la scheda contestuale Analisi da una serie di schede contestuali Lavorare con le tabelle pivot. Nel menu a discesa Strumenti OLAP scegliere oggetto Gestione del calcolo. Nella finestra Gestione del calcolo Sono disponibili tre pulsanti (Fig. 28):

  • Creare. Creare una nuova misura calcolata o un membro MDX calcolato.
  • Modifica. Modifica il calcolo selezionato.
  • Eliminare. Elimina il calcolo selezionato.

Riso. 28. Finestra di dialogo Gestione del calcolo

Esegui analisi what-if sui dati OLAP. In Excel 2013 è possibile eseguire analisi di simulazione sui dati nelle tabelle pivot OLAP. Grazie a questo nuova opportunità Puoi modificare i valori in una tabella pivot e ricalcolare misure e membri in base alle modifiche. È inoltre possibile propagare nuovamente le modifiche al cubo OLAP. Per sfruttare le funzionalità di analisi what-if, creare una tabella pivot OLAP e selezionare la scheda contestuale Analisi Lavorare con le tabelle pivot. Nel menu a discesa Strumenti OLAP selezionare squadra Analisi "what-if". –> Abilita l'analisi what-if(Fig. 29).

Da questo punto in poi potrai modificare i valori della tabella pivot. Per modificare il valore selezionato nella tabella pivot, fare clic con il tasto destro su di esso e selezionare l'elemento dal menu contestuale (Fig. 30). Excel eseguirà nuovamente tutti i calcoli nella tabella pivot con le modifiche apportate, incluse le misure calcolate e i membri MDX calcolati.

Riso. 30. Selezionare un elemento Prendi in considerazione la modifica quando calcoli la tabella pivot per apportare modifiche alla tabella pivot

Per impostazione predefinita, le modifiche apportate a una tabella pivot in modalità di analisi what-if sono locali. Se desideri propagare le modifiche al server OLAP, seleziona il comando per pubblicare le modifiche. Seleziona una scheda contestuale Analisi, situato in una serie di schede contestuali Lavorare con le tabelle pivot. Nel menu a discesa Strumenti OLAP selezionare gli elementi Analisi "what-if". – > Pubblica modifiche(Fig. 31). Come risultato dell'esecuzione di questo comando, " rispondere» sul server OLAP, il che significa che le modifiche possono essere propagate al cubo OLAP di origine. (Per propagare le modifiche al server OLAP, è necessario disporre delle autorizzazioni appropriate per accedere al server. Contattare l'amministratore del database per ottenere informazioni sulle autorizzazioni di accesso in scrittura al database OLAP.)

La nota è stata scritta sulla base del libro di Jelen, Alexander. . Capitolo 9

/ In stile cubista. Applicazione dei cubi OLAP nella pratica gestionale delle grandi aziende


In contatto con

Compagne di classe

Konstantin Tokmachev, architetto di sistema

In stile cubista.
Applicazione dei cubi OLAP nella pratica gestionale delle grandi aziende

Forse è passato il tempo in cui le risorse informatiche di un'azienda venivano spese solo per la registrazione di informazioni e resoconti contabili. Allo stesso tempo, le decisioni gestionali venivano prese “a occhio” negli uffici, in riunioni e riunioni. Forse in Russia è giunto il momento di riportare i sistemi informatici aziendali alla loro risorsa principale, risolvendo i problemi di gestione sulla base dei dati registrati nel computer

Informazioni sui vantaggi dell'analisi aziendale

Nel ciclo di gestione aziendale, tra i dati "grezzi" e le "leve" per influenzare l'oggetto gestito, ci sono "indicatori di prestazione" - KPI. Formano una sorta di "cruscotto" che riflette lo stato di vari sottosistemi dell'oggetto controllato. Dotare l'azienda di indicatori informativi di performance e monitorarne il calcolo e i valori ottenuti è il lavoro di un analista aziendale. I servizi di analisi automatizzata, come l’utility MS SQL Server Analysis Services (SSAS) e il suo strumento principale, il cubo OLAP, possono fornire un’assistenza significativa nell’organizzazione del lavoro analitico dell’azienda.

Qui occorre sottolineare ancora un punto. Diciamo che, nella tradizione americana, una specialità focalizzata sul lavoro con i cubi OLAP si chiama BI (Business Intelligence). Non bisogna illudersi che il BI americano corrisponda all’“analista aziendale” russo. Senza offesa, ma spesso il nostro analista aziendale è un “sottocontabile” e un “sottoprogrammatore”, uno specialista con conoscenze vaghe e un piccolo stipendio, che in realtà non possiede nessuno dei suoi strumenti e della sua metodologia.

Uno specialista in BI è, infatti, un matematico applicato, uno specialista altamente qualificato che inserisce nell'arsenale dell'azienda moderni metodi matematici (quella che veniva chiamata ricerca operativa - metodi di ricerca operativa). La BI è più coerente con la specialità dell '"analista di sistema" che una volta era in URSS, laureata presso la Facoltà di Matematica Computazionale e Matematica dell'Università Statale di Mosca. M.V. Lomonosov. Il cubo OLAP e i servizi di analisi possono diventare una base promettente per il posto di lavoro di un analista aziendale russo, magari dopo una formazione avanzata nella direzione della BI americana.

Recentemente è emersa un’altra tendenza dannosa. Grazie alla specializzazione è andata perduta la comprensione reciproca tra le diverse categorie di dipendenti dell'azienda. Ragioniere, manager e programmatore, come “un cigno, un gambero e un luccio” nella favola di I.A. Krylov, stanno spingendo la società in direzioni diverse.

Il contabile è impegnato con la rendicontazione; i suoi importi, sia nel significato che nella dinamica, non sono direttamente correlati al processo aziendale dell'azienda.

Il manager è impegnato con la sua parte del processo aziendale, ma non è in grado di valutare globalmente, a livello dell'azienda nel suo complesso, i risultati e le prospettive delle sue azioni.

Infine, il programmatore, che un tempo (grazie alla sua educazione) era un conduttore di idee tecniche avanzate dalla sfera della scienza a quella degli affari, si è trasformato in un esecutore passivo delle fantasie del contabile e del manager, quindi non è non è più raro che i dipartimenti IT delle aziende siano guidati da contabili e, in generale, da tutti coloro che non sono pigri. Una mancanza di iniziativa, un programmatore 1C analfabeta, ma relativamente ben pagato è un vero flagello per le società russe. (Quasi come un calciatore nazionale.) Non sto nemmeno parlando dei cosiddetti “economisti e avvocati”, di loro si è detto tutto già da molto tempo.

Pertanto, la posizione di un analista aziendale, dotato di un apparato SSAS ad alta intensità di conoscenza, esperto nelle basi della programmazione e della contabilità, è in grado di consolidare il lavoro dell'azienda in relazione all'analisi e alla previsione del processo aziendale.

Vantaggi dei cubi OLAP

Il cubo OLAP è rimedio moderno analisi del database del sistema informatico aziendale, che consente di fornire ai dipendenti di tutti i livelli della gerarchia il necessario insieme di indicatori che caratterizzano processo di fabbricazione aziende. Il punto non è solo che la comoda interfaccia e il linguaggio di query flessibile del cubo MDX (MultiDimensional eXpressions) consentono di formulare e calcolare gli indicatori analitici necessari, ma anche la notevole velocità e facilità con cui il cubo OLAP lo fa. Inoltre, questa velocità e facilità, entro certi limiti, non dipendono dalla complessità dei calcoli e dalle dimensioni del database.

Qualche introduzione a OLAP-
il cubo può essere dato da una “tabella pivot” di MS Excel. Questi oggetti hanno logica simile e interfacce simili. Ma, come si vedrà dall'articolo, la funzionalità OLAP è incomparabilmente più ricca e le prestazioni sono incomparabilmente più elevate, quindi la "tabella pivot" rimane un prodotto desktop locale, mentre OLAP è un prodotto di livello aziendale.

Perché il cubo OLAP è così efficace da risolvere compiti analitici? Il cubo OLAP è progettato in modo tale che tutti gli indicatori in tutte le possibili sezioni siano precalcolati (in tutto o in parte) e l'utente possa solo "estrarre" gli indicatori (misure) e le dimensioni (dimensioni) richiesti con il mouse e il programma può ridisegnare le tabelle.

Tutte le possibili analisi in tutte le sezioni formano un campo enorme, o meglio, non un campo, ma solo un cubo OLAP multidimensionale. Qualunque sia la richiesta che l'utente (manager, analista aziendale, dirigente) rivolge al servizio di analisi, la velocità di risposta è spiegata da due cose: in primo luogo, le analisi richieste possono essere facilmente formulate (selezionate da un elenco per nome o specificate da un formula nel linguaggio MDX ), in secondo luogo, di regola, è già stato calcolato.

La formulazione dell'analisi è possibile in tre opzioni: si tratta di un campo di database (o meglio, di un campo di magazzino), oppure di un campo di calcolo definito a livello di progettazione del cubo, oppure di un'espressione del linguaggio MDX quando si lavora in modo interattivo con il cubo.

Ciò significa diverse caratteristiche interessanti dei cubi OLAP. In sostanza, la barriera tra l’utente e i dati scompare. La barriera è rappresentata dal programmatore dell'applicazione che, in primo luogo, deve spiegare il problema (impostare un'attività). In secondo luogo, dovrai attendere che il programmatore dell'applicazione crei un algoritmo, scriva ed effettui il debug del programma, quindi eventualmente lo modifichi. Se i dipendenti sono numerosi e le loro esigenze sono varie e mutevoli, è necessario un intero team di programmatori di applicazioni. In questo senso, un cubo OLAP (e un analista aziendale qualificato) sostituisce un'intera squadra di programmatori di applicazioni in termini di lavoro analitico, proprio come un potente escavatore con un operatore dell'escavatore sostituisce un'intera squadra di lavoratori migranti con pale quando scavano un fossato!

Allo stesso tempo, viene raggiunta un'altra qualità molto importante dei dati analitici ottenuti. Poiché esiste un solo cubo OLAP per l'intera azienda, ovvero Questo è lo stesso campo con gli analisti per tutti, il che elimina fastidiose discrepanze nei dati. Quando un manager deve chiedere lo stesso compito a più dipendenti indipendenti per eliminare il fattore soggettività, ma questi portano comunque risposte diverse, che ognuno si impegna a spiegare in qualche modo, ecc. Il cubo OLAP garantisce l'uniformità dei dati analitici a diversi livelli della gerarchia aziendale, ad es. se un manager vuole dettagliare un certo indicatore di suo interesse, arriverà sicuramente ai dati di livello inferiore con cui lavora il suo subordinato, e questi saranno proprio i dati sulla base dei quali è stato calcolato l'indicatore di livello superiore , e non qualche altro dato, ricevuto in qualche altro modo, in qualche altro momento, ecc. Cioè, l’intera azienda vede le stesse analisi, ma a diversi livelli di aggregazione.

Facciamo un esempio. Diciamo che un manager controlla la contabilità clienti. Finché il KPI dei crediti scaduti è verde significa che tutto è normale e non sono necessarie azioni di gestione. Se il colore è cambiato in giallo o rosso, qualcosa non va: tagliamo i KPI per reparti commerciali e vediamo subito i reparti “in rosso”. Viene identificata la sezione successiva dei gestori e del venditore i cui clienti sono in ritardo con i pagamenti. (Inoltre, l'importo scaduto può essere diviso per clienti, termini, ecc.) Il capo dell'azienda può contattare direttamente i trasgressori a qualsiasi livello. Ma in generale, lo stesso KPI (ai livelli gerarchici) è visto sia dai capi reparto che dai responsabili delle vendite. Pertanto, per correggere la situazione, non hanno nemmeno bisogno di aspettare una "chiamata sul tappeto"... Naturalmente, il KPI stesso non deve necessariamente essere l'importo dei pagamenti scaduti, può essere il periodo medio ponderato degli scaduti o, in generale, il tasso di rotazione dei crediti.

Notiamo che la complessità e la flessibilità del linguaggio MDX, insieme ai risultati rapidi (a volte istantanei), ci consentono di risolvere (tenendo conto delle fasi di sviluppo e debug) compiti di controllo complessi che altrimenti non sarebbero stati affatto posti. a causa della complessità per i programmatori dell'applicazione e dell'incertezza iniziale nella formulazione. (Scadenze lunghe per i programmatori di applicazioni per risolvere problemi analitici a causa di formulazioni poco comprese e lunghe modifiche dei programmi quando le condizioni cambiano spesso nella pratica.)

Prestiamo attenzione anche al fatto che ogni dipendente dell'azienda può raccogliere dal campo generale dell'analista OLAP esattamente il raccolto di cui ha bisogno per il suo lavoro, e non accontentarsi della “striscia” che gli viene ritagliata in comune. “rapporti standard”.

L'interfaccia multiutente per lavorare con un cubo OLAP in modalità client-server consente a ciascun dipendente, indipendentemente dagli altri, di avere i propri blocchi analitici (report) (anche realizzati da sé con una certa abilità), che, una volta definiti, vengono automaticamente aggiornato - in altre parole, sono sempre aggiornati.

Cioè, il cubo OLAP consente di rendere il lavoro analitico (che in realtà viene svolto non solo dagli analisti della reception, ma, di fatto, da quasi tutti i dipendenti dell'azienda, anche dai logisti e dai manager che controllano i saldi e le spedizioni) più selettivo, “non in termini generali”, che crea le condizioni per migliorare il lavoro e aumentare la produttività.

Per riassumere la nostra introduzione, notiamo che l'utilizzo dei cubi OLAP può elevare la gestione di un'azienda ad un livello superiore. L'uniformità dei dati analitici a tutti i livelli della gerarchia, la loro affidabilità, complessità, facilità di creazione e modifica degli indicatori, impostazioni individuali, alta velocità di elaborazione dei dati e, infine, risparmio di denaro e tempo spesi per supportare percorsi analitici alternativi (programmatori di applicazioni, calcoli indipendenti dei dipendenti) aprono prospettive per l'uso dei cubi OLAP nella pratica delle grandi aziende russe.

OLTP + OLAP: schema feedback nella catena di gestione aziendale

Consideriamo ora l'idea generale dei cubi OLAP e il loro punto di applicazione nella catena di gestione aziendale. Il termine OLAP (OnLine Analytical Processing) è stato introdotto dal matematico britannico Edgar Codd in aggiunta al termine precedentemente introdotto OLTP (OnLine Transactions Processing). Questo verrà discusso più avanti, ma E. Codd, ovviamente, ha proposto non solo i termini, ma anche le teorie matematiche di OLTP e OLAP. Senza entrare nei dettagli, nell'interpretazione moderna, OLTP è un database relazionale, considerato come un meccanismo per registrare, archiviare e recuperare informazioni.

Metodologia della soluzione

I sistemi ERP (Enterprice Resource Planning), come 1C7, 1C8, MS Dynamics AX, dispongono di interfacce software orientate all'utente (immissione e modifica di documenti, ecc.) e di un database relazionale (DB) per l'archiviazione e il recupero delle informazioni, rappresentato oggi da software prodotti come MS SQL Server (SS).

Tieni presente che le informazioni registrate nel database del sistema ERP sono davvero una risorsa molto preziosa. Il punto non è solo che le informazioni registrate garantiscono il flusso di documenti corrente della società (estrazione di documenti, modifica degli stessi, possibilità di stampa e riconciliazione, ecc.) e non solo la capacità di calcolare rendiconti finanziari (tasse, audit, ecc. ). Dal punto di vista gestionale, è molto più importante che il sistema OLTP (database relazionale) sia, di fatto, un vero e proprio modello digitale a grandezza naturale delle attività dell’azienda.

Ma per gestire il processo non è sufficiente registrare le informazioni a riguardo. Il processo dovrebbe essere presentato sotto forma di un sistema di indicatori numerici (KPI) che ne caratterizzino il progresso. Inoltre, è necessario definire intervalli di valori accettabili per gli indicatori. E solo se il valore dell'indicatore non rientra nell'intervallo consentito, dovrebbe seguire un'azione di controllo.

Riguardo a questa logica (o mitologia) del controllo (“controllo per deviazione”), sia l’antico filosofo greco Platone, che creò l’immagine del timoniere (cybernose), che si appoggia al remo quando la barca devia dalla rotta, sia il Il matematico americano Norbert Wiener, che creò la scienza della cibernetica alla vigilia dell'era dei computer.

Oltre al consueto sistema di registrazione delle informazioni utilizzando il metodo OLTP, è necessario un altro sistema: un sistema per analizzare le informazioni raccolte. Questo add-on, che nel loop di controllo svolge il ruolo di feedback tra il management e l'oggetto di controllo, è un sistema OLAP o, in breve, un cubo OLAP.

Come implementazione software di OLAP, considereremo l'utilità MS Analysis Services, che fa parte della fornitura standard di MS SQL Server, abbreviata SSAS. Si noti che, secondo il piano di E. Codd, il cubo OLAP nell'analisi dovrebbe offrire la stessa ampia libertà di azione che il sistema OLTP e il database relazionale (SQL Server) forniscono nell'archiviazione e nel recupero delle informazioni.

Logistica OLAP

Ora diamo un'occhiata alla configurazione specifica dispositivi esterni, programmi applicativi e operazioni tecnologiche su cui si basa il funzionamento automatizzato del cubo OLAP.

Supponiamo che l'azienda utilizzi un sistema ERP, ad esempio 1C7 o 1C8, all'interno del quale le informazioni vengono registrate come al solito. Il database di questo sistema ERP si trova su un determinato server ed è supportato da MS SQL Server.

Partiremo inoltre dal presupposto che su un altro server sia installato del software, incluso MS SQL Server con l'utilità MS Analysis Services (SSAS), nonché MS SQL Server Management Studio, MS C#, MS Excel e MS Visual Studio. Questi programmi insieme costituiscono il contesto richiesto: gli strumenti e le interfacce necessarie per lo sviluppatore di cubi OLAP.

Il server SSAS ha un programma distribuito gratuitamente chiamato blat, chiamato (con parametri) da riga di comando e fornire il servizio postale.

Sulle postazioni di lavoro dei dipendenti all'interno della rete locale, tra le altre cose, vengono installati i programmi MS Excel (versioni almeno 2003) ed eventualmente un driver speciale per garantire che MS Excel funzioni con MS Analysis Services (a meno che il driver corrispondente non sia già incluso in MS Excel).

Per chiarezza, supporremo che un sistema operativo sia installato sulle postazioni di lavoro dei dipendenti. Sistema Windows XP e sui server - WindowsServer 2008. Inoltre, è possibile utilizzare MS SQL Server 2005 come SQL Server, con Enterprise Edition (EE) o Developer Edition (DE) installato sul server con il cubo OLAP. In queste edizioni è possibile utilizzare il cosiddetto. “misure semiadditive”, ovvero aggiuntivo funzioni aggregate(statistiche) diverse dalle somme ordinarie (ad esempio, estreme o medie).

Progettazione del cubo OLAP (cubismo OLAP)

Diciamo alcune parole sulla progettazione del cubo OLAP stesso. Nel linguaggio statistico, un cubo OLAP è un insieme di indicatori di prestazione calcolati in tutte le sezioni necessarie, ad esempio l'indicatore di spedizione nelle sezioni per cliente, per merce, per data, ecc. A causa della traduzione diretta dall'inglese nella letteratura russa sui cubi OLAP, gli indicatori sono chiamati "misure" e le sezioni sono chiamate "dimensioni". Questa è una traduzione matematicamente corretta, ma sintatticamente e semanticamente non molto riuscita. Le parole russe "misura", "dimensione", "dimensione" sono quasi le stesse nel significato e nell'ortografia, mentre le parole inglesi "misura" e "dimensione" sono diverse sia nell'ortografia che nel significato. Pertanto, diamo la preferenza ai tradizionali termini statistici russi “indicatore” e “taglio”, che hanno un significato simile.

Esistono diverse opzioni per l'implementazione software di un cubo OLAP in relazione al sistema OLTP in cui vengono registrati i dati. Considereremo solo uno schema, il più semplice, affidabile e veloce.

In questa progettazione, OLAP e OLTP non condividono tabelle e le analisi OLAP vengono calcolate nel modo più dettagliato possibile durante la fase di aggiornamento del cubo (processo), che precede la fase di utilizzo. Questo schema si chiama MOLAP (Multidimensional OLAP). I suoi svantaggi sono l'asincronia con l'ERP e gli elevati costi di memoria.

Sebbene formalmente un cubo OLAP possa essere costruito utilizzando tutte (migliaia) le tabelle del database relazionale del sistema ERP come origine dati e tutti (centinaia) i loro campi come indicatori o sezioni, in realtà ciò non dovrebbe essere fatto. Viceversa. Per caricare in un cubo, è più corretto preparare un database separato, chiamato “vetrina” o “magazzino”.

Diverse ragioni ci costringono a farlo.

  • in primo luogo, Collegare un cubo OLAP alle tabelle di un database reale creerà sicuramente problemi tecnici. La modifica dei dati in una tabella può attivare un aggiornamento del cubo e l'aggiornamento di un cubo non è necessariamente un processo veloce, quindi il cubo sarà in uno stato di ricostruzione costante; Allo stesso tempo, la procedura di aggiornamento del cubo può bloccare (in fase di lettura) i dati delle tabelle del database, rallentando il lavoro degli utenti nella registrazione dei dati nel sistema ERP.
  • In secondo luogo, Avere troppi indicatori e tagli aumenterà notevolmente l'area di archiviazione del cubo sul server. Non dimentichiamo che il cubo OLAP memorizza non solo i dati di origine, come nel sistema OLTP, ma anche tutti gli indicatori riepilogati su tutte le possibili sezioni (e anche tutte le combinazioni di tutte le sezioni). Inoltre, la velocità di aggiornamento del cubo e, in definitiva, la velocità di creazione e aggiornamento delle analisi e dei report utente basati su di essi rallenteranno di conseguenza.
  • Terzo, troppi campi (indicatori e sezioni) creeranno problemi nell'interfaccia dello sviluppatore OLAP, perché le liste degli elementi diventeranno immense.
  • In quarto luogo, Il cubo OLAP è molto sensibile alle violazioni dell'integrità dei dati. Non è possibile creare il cubo se i dati chiave non si trovano nel collegamento specificato nella struttura delle connessioni dei campi del cubo. Violazioni temporanee o permanenti dell'integrità, campi vuoti sono comuni in un database di sistema ERP, ma questo non è assolutamente adatto per OLAP.

È inoltre possibile aggiungere che il sistema ERP e il cubo OLAP dovrebbero trovarsi su server diversi per condividere il carico. Ma poi, se esistono tabelle comuni per OLAP e OLTP, si pone anche il problema del traffico di rete. Problemi praticamente irrisolvibili sorgono in questo caso quando è necessario consolidare diversi sistemi ERP disparati (1C7, 1C8, MS Dynamics AX) in un cubo OLAP.

Probabilmente potremo continuare ad accumulare problemi tecnici. Ma soprattutto, ricorda che, a differenza di OLTP, OLAP non è un mezzo per registrare e archiviare dati, ma uno strumento di analisi. Ciò significa che non è necessario caricare e scaricare dati “sporchi” dall’ERP all’OLAP “per ogni evenienza”. Al contrario, è necessario prima sviluppare un concetto di gestione dell'azienda, almeno a livello di sistema KPI, e poi progettare un data warehouse applicativo (warehouse), situato sullo stesso server del cubo OLAP, e contenente un piccolo , raffinata quantità di dati da ERP necessari per la gestione.

Senza promuovere cattive abitudini, il cubo OLAP nei confronti dell’OLTP può essere paragonato al noto “still”, attraverso il quale si estrae un “prodotto puro” dalla “massa fermentata” della registrazione reale.

Quindi, abbiamo capito che l'origine dati per OLAP è un database speciale (magazzino), situato sullo stesso server di OLAP. Generalmente questo significa due cose. Innanzitutto, devono esserci procedure speciali che creeranno un magazzino dai database ERP. In secondo luogo, il cubo OLAP è asincrono con i suoi sistemi ERP.

Tenendo conto di quanto sopra, proponiamo la seguente versione dell'architettura del processo di calcolo.

Architettura della soluzione

Supponiamo che ci siano molti sistemi ERP di una determinata società (holding) situati su server diversi, i dati analitici per i quali vorremmo vedere consolidati in un cubo OLAP. Sottolineiamo che nella tecnologia descritta combiniamo i dati dei sistemi ERP a livello di magazzino, lasciando invariato il design del cubo OLAP.

Sul server OLAP creiamo immagini (copie vuote) dei database di tutti questi sistemi ERP. Periodicamente (ogni notte) eseguiamo la replica parziale dei corrispondenti database ERP attivi su queste copie vuote.

Successivamente, viene avviato SP (stored procedure), che, sullo stesso server OLAP senza traffico di rete, basato su repliche parziali dei database del sistema ERP, crea (o riempie) un magazzino (magazzino), l'origine dati del cubo OLAP.

Successivamente viene avviata la procedura standard per l'aggiornamento/creazione di un cubo basato sui dati del magazzino (operazione di processo nell'interfaccia SSAS).

Commentiamo alcuni aspetti della tecnologia. Che tipo di lavoro svolgono gli SP?

Come risultato della replica parziale, i dati attuali vengono visualizzati nell'immagine di alcuni sistemi ERP sul server OLAP. A proposito, la replica parziale può essere eseguita in due modi.

Innanzitutto, da tutte le tabelle del database del sistema ERP, durante la replica parziale, vengono copiate solo quelle necessarie per costruire un magazzino. Questo è controllato da un elenco fisso di nomi di tabelle.

In secondo luogo, la replica parziale può anche significare che non vengono copiati tutti i campi della tabella, ma solo quelli coinvolti nella costruzione del magazzino. L'elenco dei campi da copiare viene specificato o creato dinamicamente in SP nell'immagine della copia (se non tutti i campi sono inizialmente presenti nella copia della tabella).

Naturalmente è possibile non copiare intere righe della tabella, ma solo aggiungere nuovi record. Tuttavia, ciò crea seri inconvenienti quando si tiene conto delle revisioni ERP “retroattivamente”, come spesso accade nei sistemi reali. Quindi è più semplice, senza ulteriori indugi, copiare tutti i record (o aggiornare la “coda” a partire da una certa data).

Successivamente, il compito principale di SP è convertire i dati del sistema ERP nel formato di magazzino. Se esiste un solo sistema ERP, il compito della conversione si riduce principalmente alla copia ed eventualmente alla riformattazione dei dati necessari. Ma se è necessario consolidare più sistemi ERP di strutture diverse nello stesso cubo OLAP, le trasformazioni diventano più complicate.

Il compito di unire più sistemi ERP diversi in un cubo è particolarmente difficile se gli insiemi dei loro oggetti (elenchi di merci, appaltatori, magazzini, ecc.) si sovrappongono parzialmente, gli oggetti hanno lo stesso significato, ma sono naturalmente descritti in modo diverso nelle directory di sistemi diversi (nel senso di codici, identificatori, nomi, ecc.).

In realtà, un quadro del genere si presenta in una grande holding, quando molte delle società autonome dello stesso tipo che la compongono svolgono approssimativamente gli stessi tipi di attività approssimativamente nello stesso territorio, ma utilizzano sistemi di registrazione propri e non concordati. In questo caso, quando si consolidano i dati a livello di magazzino, non è possibile fare a meno delle tabelle di mappatura ausiliarie.

Prestiamo attenzione all'architettura di stoccaggio del magazzino. Tipicamente, uno schema di cubo OLAP è rappresentato sotto forma di una "stella", cioè come una tabella di dati circondata da "raggi" di directory - tabelle di valori di chiave secondaria. Una tabella è un blocco di “indicatori”; i libri di consultazione sono le loro sezioni. In questo caso, la directory, a sua volta, può essere un albero sbilanciato arbitrario o una gerarchia equilibrata, ad esempio una classificazione multilivello di merci o appaltatori. In un cubo OLAP, i campi numerici di una tabella dati di un magazzino diventano automaticamente "indicatori" (o misure) e le sezioni (o dimensioni) possono essere definite utilizzando tabelle di chiavi secondarie.

Questa è una descrizione visiva “pedagogica”. In effetti, l'architettura di un cubo OLAP può essere molto più complessa.

Innanzitutto un magazzino può essere composto da più “stelle”, eventualmente collegate tramite directory comuni. In questo caso, il cubo OLAP sarà l'unione di più cubi (diversi blocchi di dati).

In secondo luogo, il "raggio" di un asterisco può non essere solo una directory, ma un intero file system (gerarchico).

In terzo luogo, sulla base delle sezioni dimensionali esistenti, è possibile definire nuove sezioni gerarchiche utilizzando gli strumenti dell'interfaccia sviluppatore OLAP (ad esempio, con meno livelli, con un diverso ordine di livelli, ecc.)

In quarto luogo, sulla base degli indicatori e delle sezioni esistenti, utilizzando le espressioni del linguaggio MDX, è possibile definire nuovi indicatori (calcoli). È importante notare che nuovi cubi, nuovi indicatori, nuove sezioni vengono automaticamente completamente integrati con gli elementi originali. Va inoltre notato che calcoli mal formulati e sezioni gerarchiche possono rallentare notevolmente il funzionamento di un cubo OLAP.

MS Excel come interfaccia con OLAP

Di particolare interesse è l'interfaccia utente con i cubi OLAP. Naturalmente, l'interfaccia più completa è fornita dall'utilità SSAS stessa. Ciò include un toolkit per sviluppatori di cubi OLAP, un progettista di report interattivo e una finestra lavoro interattivo con un cubo OLAP utilizzando query MDX.

Oltre allo stesso SSAS, esistono molti programmi che forniscono un'interfaccia a OLAP, coprendone le funzionalità in misura maggiore o minore. Ma tra questi ce n'è uno che, a nostro avviso, presenta innegabili vantaggi. Questo è MS Excel.

L'interfaccia con MS Excel è fornita da un apposito driver, scaricabile separatamente o incluso nella distribuzione Excel. Non copre tutte le funzionalità di OLAP, ma con l'aumento dei numeri di versione di MS Excel, questa copertura sta diventando più ampia (ad esempio, una rappresentazione grafica dei KPI appare in MS Excel 2007, cosa che non era il caso in MS Excel 2003, eccetera.).

Naturalmente, oltre alla sua funzionalità abbastanza completa, il vantaggio principale di MS Excel è la distribuzione capillare di questo programma e la stretta familiarità con esso da parte della stragrande maggioranza degli utenti di Office. In questo senso, a differenza di altri programmi di interfaccia, l'azienda non ha bisogno di acquistare nulla in più e non ha bisogno di formare ulteriormente nessuno.

Il grande vantaggio di MS Excel come interfaccia con OLAP è la capacità di elaborare ulteriormente in modo indipendente i dati ottenuti nel report OLAP (ovvero continuare a studiare i dati ottenuti da OLAP su altri fogli dello stesso Excel, non più utilizzando gli strumenti OLAP, ma utilizzando i normali strumenti di Excel).

Ciclo di trattamenti notturni Facubi

Ora descriveremo il ciclo computazionale giornaliero (notturno) dell'operazione OLAP. Il calcolo viene effettuato sotto il controllo del programma facubi, scritto in C# 2005 e lanciato tramite Task Scheduler su un server con warehouse e SSAS. All'inizio facubi va su Internet e legge i tassi di cambio attuali (utilizzati per rappresentare una serie di indicatori in una valuta). Successivamente, eseguire i seguenti passaggi.

Innanzitutto facubi lancia SP che eseguono la replica parziale dei database di vari sistemi ERP (elementi di contenimento) disponibili sulla rete locale. La replica viene eseguita, come abbiamo detto, su "sfondi" pre-preparati: immagini di sistemi ERP remoti situati sul server SSAS.

In secondo luogo, tramite SP, viene eseguita una mappatura dalle repliche ERP allo storage del magazzino, un DB speciale, che è l'origine dei dati del cubo OLAP e si trova sul server SSAS. In questo caso, vengono risolti tre compiti principali:

  • Dati ERP adattato ai formati cubo richiesti; stiamo parlando sia sulle tabelle che sui campi della tabella. (A volte la tabella richiesta deve essere "creata", ad esempio, da diversi fogli MS Excel.) Dati simili possono avere formati diversi in diversi ERP, ad esempio, i campi ID chiave nelle directory 1C7 hanno un codice di caratteri di 36 cifre di lunghezza 8 , e campi _idrref nelle directory 1С8 – numeri esadecimali di lunghezza 32;
  • durante la lavorazione viene effettuato il controllo logico dei dati (compresa la scrittura di "default" al posto dei dati mancanti, ove possibile) e il controllo dell'integrità, ovvero verificare la presenza delle chiavi primarie e secondarie nei corrispondenti classificatori;
  • consolidamento del codice oggetti che hanno lo stesso significato in diversi ERP. Ad esempio, gli elementi corrispondenti di directory di diversi ERP possono avere lo stesso significato, ad esempio sono la stessa controparte. Il problema del consolidamento dei codici viene risolto costruendo tabelle di mappatura, dove vari codici gli stessi oggetti sono portati all'unità.

In terzo luogo, i lanci di facubi procedura standard aggiornamento dei dati del cubo di elaborazione (dalle procedure dell'utilità SSAS).

Sulla base delle liste di controllo, facubi invia e-mail sullo stato di avanzamento delle fasi di elaborazione.

Dopo aver eseguito facubi, l'Utilità di pianificazione avvia a turno diversi file Excel, in cui i report vengono precreati in base agli indicatori del cubo OLAP. Come abbiamo detto, MS Excel ha una particolarità interfaccia software(driver scaricabile separatamente o integrato) per lavorare con i cubi OLAP (con SSAS). Quando si avvia MS Excel, vengono attivati ​​i programmi MS VBA (come le macro), che garantiscono l'aggiornamento dei dati nei report; i report vengono modificati se necessario e inviati via mail (programma blat) agli utenti secondo checklist.

Gli utenti della rete locale con accesso al server SSAS riceveranno report “in tempo reale” configurati per il cubo OLAP. (In linea di principio, loro stessi, senza posta, possono aggiornare i report OLAP in MS Excel che si trovano sul loro file computer locali.) Gli utenti al di fuori della rete locale riceveranno report originali, ma con funzionalità limitate, oppure per loro (dopo aver aggiornato i report OLAP in MS Excel) verranno calcolati report speciali "morti" che non accedono al server SSAS.

Valutazione dei risultati

Abbiamo parlato in precedenza dell'asincronia tra OLTP e OLAP. Nella variante tecnologica in esame, il ciclo di aggiornamento del cubo OLAP viene eseguito di notte (ad esempio inizia all'1 di notte). Ciò significa che nella giornata lavorativa corrente gli utenti lavorano con i dati di ieri. Poiché OLAP non è uno strumento di registrazione (guarda l'ultima revisione del documento), ma uno strumento di gestione (comprendi l'andamento del processo), tale ritardo solitamente non è critico. Tuttavia, se necessario, anche nella versione descritta dell'architettura cubica (MOLAP), l'aggiornamento può essere effettuato più volte al giorno.

Il tempo di esecuzione delle procedure di aggiornamento dipende dalle caratteristiche di progettazione del cubo OLAP (più o meno complessità, definizioni più o meno riuscite di indicatori e sezioni) e dal volume dei database dei sistemi OLTP esterni. Secondo l'esperienza, la procedura di costruzione del magazzino dura da alcuni minuti a due ore, la procedura di aggiornamento del cubo (Processo) dura da 1 a 20 minuti. Stiamo parlando di cubi OLAP complessi che uniscono dozzine di strutture a stella, dozzine di "raggi" comuni (sezioni di riferimento) per loro e centinaia di indicatori. Stimando il volume dei database dei sistemi ERP esterni basati sui documenti di spedizione, parliamo di centinaia di migliaia di documenti e, di conseguenza, di milioni di linee di prodotti all'anno. La profondità di elaborazione storica di interesse per l'utente era compresa tra tre e cinque anni.

La tecnologia descritta è utilizzata in numerosi grandi aziende: dal 2008 nella Russian Fish Company (RRK) e nella Russian Sea company (RM), dal 2012 nella compagnia Santa Bremor (SB). Alcune società sono principalmente società commerciali e di acquisto (PPC), altre sono società di produzione (impianti di lavorazione del pesce e dei frutti di mare nella Repubblica di Moldavia e nella Repubblica di Bielorussia). Tutte le società sono grandi holding, che uniscono diverse società con sistemi contabili informatici indipendenti e vari, che vanno dai sistemi ERP standard come 1C7 e 1C8 ai sistemi contabili "reliquia" basati su DBF ed Excel. Aggiungerò che la tecnologia descritta per il funzionamento dei cubi OLAP (senza tener conto della fase di sviluppo) non richiede affatto dipendenti speciali o è responsabilità di un analista aziendale a tempo pieno. Il problema circola da anni Modalità automatica, fornendo quotidianamente alle diverse categorie di dipendenti aziendali una reportistica aggiornata.

Pro e contro della soluzione

L'esperienza dimostra che la soluzione proposta è abbastanza affidabile e facile da usare. È facilmente modificabile (connessione/disconnessione di nuovi ERP, creazione di nuovi indicatori e sezioni, creazione e modifica di report Excel e relative mailing list) con invarianza programma di controllo facubi.

MS Excel come interfaccia con OLAP offre sufficiente espressività e consente a diverse categorie di impiegati di familiarizzare rapidamente con la tecnologia OLAP. L'utente riceve report OLAP “standard” giornalieri; utilizzando l'interfaccia MS Excel con OLAP, è possibile creare in modo indipendente report OLAP in MS Excel. Inoltre, l'utente può continuare in modo indipendente a studiare le informazioni dei report OLAP utilizzando le consuete funzionalità del suo MS Excel.

Il “raffinato” database di magazzino, in cui vengono consolidati più sistemi ERP eterogenei (in fase di costruzione del cubo), anche senza alcun OLAP consente di risolvere (sul server SSAS, utilizzando il metodo di query nel linguaggio Transa SQL o il metodo SP, ecc.) molti problemi di controllo applicati. Ricordiamo che la struttura del database di magazzino è unificata e molto più semplice (in termini di numero di tabelle e numero di campi della tabella) rispetto alle strutture di database dell'ERP originale.

Notiamo in particolare che nella nostra soluzione proposta esiste la possibilità di consolidare diversi sistemi ERP in un cubo OLAP. Ciò consente di ottenere analisi per l'intera azienda e mantenere la continuità a lungo termine nelle analisi quando una società passa a un altro sistema ERP contabile, ad esempio quando passa da 1C7 a 1C8.

Abbiamo utilizzato il modello del cubo MOLAP. I vantaggi di questo modello sono l'affidabilità operativa e l'elevata velocità di elaborazione delle richieste degli utenti. Svantaggi: OLAP e OLTP sono asincroni, così come grandi quantità di memoria per l'archiviazione di OLAP.

In conclusione, ecco un altro argomento a favore dell’OLAP che avrebbe potuto essere più appropriato nel Medioevo. Perché il suo potere probatorio si basa sull'autorità. Un matematico britannico modesto e chiaramente sottovalutato, E. Codd, sviluppò la teoria dei database relazionali alla fine degli anni '60. La forza di questa teoria era tale che ora, dopo 50 anni, è già difficile trovare un database non relazionale e un linguaggio di interrogazione del database diverso da SQL.

La tecnologia OLTP, basata sulla teoria dei database relazionali, è stata la prima idea di E. Codd. In effetti, il concetto dei cubi OLAP è la sua seconda idea, espressa da lui all'inizio degli anni '90. Anche senza essere un matematico, puoi aspettarti che la seconda idea sarà efficace quanto la prima. In termini di analisi informatica, le idee OLAP presto conquisteranno il mondo e sostituiranno tutte le altre. Semplicemente perché il tema dell’analisi trova nell’OLAP la sua completa soluzione matematica, e questa soluzione è “adeguata” (termine di B. Spinoza) al problema pratico dell’analisi. “Adeguatamente” significa in Spinoza che Dio stesso non avrebbe potuto pensare a niente di meglio...

  1. Larson B. Sviluppo di analisi aziendali in Microsoft SQL Server 2005. – San Pietroburgo: “Peter”, 2008.
  2. Codd E. Completezza relazionale dei sottolinguaggi dei database, sistemi di database, Courant Computer Science Sumposia Series 1972, v. 6, scogliere di Englwood, N.Y., Prentice – Hall.

In contatto con

I dati sono solitamente scarsi e archiviati a lungo termine. Può essere implementato sulla base di DBMS relazionali universali o di software specializzati (vedi anche OLAP). IN prodotti software La società SAP utilizza il termine “infocubo”.

Gli indici dell'array corrispondono alle dimensioni (dimensioni) o agli assi del cubo e i valori degli elementi dell'array corrispondono alle misure (misure) del cubo.

w : (X,,z) → W x y Z,

Dove X, , z- misurazioni, w- misurare.

A differenza di un normale array in un linguaggio di programmazione, l'accesso agli elementi di un cubo OLAP può essere effettuato dall'intero set di dimensioni dell'indice o dal loro sottoinsieme, e quindi il risultato non sarà un elemento, ma molti di essi.

W : (X,) → W = ( w z1, wz2, …, w zn}

Nota anche la descrizione Cubo OLAP utilizzando la terminologia dell'algebra relazionale come proiezione di relazioni.

Guarda anche


Fondazione Wikimedia. 2010.

  • Diagramma stellare
  • La nostra casa è la Russia (fazione)

Scopri cos'è un "cubo OLAP" in altri dizionari:

    Cubo OLAP- ...Wikipedia

    OLAP- (Ing. elaborazione analitica online, elaborazione analitica in tempo reale) tecnologia di elaborazione dei dati, che consiste nella preparazione di informazioni sintetiche (aggregate) basate su grandi quantità di dati, strutturate da ... ... Wikipedia

    Cubo (disambiguazione)- Cubo è un termine con più valori: In matematica In stereometria, un cubo è un poliedro regolare esagonale In algebra, la terza potenza di un numero Film Serie di film di fantascienza: “Cubo” “Cubo 2: Ipercubo” “Cubo Zero” Slang e gergo medico... ... Wikipedia

    Cubo- Questo termine ha altri significati, vedi Cubo (significati). Tipo di cubo Poliedro regolare Faccia quadrata ... Wikipedia

    Mondrian- Tipo di server OLAP Server OLAP Sviluppatore Pentaho sistema operativo multipiattaforma Software Ultima versione 3.4.1 (2012 05 07) Software con licenza libera ... Wikipedia - Sistema di analisi delle informazioni sistema automatizzato consentire agli esperti di analizzare rapidamente grandi volumi di dati è, di norma, uno degli elementi dei centri situazionali. Inoltre, a volte l'IAS include un sistema di raccolta... ... Wikipedia

Nell’ambito di questo lavoro verranno presi in considerazione i seguenti temi:

  • Cosa sono i cubi OLAP?
  • Cosa sono le misure, le dimensioni, le gerarchie?
  • Quali tipi di operazioni possono essere eseguite sui cubi OLAP?
Il concetto di cubo OLAP

Il postulato principale di OLAP è la multidimensionalità nella presentazione dei dati. Nella terminologia OLAP, il concetto di cubo, o ipercubo, viene utilizzato per descrivere uno spazio dati discreto multidimensionale.

Cuboè una struttura dati multidimensionale da cui un utente-analista può interrogare informazioni. I cubi vengono creati da fatti e dimensioni.

Dati- si tratta di dati su oggetti ed eventi aziendali che saranno soggetti ad analisi. Fatti dello stesso tipo costituiscono misure. Una misura è il tipo di valore in una cella cubica.

Misure- questi sono i dati in base ai quali vengono analizzati i fatti. Una raccolta di tali elementi costituisce un attributo di dimensione (ad esempio, i giorni della settimana possono formare un attributo di dimensione temporale). Nelle attività di analisi aziendale per le imprese commerciali, le dimensioni spesso includono categorie come “tempo”, “vendite”, “prodotti”, “clienti”, “dipendenti”, “ubicazione geografica”. Le misurazioni sono più spesso strutture gerarchiche, che sono categorie logiche in base alle quali l'utente può analizzare i dati effettivi. Ciascuna gerarchia può avere uno o più livelli. Pertanto, la gerarchia della dimensione “localizzazione geografica” può includere i livelli: “paese - regione - città”. Nella gerarchia temporale possiamo distinguere, ad esempio, la seguente sequenza di livelli: Una dimensione può avere più gerarchie (ogni gerarchia di una dimensione deve avere lo stesso attributo chiave della tabella delle dimensioni).

Un cubo può contenere dati effettivi da una o più tabelle dei fatti e molto spesso contiene più dimensioni. Ogni dato cubo di solito ha un focus specifico per l'analisi.

La Figura 1 mostra un esempio di cubo progettato per analizzare le vendite di prodotti petroliferi da parte di una determinata azienda per regione. Questo cubo ha tre dimensioni (tempo, prodotto e regione) e una misura (volume delle vendite espresso in termini monetari). I valori delle misure vengono memorizzati nelle celle corrispondenti del cubo. Ogni cella è identificata in modo univoco da un insieme di membri di ciascuna dimensione, chiamato tupla. Ad esempio, la cella situata nell'angolo inferiore sinistro del cubo (contiene il valore $98399) è specificata dalla tupla [luglio 2005, Estremo Oriente, Diesel]. Qui il valore di $ 98.399 mostra il volume delle vendite (in termini monetari) di diesel in Estremo Oriente per luglio 2005.

Vale anche la pena notare che alcune celle non contengono alcun valore: queste celle sono vuote perché la tabella dei fatti non contiene dati per esse.

Riso. 1. Cubo con informazioni sulle vendite di prodotti petroliferi nelle varie regioni

L'obiettivo finale della creazione di tali cubi è ridurre al minimo il tempo di elaborazione delle query che estraggono le informazioni richieste dai dati effettivi. Per eseguire questa attività, i cubi in genere contengono totali precalcolati chiamati aggregazioni(aggregazioni). Quelli. il cubo copre uno spazio dati più grande di quello reale: contiene punti logici e calcolati. Le funzioni di aggregazione consentono di calcolare i valori dei punti nello spazio logico in base ai valori effettivi. Le funzioni di aggregazione più semplici sono SUM, MAX, MIN, COUNT. Quindi, ad esempio, utilizzando la funzione MAX, per il cubo riportato nell'esempio, è possibile individuare quando si è verificato il picco delle vendite di gasolio in Estremo Oriente, ecc.

Un'altra caratteristica specifica dei cubi multidimensionali è la difficoltà di determinarne l'origine. Ad esempio, come si imposta il punto 0 per la dimensione Prodotto o Regioni? La soluzione a questo problema è introdurre un attributo speciale che combini tutti gli elementi della dimensione. Questo attributo (creato automaticamente) contiene un solo elemento: Tutti. Per funzioni di aggregazione semplici come sum, l'elemento All equivale alla somma dei valori di tutti gli elementi nello spazio reale di una determinata dimensione.

Un concetto importante in un modello di dati multidimensionale è il sottospazio, o sottocubo. Un sottocubo è una parte dell'intero spazio di un cubo sotto forma di una figura multidimensionale all'interno del cubo. Poiché lo spazio multidimensionale di un cubo è discreto e limitato, anche il sottocubo è discreto e limitato.

Operazioni sui cubi OLAP

Su un cubo OLAP è possibile eseguire le seguenti operazioni:

  • fetta;
  • rotazione;
  • consolidamento;
  • dettagli.
Fetta(Figura 2) è un caso speciale di sottocubo. Questa è una procedura per formare un sottoinsieme di un array di dati multidimensionale corrispondente a un singolo valore di uno o più elementi di dimensione non inclusi in questo sottoinsieme. Ad esempio, per scoprire come sono andate nel tempo le vendite di prodotti petroliferi solo in una determinata regione, precisamente negli Urali, è necessario fissare la dimensione “Prodotti” sull’elemento “Ural” ed estrarre il corrispondente sottoinsieme (sottocubo) dal cubo.
  • Riso. 2. Fetta del cubo OLAP

    Rotazione(Figura 3) - l'operazione di modifica della posizione delle misurazioni presentate in un report o nella pagina visualizzata. Ad esempio, un'operazione di rotazione può comportare la riorganizzazione delle righe e delle colonne di una tabella. Inoltre, la rotazione di un cubo di dati sposta le dimensioni fuori tabella in posizione con le dimensioni presenti nella pagina visualizzata e viceversa.

    OLAP (elaborazione analitica in linea)è un metodo di elaborazione elettronica dei dati analitici che rappresenta l'organizzazione dei dati in categorie gerarchiche utilizzando totali precalcolati. I dati OLAP sono organizzati gerarchicamente e vengono archiviati in cubi anziché in tabelle. I cubi OLAP sono un set di dati multidimensionale con assi contenenti parametri e celle contenenti dati aggregati dipendenti dai parametri. I cubi sono progettati per analisi multidimensionali complesse di grandi volumi di dati poiché forniscono solo risultati di riepilogo per il reporting, invece di un gran numero di record individuali.

    Il concetto di OLAP è stato descritto nel 1993 dal famoso ricercatore di database e autore del modello di dati relazionali E. F. Codd. Attualmente, il supporto OLAP è implementato in molti DBMS e altri strumenti.

    Un cubo OLAP contiene due tipi di dati:

    · valori totali, valori per i quali si vuole riassumere, che rappresentano campi dati calcolati;

    · informazioni descrittive che rappresentano misurazioni O dimensioni. Le informazioni descrittive sono generalmente organizzate in livelli di dettaglio. Ad esempio: “Anno”, “Trimestre”, “Mese” e “Giorno” nella dimensione “Tempo”. L'organizzazione dei campi in livelli di dettaglio consente agli utenti del reporting di scegliere il livello di dettaglio che desiderano visualizzare, iniziando con dati di riepilogo di alto livello per poi arrivare a una visualizzazione più dettagliata e viceversa.

    Gli strumenti di Microsoft Query consentono inoltre di creare cubi OLAP da una query che carica dati di database relazionali, ad esempio accesso Microsoft, in questo caso la tavola lineare si trasforma in una gerarchia strutturale (cubo).

    La Creazione guidata cubo OLAP è uno strumento Microsoft Query integrato. Per creare un cubo OLAP basato su un database relazionale, è necessario completare i seguenti passaggi prima di eseguire la procedura guidata.

    1. Determinare l'origine dati (vedere Figura 6.1).

    2. Utilizzando Microsoft Query, creare una query, includendo solo i campi che saranno campi dati o campi dimensione di un cubo OLAP; se un campo in un cubo viene utilizzato più di una volta, è necessario includere nella query i dati richiesti numero di volte.

    3. Nell'ultimo passaggio della procedura guidata di creazione della query, impostare l'interruttore sull'elemento Creazione di un cubo OLAP da di questa richiesta (vedi Fig. 6.2) o dopo aver creato la richiesta utilizzando direttamente il menu Interrogazione File seleziona una squadra Crea un cubo OLAP, dopodiché verrà avviata la Creazione guidata cubo OLAP.

    La creazione guidata del cubo OLAP è composta da tre passaggi.

    Nel primo passo della procedura guidata (vedi Fig. 6.6) il campi dati– campi calcolati per i quali è necessario determinare i valori totali.



    Riso. 6.6. Definizione dei campi dati

    La procedura guidata inserisce i campi calcolati previsti (solitamente campi numerici) in cima all'elenco, li controlla e determina la funzione risultante di questi campi, solitamente: Somma. Quando si selezionano i campi dati, almeno un campo deve essere selezionato come campo calcolato e almeno un campo deve essere lasciato deselezionato per determinare la dimensione.

    Quando crei un cubo OLAP, puoi utilizzare quattro funzioni di riepilogo − Somma, Numero(numero di valori), Minimo, Massimo per campi numerici e una funzione Numero per tutti gli altri campi. Se si desidera utilizzare diverse funzioni di riepilogo dello stesso campo, tale campo deve essere incluso nella query il numero di volte richiesto.

    Il nome di un campo calcolato può essere modificato in una colonna Nome del campo dati.

    Nella seconda fase della procedura guidata vengono determinati i dati descrittivi e le loro dimensioni (vedere Fig. 6.7). Per selezionare un campo di misurazione, è necessario dall'elenco Campi di origine trascinare il campo della dimensione desiderata livello superiore alla lista Misure all'area contrassegnata come Trascina i campi qui per creare dimensioni. Per creare un cubo OLAP, è necessario definire almeno una dimensione. Nello stesso passaggio della procedura guidata, utilizzando menù contestualeÈ possibile modificare il nome di una dimensione o di un campo livello.

    Riso. 6.7. Definizione dei campi dimensione

    I campi che contengono dati isolati o discreti e non appartengono a una gerarchia possono essere definiti come dimensioni a livello singolo. Tuttavia, il cubo risulterà più efficiente se alcuni campi saranno organizzati in livelli. Per creare un livello come parte di una dimensione, trascina un campo dall'elenco Campi di origine su un campo che è una dimensione o un livello. I campi contenenti informazioni più dettagliate dovrebbero essere posizionati ai livelli inferiori. Ad esempio, nella Figura 6.7 il campo Titolo di lavoroè il livello del campo Nome Dipartimento.

    Per spostare un campo a un livello inferiore o superiore, è necessario trascinarlo in un campo inferiore o superiore all'interno della dimensione. Per visualizzare o nascondere i livelli, utilizzare rispettivamente i pulsanti o .

    Se si utilizzano campi data o ora come dimensione di primo livello, la Creazione guidata cubo OLAP crea automaticamente livelli per tali dimensioni. L'utente può quindi selezionare quali livelli devono apparire nei report. Ad esempio, è possibile selezionare settimane, trimestri e anni oppure mesi (vedere Figura 6.7).

    Ricorda che la procedura guidata crea automaticamente livelli per i campi data e ora solo quando crei una dimensione di primo livello; Quando si aggiungono questi campi come sottolivelli di una dimensione, i livelli automatici non vengono creati.

    Nella terza fase della procedura guidata, viene determinato il tipo di cubo creato dalla procedura guidata, con tre opzioni possibili (vedere Fig. 6.8).

    Riso. 6.8. Selezione del tipo di cubo da creare al terzo passo della procedura guidata

    · Le prime due opzioni prevedono la creazione di un cubo ogni volta che si apre un report (se il cubo viene visualizzato da Excel, allora parliamo di una tabella pivot). In questo caso, il file di richiesta e il file definizioni del cubo *.oqy, che contiene le istruzioni per creare un cubo. Il file *.oqy può essere aperto in Programma Excel per creare report basati sul cubo e, se è necessario apportare modifiche al cubo, è possibile aprire Query per eseguire nuovamente la Creazione guidata cubo.

    Per impostazione predefinita, i file di definizione del cubo, come i file di query, vengono archiviati nella cartella del profilo utente in Dati applicazioni\Microsoft\Que-ries. Quando si salva un file *.oqy nella cartella standard, nella scheda viene visualizzato il nome del file di definizione del cubo Cubi OLAP quando si apre una nuova query in Microsoft Query o quando si seleziona un comando Crea una richiesta(menù Dati, sottomenu Importazione di dati esterni) in Microsoft Excel.

    · In caso di scelta della terza opzione di tipo cubo Salvataggio di un file del cubo contenente tutti i dati del cubo, vengono recuperati tutti i dati del cubo e viene creato un file del cubo con estensione * in una posizione specificata dall'utente .cucciolo, in cui questi dati sono memorizzati. Creazione questa vita non avviene immediatamente quando si preme il pulsante Pronto; il file viene creato quando si salva la definizione del cubo in un file o quando si crea un report basato sul cubo.

    La scelta del tipo di cubo è determinata da diversi fattori: la quantità di dati contenuti nel cubo; la tipologia e la complessità dei report che verranno creati in base al cubo; risorse di sistema (memoria e spazio su disco), ecc.

    È necessario creare un file cubo *.cub separato nei seguenti casi:

    1) per report interattivi modificati frequentemente se lo spazio su disco è sufficiente;

    2) quando è necessario salvare il cubo su un server di rete per fornirne l'accesso ad altri utenti durante la creazione di report. Un file cubo può fornire dati specifici dal database di origine omettendo dati sensibili o sensibili a cui si desidera impedire l'accesso ad altri utenti.



  • 
    Superiore