Lezione 2: Aggiunta di parametri di propagazione (Generatore report 2.0)

I parametri di propagazione consentono di gestire quantità elevate di dati del report. Nei parametri di propagazione l'elenco di valori per un parametro dipende dal valore selezionato nel parametro precedente.

In questa lezione verrà creato un nuovo report con una query del set di dati principale che definisce i parametri di query per sottocategoria e prodotto per la categoria Clothing. Verranno definiti due set di dati aggiuntivi che forniscono valori disponibili per ogni parametro di propagazione.

Per creare un nuovo file di definizione del report e salvarlo sul server di report

  1. Fare clic sul pulsante Start, scegliere Programmi, Generatore report per Microsoft SQL Server 2008 e quindi fare clic su Generatore report 2.0.

  2. Nell'area di progettazione, fare clic su Fare clic qui per aggiungere il titolo e digitare Cascading Parameters.

  3. Dal pulsante Generatore report fare clic su Salva con nome.

  4. Fare clic su Siti e server recenti.

  5. Fare clic sul nome del server di report per il quale si dispone delle autorizzazioni per il salvataggio dei report.

  6. Nella casella Nome, digitare Cascading Parameters.

  7. Fare clic su Salva.

    È stato salvato un nuovo report nel server di report.

Per aggiungere un riferimento all'origine dei dati

  1. Nel riquadro Dati report fare clic su Nuova sulla barra degli strumenti, quindi su Origine dati.

  2. Selezionare Usa una connessione condivisa o un modello di report.

  3. Individuare o scegliere l'origine dati per il database di esempio AdventureWorks2008 creato in Esercitazione: Creazione di un report tabella semplice (Generatore report 2.0).

  4. Fare clic su OK.

    È stato aggiunto un riferimento dell'origine dati per il database AdventureWorks2008

Per creare il set di dati principale con una query e parametri di query

  1. Nella barra degli strumenti del riquadro Dati report, fare clic su Nuovo, quindi su Set di dati.

  2. Nella casella Nome digitare SalesbyCategory.

  3. Sotto il riquadro Query fare clic su Progettazione query.

  4. Fare clic su Modifica come testo.

  5. Nel riquadro Query incollare la query seguente:

    SELECT
      SH.OrderDate
      ,DATENAME(weekday, SH.OrderDate) as Weekday
      ,SH.SalesOrderNumber
      ,SD.OrderQty
      ,SD.LineTotal
      ,P.Name AS [Product]
      ,PS.Name AS [Subcategory]
    FROM Sales.SalesPerson SP 
      INNER JOIN Sales.SalesOrderHeader AS SH 
          ON SP.BusinessEntityID = SH.SalesPersonID
      INNER JOIN Sales.SalesOrderDetail AS SD 
         ON SH.SalesOrderID = SD.SalesOrderID
      INNER JOIN Production.Product AS P
       ON SD.ProductID = P.ProductID
      INNER JOIN Production.ProductSubcategory AS PS
       ON PS.ProductSubcategoryID = P.ProductSubcategoryID
      INNER JOIN Production.ProductCategory AS PC
       ON PC.ProductCategoryID = PS.ProductCategoryID
    WHERE PC.Name = 'Clothing' 
       AND (SH.OrderDate BETWEEN (@StartDate) AND (@EndDate))
       AND PS.Name = (@Subcategory)
       AND P.Name IN (@Product)
    

    I parametri di query per @StartDate, @EndDate, @Subcategory, e @Product sono stati aggiunti per creare la query principale per un set di valori di propagazione.

  6. Fare clic su Esegui (!) per visualizzare il set di risultati. Verrà visualizzata la finestra di dialogo Definisci parametri query.

  7. Nella colonna Valore parametro digitare un valore per ogni parametro di query utilizzando la tabella seguente.

    Nome parametro

    Valore parametro

    @StartDate

    20010101

    @EndDate

    20030101

    @Subcategory

    Gloves

    @Product

    Full-Finger Gloves, M

  8. Fare clic su OK. 

    Il set di risultati contiene un elenco di numeri dell'ordine di vendita per il tipo di guanto specificato.

    Quando è stata eseguita la query, ogni parametro ha prodotto il parametro di report corrispondente. Fare due volte clic su OK per chiudere Progettazione query e la finestra di dialogo.

  9. (Facoltativo) Nel riquadro Dati report espandere il nodo Parametri e verificare che siano visualizzati i parametri di report seguenti: StartDate, EndDate, Subcategory e Product.

  10. (Facoltativo) Il valore di ogni parametro di query del set di dati viene associato a un parametro di report con lo stesso nome. Per eseguire questa verifica, nel riquadro Dati report fare clic con il pulsante destro del mouse su SalesbyCategory e scegliere Proprietà set di dati.

    1. Fare clic su Parametri.

    2. Nella colonna Nome parametro verificare che i nomi siano @StartDate, @EndDate, @Subcategory, e @Product.

    3. Nella colonna Valore parametro verificare che i valori siano [@StartDate], [@EndDate], [@Subcategory] e [@Product].

      Queste espressioni semplici si riferiscono ai parametri di report visualizzati nel riquadro Dati report.

    A questo punto, verrà creato un set di dati per fornire valori per @Subcategory e @Product. Ciascun nuovo set di dati verrà utilizzato per popolare i valori disponibili e predefiniti per il parametro.

Per impostare i tipi di dati dei parametri di data e i valori predefiniti

  1. Nel riquadro Dati report fare clic con il pulsante destro del mouse su StartDate, quindi scegliere Proprietà parametri.

  2. In Tipo di dati selezionare Data/Ora.

  3. Fare clic su Valori predefiniti.

  4. Selezionare l'opzione Imposta valori.

  5. Fare clic su Aggiungi.

  6. Nella casella Valore, digitare 2001-01-01

  7. Fare clic su OK.

  8. Nel riquadro Dati report fare clic con il pulsante destro del mouse su EndDate, quindi scegliere Proprietà parametri.

  9. In Tipo di dati selezionare Data/Ora.

  10. Fare clic su Valori predefiniti.

  11. Selezionare l'opzione Imposta valori.

  12. Fare clic su Aggiungi.

  13. Nella casella Valore, digitare 2003-01-01

  14. Fare clic su OK.

I tipi di dati dei parametri di data e i valori predefiniti sono stati impostati.

Per aggiungere il set di dati dei valori per il parametro di report Subcategory

  1. Nella barra degli strumenti del riquadro Dati report, fare clic su Nuovo, quindi su Set di dati.

  2. Nella casella Nome digitare SubcategoryValues.

  3. Fare clic su Progettazione query, quindi scegliere Modifica come testo.

  4. Nel riquadro Query incollare la query seguente:

    SELECT DISTINCT PSC.Name AS Subcategory 
       FROM Production.ProductSubcategory AS PSC
          INNER JOIN Production.ProductCategory AS PC
          ON PC.ProductCategoryID = PSC.ProductCategoryID
          WHERE PC.Name = 'Clothing'
    
  5. Fare due volte clic su OK per chiudere Progettazione query e la finestra di dialogo.

  6. Nel riquadro Dati report viene visualizzato il set di dati SubcategoryValues. Nel campo Subcategory l'elenco delle sottocategorie per la categoria Clothing è costituito da 8 righe.

    Impostare quindi le proprietà relative al parametro di report @Subcategory in modo che i valori di questa query vengano utilizzati sia per i valori disponibili sia per i valori predefiniti del parametro.

Per impostare i valori disponibili e i valori predefiniti per il parametro di report Subcategory

  1. Nella cartella Parametri del riquadro Dati report fare clic con il pulsante destro del mouse su Subcategory e scegliere Proprietà parametri.

  2. Fare clic su Valori disponibili.

  3. Fare clic su Ottieni valori da una query.

  4. In Set di dati selezionare SubcategoryValues nell'elenco a discesa.

  5. Nel campo Valore fare clic su Subcategory.

  6. Nel campo Etichetta fare clic su Subcategory.

  7. Fare clic su Valori predefiniti.

  8. Fare clic su Imposta valori.

  9. Fare clic su Aggiungi.

  10. Nella casella Valore, digitare Gloves

  11. Fare clic su OK.

    Creare quindi un parametro @Product che dipende dal valore di @Subcategory.

Per aggiungere il set di dati dei valori per il parametro di report Product

  1. Nella barra degli strumenti del riquadro Dati report, fare clic su Nuovo, quindi su Set di dati.

  2. Nella casella Nome digitare ProductValues.

  3. Fare clic su Progettazione query, quindi scegliere Modifica come testo.

  4. Nel riquadro Query incollare la query seguente:

    SELECT DISTINCT P.Name AS Product
    FROM Production.Product P
       INNER JOIN Production.ProductSubcategory AS PSC
       ON P.ProductSubcategoryID = PSC.ProductSubcategoryID
       INNER JOIN Production.ProductCategory AS PC
       ON PC.ProductCategoryID = PSC.ProductCategoryID
       WHERE (PC.Name = 'Clothing'
          AND PSC.Name = (@Subcategory))
    
  5. Fare due volte clic su OK per chiudere Progettazione query e la finestra di dialogo.

    Un set di dati denominato ProductValues con un campo denominato Product verrà aggiunto al riquadro Dati report.

Impostare quindi le proprietà relative al parametro @Product in modo che i valori di questa query vengano utilizzati sia per i valori disponibili sia per i valori predefiniti del parametro.

Per impostare i valori disponibili e i valori predefiniti per il parametro di report Product

  1. Nella cartella Parametri del riquadro Dati report fare clic con il pulsante destro del mouse su Product e scegliere Proprietà parametri.

  2. Selezionare Consenti più valori.

  3. Fare clic su Valori disponibili.

  4. Fare clic su Ottieni valori da una query.

  5. In Set di dati selezionare ProductValues nell'elenco a discesa.

  6. Nel campo Valore fare clic su Product.

  7. Nel campo Etichetta fare clic su Product.

  8. Fare clic su Valori predefiniti.

  9. Fare clic su Ottieni valori da una query.

  10. In Set di dati selezionare ProductValues nell'elenco a discesa.

  11. Nel campo Valore fare clic su Product.

  12. Fare clic su OK.

  13. Fare clic su Esegui per visualizzare l'anteprima del report.

  14. Nell'elenco a discesa Subcategory selezionare Jerseys.

    Notare che nell'elenco a discesa per Product sono visualizzati solo i prodotti Jersey.

  15. Fare clic su Visualizza report nella barra degli strumenti del visualizzatore di report.

    La tabella e il grafico nel report visualizza gli ordini di vendita che includono i prodotti selezionati e che sono limitati dai parametri del report della data di ordine di vendita e dei giorni della settimana.

Passaggi successivi

In questa lezione è stato creato un nuovo report nel quale sono visualizzati gli ordini di vendita per prodotti specifici utilizzando i parametri di propagazione per filtrare per sottocategoria. Nella lezione successiva verranno descritte le procedure per passare un parametro a un report drill-through. Vedere Lezione 5: Aggiunta di parametri da passare a un report drill-through (Generatore report 2.0).