Condividi tramite


Modifica della dimensione Time

È possibile definire chiavi composte per gli attributi in modo da controllare i membri restituiti dalla query di elaborazione SELECT DISTINCT. Quando si utilizzano le chiavi composte, il tipo di ordinamento dei membri degli attributi viene determinato dall'ordine dei membri della chiave composta. Nelle attività di questo argomento verrà modificato il nome della gerarchia definita dall'utente, verranno modificati i nomi dei membri visualizzati per gli attributi Date, Month, Calendar Quarter e Calendar Semester, verranno definite chiavi composte per gli attributi EnglishMonthName, CalendarQuarter e CalendarSemester e infine verrà modificato l'ordine dei membri delle chiavi composte in modo da controllare il tipo di ordinamento dei membri delle dimensioni.

Modifica della gerarchia definita dall'utente

Per modificare la gerarchia definita dall'utente

  1. Passare a Progettazione dimensioni per la dimensione Time in Business Intelligence Development Studio e quindi fare clic sulla scheda Struttura dimensione.

  2. Nel riquadro Gerarchie e livelli selezionare la gerarchia CalendarYear - CalendarSemester - CalendarQuarter - EnglishMonthName - FullDateAlternateKey e quindi cambiare la proprietà Name in Calendar Time nella finestra Proprietà.

    Il nome di questa gerarchia definita dall'utente è ora Calendar Time.

  3. Nella gerarchia definita dall'utente Calendar Time modificare il livello English Month Name in Calendar Month e il livello Full Date Alternate Key in Date.

  4. Passare a Progettazione vista origine dati per la vista origine dati di Adventure Works DW, fare clic con il pulsante destro del mouse su Time (dbo.DimTime) nel riquadro Tabelle e quindi scegliere Nuovo calcolo denominato.

  5. Nella finestra di dialogo Crea calcolo denominato digitare SimpleDate nella casella Nome colonna e quindi immettere il seguente script SQL nella casella Espressione:

    DATENAME(mm, FullDateAlternateKey) + ' ' +
    DATENAME(dd, FullDateAlternateKey) + ', ' +
    DATENAME(yy, FullDateAlternateKey)
    

    Lo script SQL estrae i valori per l'anno, il mese e il giorno dalla colonna FullDateAlternateKey. Il livello Date della gerarchia Calendar Time della dimensione Time verrà modificato per visualizzare il valore di questa nuova colonna anziché il valore originale memorizzato nella colonna FullDateAlternateKey della tabella DimTime.

  6. Fare clic su OK e quindi passare a Progettazione dimensioni per la dimensione Time.

  7. Nella gerarchia Calendar Time selezionare Date e quindi controllare le proprietà del livello Date nella finestra Proprietà.

    Si noti che il livello Date della gerarchia è basato sull'attributo FullDateAlternateKey. Nei passaggi successivi l'attributo su cui si basa questo livello verrà cambiato nell'attributo TimeKey e le proprietà dell'attributo TimeKey verranno modificate in modo che i membri siano basati sui valori della colonna SimpleDate appena definita. È inoltre possibile lasciare FullDateAlternateKey come attributo su cui si basa il livello Date e cambiare l'attributo in modo che i nomi dei membri siano basati sulla colonna SimpleDate. Il primo metodo, tuttavia, risulta più efficiente. Gli attributi TimeKey e FullDateAlternateKey non sono entrambi necessari e quindi verrà eliminato l'attributo FullDateAlternateKey.

  8. Nella gerarchia definita dall'utente Calendar Time modificare il valore della proprietà SourceAttribute del livello Date in TimeKey e quindi eliminare l'attributo FullDateAlternateKey nel riquadro Attributi.

  9. Selezionare TimeKey nel riquadro Attributi, espandere l'insieme delle proprietà NameColumn e quindi l'insieme delle proprietà Source nella finestra Proprietà. Cambiare il valore della proprietà ColumnID in SimpleDate.

    Si noti che la proprietà OrderBy dell'attributo TimeKey specifica che i membri della gerarchia dell'attributo siano ordinati in base ai rispettivi valori di chiave.

  10. Scegliere Distribuisci Analysis Services Tutorial dal menu Genera di BI Development Studio. Al termine della distribuzione, fare clic sulla scheda Esplorazione di Progettazione dimensioni per la dimensione Time e quindi fare clic su Riconnetti sulla barra degli strumenti.

  11. Espandere i livelli della gerarchia Calendar Time per controllare i membri del livello Date.

    Si noti che i membri del livello Date sono più semplici da utilizzare di quanto lo fossero precedentemente. È possibile notare tuttavia che i membri relativi a semestre, trimestre e mese non indicano l'anno padre.

    Nella figura seguente vengono illustrati i membri del livello Date.

    Membri del livello Date

  12. Nell'elenco Gerarchia selezionare EnglishMonthName e quindi espandere il membro All.

    Si noti che ogni mese viene visualizzato una volta sola anziché una volta all'anno come nella dimensione Time. Nell'attività successiva di questo argomento verranno generati nomi univoci per ogni mese di ogni anno.

  13. Selezionare CalendarQuarter nell'elenco Gerarchia e quindi espandere il membro All.

    Si noti che ogni trimestre viene visualizzato una volta sola anziché una volta a trimestre come nella dimensione Time. Si noti inoltre che i mesi vengono ordinati alfabeticamente. Nell'attività successiva di questo argomento verranno generati nomi univoci per ogni trimestre di calendario di ogni anno. Nella lezione 4 si procederà alla configurazione dell'ordinamento cronologico dei mesi.

Impostazione di nomi univoci per i membri delle dimensioni

Per impostare nomi univoci per i membri delle dimensioni

  1. Passare a Progettazione vista origine dati per la vista origine dati di Adventure Works DW, fare clic con il pulsante destro del mouse su Time (dbo.DimTime) nel riquadro Tabelle e quindi scegliere Nuovo calcolo denominato.

  2. Nella finestra di dialogo Crea calcolo denominato digitare MonthName nella casella Nome colonna e quindi immettere il seguente script SQL nella casella Espressione:

    EnglishMonthName+' '+ CONVERT(CHAR (4), CalendarYear)
    

    Questo script SQL esegue la concatenazione del mese e dell'anno per ogni mese della tabella DimTime in una nuova colonna.

  3. Fare clic su OK.

  4. Fare clic con il pulsante destro del mouse su Time (dbo.DimTime) nel riquadro Tabelle e quindi scegliere Nuovo calcolo denominato.

  5. Nella finestra di dialogo Crea calcolo denominato digitare CalendarQuarterDesc nella casella Nome colonna e quindi immettere il seguente script SQL nella casella Espressione:

    'Q' + CONVERT(CHAR (1), CalendarQuarter) +' '+ 'CY ' +
    CONVERT(CHAR (4), CalendarYear)
    

    Questo script SQL esegue la concatenazione del trimestre e dell'anno di calendario per ogni trimestre della tabella DimTime in una nuova colonna.

  6. Fare clic su OK.

  7. Fare clic con il pulsante destro del mouse su Time nel riquadro Tabelle e quindi scegliere Nuovo calcolo denominato.

  8. Nella finestra di dialogo Crea calcolo denominato digitare CalendarSemesterDesc nella casella Nome colonna e quindi immettere il seguente script SQL nella casella Espressione:

    CASE
    WHEN CalendarSemester = 1 THEN 'H1' + ' ' + 'CY' + ' ' 
           + CONVERT(CHAR(4), CalendarYear)
    ELSE
    'H2' + ' ' + 'CY' + ' ' + CONVERT(CHAR(4), CalendarYear)
    END
    

    Questo script SQL esegue la concatenazione del semestre e dell'anno di calendario per ogni semestre della tabella DimTime in una nuova colonna.

  9. Fare clic su OK, passare a Progettazione dimensioni per la dimensione Time e quindi fare clic sulla scheda Struttura dimensione.

    Verranno modificati gli attributi EnglishMonthName, CalendarQuarter e CalendarSemester della dimensione Time in modo da utilizzare i valori della nuova colonna come valori dei membri.

  10. Nel riquadro Attributi selezionare EnglishMonthName. Nella finestra Proprietà espandere la proprietà NameColumn e la proprietà Source e quindi cambiare il valore della proprietà ColumnID in MonthName.

  11. In modo analogo, cambiare la proprietà ColumnID dell'attributo Calendar Quarter e dell'attributo Calendar Semester nel modo seguente:

    • Calendar Quarter: cambiare la proprietà ColumnID in CalendarQuarterDesc
    • Calendar Semester: cambiare la proprietà ColumnID in CalendarSemesterDesc
  12. Scegliere Distribuisci Analysis Services Tutorial dal menu Genera di BI Development Studio. Al termine delle operazioni di distribuzione, fare clic sulla scheda Esplorazione di Progettazione dimensioni per la dimensione Time.

  13. Nella barra degli strumenti della scheda Esplorazione fare clic su Riconnetti e quindi controllare i membri della gerarchia dell'attributo CalendarQuarter nella gerarchia dell'attributo Calendar Quarter.

    Si noti che sebbene i nomi dei membri della gerarchia dell'attributo CalendarQuarter siano più semplici da utilizzare, rimangono solo quattro membri nella gerarchia dell'attributo anziché un membro per ogni combinazione di anno e trimestre. Esaminando la gerarchia dell'attributo EnglishMonthName o CalendarSemester sarà possibile notare un funzionamento analogo. Nell'attività successiva di questo argomento verrà modificato tale funzionamento specificando una chiave composta per questi attributi.

Impostazione dei valori della chiave composta

Per impostare i valori della chiave composta

  1. Selezionare la scheda Struttura dimensione per la dimensione Time, selezionare l'attributo EnglishMonthName e quindi fare clic sul pulsante con i puntini di sospensione () nella cella della proprietà KeyColumns della finestra Proprietà per modificare il valore dell'attributo.

    Verrà aperta la finestra di dialogo Editor dell'insieme DataItem per visualizzare la colonna chiave del membro dell'attributo. Quando Analysis Services elabora una dimensione, viene eseguita una query SELECT DISTINCT per determinare i membri della dimensione. In Editor dell'insieme DataItem è possibile specificare una chiave composta anziché una chiave di colonna singola per l'attributo, in modo da restituire ulteriori membri delle dimensioni.

  2. Fare clic su Aggiungi per definire una seconda chiave del membro per l'attributo della dimensione.

    Nell'elenco dei membri verrà visualizzata una nuova chiave del membro. È necessario definire le proprietà per il nuovo membro della chiave.

  3. Nell'elenco Proprietà Nuova associazione (WChar) fare clic sul pulsante con i puntini di sospensione (...) nella cella della proprietà Source per modificarne il valore.

    Verrà visualizzata la finestra di dialogo Associazione oggetto. In questa finestra è possibile specificare sia una colonna esistente in una tabella specificata che il tipo di colonna che si desidera creare se si sta generando lo schema relazionale tramite il metodo di progettazione dall'alto verso il basso.

  4. Nell'elenco Tipo di associazione selezionare Associazione colonna.

  5. Nell'elenco Tabella di origine verificare che Time sia selezionato.

  6. Nell'elenco Colonna di origine selezionare CalendarYear.

    Nella figura seguente viene illustrata la finestra di dialogo Associazione oggetto.

    Finestra di dialogo Associazione oggetto

  7. Fare clic su OK per chiudere la finestra di dialogo Associazione oggetto e quindi nuovamente OK per chiudere Editor dell'insieme DataItem.

    Si noti che il valore della proprietà KeyColumns è ora impostato su (Insieme).

  8. Selezionare l'attributo CalendarQuarter e quindi fare clic sul pulsante con i puntini di sospensione (...) nella cella della proprietà KeyColumns nella finestra Proprietà per modificare il valore dell'attributo.

    Verrà visualizzata la finestra di dialogo Editor dell'insieme DataItem.

  9. Fare clic su Aggiungi per definire un secondo membro per la proprietà KeyColumns.

  10. Nell'elenco Proprietà Nuova associazione (WChar) fare clic sul pulsante con i puntini di sospensione ...) nella cella della proprietà Source per modificarne il valore.

    Verrà visualizzata la finestra di dialogo Associazione oggetto.

  11. Nell'elenco Tipo di associazione selezionare Associazione colonna.

  12. Nell'elenco Tabella di origine verificare che Time sia selezionato.

  13. Nell'elenco Colonna di origine selezionare CalendarYear.

  14. Fare clic su OK e quindi nuovamente su OK.

  15. Selezionare l'attributo CalendarSemester e quindi fare clic sul pulsante con i puntini di sospensione (...) nella cella della proprietà KeyColumns della finestra Proprietà per modificare il valore dell'attributo.

    Verrà visualizzata la finestra di dialogo Editor dell'insieme DataItem.

  16. Fare clic su Aggiungi per definire un secondo membro per la proprietà KeyColumns.

  17. Nell'elenco Proprietà Nuova associazione (WChar) fare clic sul pulsante con i puntini di sospensione (...) nella cella della proprietà Source per modificarne il valore.

    Verrà visualizzata la finestra di dialogo Associazione oggetto.

  18. Nell'elenco Tipo di associazione selezionare Associazione colonna.

  19. Nell'elenco Tabella di origine verificare che Time sia selezionato.

  20. Nell'elenco Colonna di origine selezionare CalendarYear.

  21. Fare clic su OK e quindi nuovamente su OK.

  22. Scegliere Distribuisci Analysis Services Tutorial dal menu Genera di BI Development Studio. Al termine delle operazioni di distribuzione, fare clic sulla scheda Esplorazione di Progettazione dimensioni per la dimensione Time.

  23. Nella barra degli strumenti della scheda Esplorazione fare clic su Riconnetti e quindi controllare i membri della gerarchia dell'attributo CalendarQuarter nella gerarchia dell'attributo Calendar Quarter.

    Si noti che sebbene i membri esistano nella gerarchia dell'attributo CalendarQuarter per ogni trimestre di ogni anno, essi non sono ordinati cronologicamente ma per trimestre e quindi per anno. Nell'attività successiva di questo argomento verrà modificato tale funzionamento in modo da ordinare i membri di questa gerarchia dell'attributo per anno e quindi per trimestre.

    Nella figura seguente viene illustrata la struttura attuale della gerarchia dell'attributo CalendarQuarter.

    Struttura corrente della gerarchia CalendarQuarter

  24. Esaminare i membri delle gerarchie degli attributi EnglishMonthName e CalendarSemester.

    È possibile notare che anche i membri di queste gerarchie non sono ordinati cronologicamente. Sono invece ordinati rispettivamente per mese o per semestre e quindi per anno. Nell'attività successiva di questo argomento verrà modificato tale funzionamento in modo da cambiare il tipo di ordinamento.

Modifica del tipo di ordinamento tramite la modifica dell'ordine del membro della chiave composta

Per modificare l'ordine del membro della chiave composta

  1. Selezionare la scheda Struttura dimensione di Progettazione dimensioni per la dimensione Time e quindi selezionare CalendarSemester nel riquadro Attributi.

  2. Nella finestra Proprietà controllare il valore della proprietà OrderBy.

    I membri della gerarchia dell'attributo CalendarSemester vengono ordinati in base al valore della chiave. Con una chiave composta, l'ordinamento delle chiavi dei membri si basa innanzitutto sul valore della prima chiave del membro e quindi sul valore della seconda chiave. In altre parole, i membri della gerarchia dell'attributo CalendarSemester sono ordinati prima in base al semestre e quindi in base all'anno.

  3. Nella finestra Proprietà fare clic sul pulsante con i puntini di sospensione (...) per cambiare il valore della proprietà KeyColumns.

    Verrà visualizzata la finestra di dialogo Editor dell'insieme DataItem.

  4. Nella tabella Membri della finestra Editor dell'insieme DataItem verificare che DimTime.CalendarSemester (UnsignedTinyInt) sia selezionato e quindi fare clic sul pulsante freccia giù per invertire l'ordine dei membri di questa chiave composta. Fare clic su OK.

    I membri della gerarchia dell'attributo sono ora ordinati per anno e quindi per semestre.

  5. Selezionare CalendarQuarter nel riquadro Attributi e quindi fare clic sul pulsante con i puntini di sospensione (...) della proprietà KeyColumns nella finestra Proprietà.

  6. Nella tabella Membri della finestra Editor dell'insieme DataItem verificare che DimTime.CalendarQuarter (UnsignedTinyInt) sia selezionato e quindi fare clic sul pulsante freccia giù per invertire l'ordine dei membri di questa chiave composta. Fare clic su OK.

    I membri della gerarchia dell'attributo sono ora ordinati per anno e quindi per trimestre.

  7. Selezionare EnglishMonthName nel riquadro Attributi e quindi fare clic sul pulsante con i puntini di sospensione (...) della proprietà KeyColumns nella finestra Proprietà.

  8. Nella tabella Membri della finestra Editor dell'insieme DataItem verificare che DimTime.EnglishMonthName (WChar) sia selezionato e quindi fare clic sul pulsante freccia giù per invertire l'ordine dei membri di questa chiave composta. Fare clic su OK.

    I membri della gerarchia dell'attributo sono ora ordinati per anno e quindi per mese.

  9. Scegliere Distribuisci Analysis Services Tutorial dal menu Genera di BI Development Studio. Al termine delle operazioni di distribuzione, fare clic sulla scheda Esplorazione di Progettazione dimensioni per la dimensione Time.

  10. Nella barra degli strumenti della scheda Esplorazione fare clic su Riconnetti e quindi controllare i membri delle gerarchie degli attributi CalendarQuarter e CalendarSemester.

    Si noti che i membri di queste gerarchie sono ora ordinati cronologicamente per anno e quindi, rispettivamente, per trimestre o semestre.

  11. Controllare i membri della gerarchia dell'attributo EnglishMonthName.

    Si noti che i membri della gerarchia vengono ora ordinati prima in base all'anno e quindi alfabeticamente in base al mese poiché il tipo di dati della colonna EnglishCalendarMonth nella vista origine dati è stringa, in base al tipo di dati nvarchar nel database relazionale sottostante. Sarebbe tuttavia più utile se i mesi fossero ordinati cronologicamente per ogni anno. Questa modifica verrà eseguita nella lezione 4.

    Nella figura seguente viene illustrata la gerarchia degli attributi EnglishMonthName.

    Gerarchia dell'attributo EnglishMonthName

  12. Scegliere Salva tutto dal menu File di BI Development Studio per salvare le modifiche apportate a questo punto nel progetto Analysis Services Tutorial. In questo modo, è possibile interrompere l'esercitazione per riprenderla in un momento successivo.

In questo modo si è migliorata la semplicità di utilizzo dei membri delle gerarchie degli attributi della dimensione temporale creando calcoli denominati nella vista origine dati e quindi utilizzandoli come nomi dei membri degli attributi. Si è inoltre migliorata la semplicità di utilizzo definendo chiavi composte e specificando l'ordine appropriato dei membri delle chiavi per verificare il tipo di ordinamento dei membri della dimensione.

Attività successiva della lezione

Modifica della dimensione Product

Vedere anche

Altre risorse

Definizione e configurazione di dimensioni, attributi e gerarchie

Guida in linea e informazioni

Assistenza su SQL Server 2005