Progettazione di modelli di report basati su cubi

I modelli di report sono generati da cubi di SQL ServerAnalysis Services (SSAS) tramite Gestione report o MicrosoftOffice SharePoint Server 2007 in esecuzione in modalità integrata SharePoint. Per poter creare un modello dal cubo di SSAS, è necessario essere amministratore del database di Analysis Services. Il modello generato non può essere modificato. Se si decide di modificare il contenuto del database, sarà necessario rigenerare il modello per incorporare le modifiche.

Stringhe di connessione

Quando si crea un modello di report basato su un database di Analysis Services, la stringa di connessione risulta analoga alla seguente:

Origine dati=<reportserver>;Catalogo iniziale=<database name>

[!NOTA]

Se il database di Analysis Services include traduzioni di cubi, è possibile creare versioni tradotte del modello di report. Per creare un modello per ogni lingua, specificare l'identificatore delle impostazioni locali (LCID) nella stringa di connessione dell'origine dei dati. Per creare ad esempio un modello in cinese, la stringa di connessione deve risultare analoga a Origine dati=<reportserver>;Catalogo iniziale=<database name>;LocaleIdentifier=3012. Per ulteriori informazioni sulle traduzioni di cubi, vedere il relativo argomento.

Regole per la generazione di modelli da database di Analysis Services

Nell'elenco seguente sono riportate le regole generiche applicate durante la creazione di un modello da un cubo:

  • Viene eseguito il mapping tra gruppi di misure e le entità. Un singolo modello di report include tutti i cubi disponibili nel database di Analysis Services.

  • Viene eseguito il mapping tra le dimensioni e le entità. Le dimensioni dei fatti non consentono di ottenere un'entità diversa. Si supponga ad esempio di disporre di un gruppo di misure Sale all'interno di un cubo e di una dimensione dei fatti denominata Sale Detail. Quando si genera un modello da tale cubo, il modello genererà una singola entità contenente tutte le misure di Sale e tutti gli attributi di dimensione di Sale Detail.

  • Le relazioni tra gruppi di misure e dimensioni vengono convertite in ruoli all'interno del modello. Le relazioni cui viene fatto riferimento, ovvero utilizzate per relazioni indirette, e le relazioni molti-a-molti vengono definite nel modello sotto forma di ruoli.

  • Le misure vengono convertite in attributi di entità.

  • Gli attributi di dimensione non vengono convertiti in attributi di entità. Nei modelli non è disponibile nessun concetto di gerarchia, pertanto un attributo di dimensione viene incluso nel modello se è visibile oppure in presenza di una gerarchia visibile che contiene un livello basato su di esso. L'attributo chiave di una dimensione viene sempre incluso, anche se è contrassegnato come invisibile.

  • Gli attributi di entità provenienti da misure e attributi di dimensione vengono organizzati in cartelle in base alle eventuali cartelle di visualizzazione definite nel cubo.

  • Le prospettive del cubo diventano prospettive del modello di report. Ogni cubo diventa inoltre una prospettiva all'interno del modello. Gli utenti di Generatore report dovranno pertanto selezionare una prospettiva all'interno del modello e non il modello di livello principale.

  • Le misure calcolate, ovvero i membri calcolati, diventano attributi dell'entità corrispondente al gruppo di misure cui sono associate le misure.

  • I set denominati definiti nell'attributo chiave di una dimensione vengono convertiti in un sottotipo dell'entità. Il set denominato "Large Customers" viene ad esempio convertito in un sottotipo di "Customer". I set denominati non basati su un singolo attributo chiave verranno ignorati.

  • Gli indicatori di prestazioni chiave (KPI) vengono convertiti in attributi nell'entità corrispondente al gruppo di misure cui è associato il KPI. Per ogni KPI vengono creati più attributi, uno per i singoli componenti del KPI, ovvero Value, Goal, Status e Trend. Per Status e Trend viene inoltre creato un attributo di variante contenente rispettivamente gli attributi StatusGraphic e TrendGraphic. L'immagine effettiva viene inclusa nel report quando si utilizzano questi attributi.

Elementi del database di Analysis Services omessi dai modelli di report

Gli elementi di SSAS seguenti non vengono visualizzati nel modello generato:

  • Membri calcolati, non inclusi nella dimensione di tipo misura.

  • Le gerarchie padre-figlio non vengono convertite in attributi o ruoli del modello. L'attributo chiave è ancora incluso, tuttavia se viene utilizzato in un report consente di visualizzare i valori di tipo misura per il membro della chiave e non il valore aggregato nella gerarchia padre-figlio. L'utilizzo di tale attributo influisce inoltre negativamente sulle prestazioni.

  • Azioni. Sono incluse le azioni drill-through. La funzionalità drill-through è sempre attivata negli attributi di aggregazione, indipendentemente dalle azioni drill-through definite nel cubo. Quando pertanto un utente esegue un report di Generatore report fuori dal modello e fa clic su un'aggregazione per visualizzare un report click-through, verranno visualizzate tabelle vuote.

  • Relazioni tra attributi. Una dimensione consente di ottenere una singola entità e le eventuali relazioni tra gli attributi delle dimensioni non influiscono sul modello di report.

  • Le relazioni tra un gruppo di misure e una dimensione verranno ignorate se sono basate su un attributo diverso da quello chiave della dimensione. Il gruppo di misure Budget può ad esempio essere correlato a Time a livello di Month anziché a livello di Day. In questo caso il modello di report non includerà nessuna relazione tra l'entità Budget e l'entità Time.

Considerazioni sulla progettazione dei cubi

Quando si progetta un cubo per il quale si intende generare un modello di report, considerare gli aspetti seguenti:

  • Le misure calcolate o i KPI per i quali non è disponibile un gruppo di misure associato non verranno visualizzati nel modello di report. Per configurare il gruppo di misure associato per una misura calcolata, è necessario utilizzare la finestra di dialogo Proprietà calcolo.

  • Nelle query inviate da Generatore report verrà sempre richiesto il valore dei membri delle dimensioni e verrà utilizzato il valore del membro per l'ordinamento e il filtro. Per impostazione predefinita, se in Analysis Services per un attributo è disponibile un'associazione del nome, il valore del membro sarà identico a quello del nome del membro, mentre se l'associazione del nome non è disponibile, il valore del membro sarà identico a quello della chiave del membro. Per ogni attributo può tuttavia essere disponibile un'associazione esplicita a una colonna che include il valore del membro, il quale deve restituire il valore nel tipo di dati "true". Per un attributo Date in Analysis Services può ad esempio essere disponibile una chiave corrispondente a DateTime ("4/25/2006") e un nome o una didascalia corrispondente a una descrizione di testo ("Tuesday, 25th April, 2006"). In questo caso, durante la progettazione del cubo è necessario impostare MemberValue sulla chiave per garantire funzionalità adeguate di ordinamento e filtro. Questa considerazione, valida per qualsiasi attributo, risulta particolarmente importante per gli attributi di tipo data/ora. Per qualsiasi attributo di tipo data/ora il modello generato conterrà due attributi del modello di report, uno corrispondente alla didascalia e una variante di tale attributo corrispondente all'effettivo valore di data/ora.

  • La proprietà InstanceSelection dell'attributo di dimensione viene utilizzata per impostare le proprietà del modello di report InstanceSelection (nelle entità) e ValueSelection (negli attributi). Tale proprietà consente di determinare in che modo l'utente potrà selezionare istanze in Generatore report, ad esempio utilizzando un elenco a discesa.

  • La proprietà GroupingBehavior dell'attributo di dimensione viene utilizzata per impostare la proprietà DiscourageGrouping dell'attributo di modello.

  • Il tipo di dati di tutti gli attributi di dimensione corrispondenti a immagini deve essere impostato su Image nell'associazione degli attributi di dimensione.

  • La funzionalità drill-through è sempre attivata negli attributi risultanti da misure, tuttavia nei report drill-through predefiniti sono inclusi solo dettagli minimi. Per personalizzare questa funzionalità, è necessario aggiungere report drill-through personalizzati.

  • Se il cubo include traduzioni, per poterle esporre nel modello di report, per ogni traduzione sarà necessario creare un'origine dei dati impostando adeguatamente la proprietà LocaleIdentifier nella stringa di connessione. Per ogni origine dei dati verrà quindi generato un modello che conterrà i metadati della traduzione associata.