Aracılığıyla paylaş


Ders 3: Bir liste içinde birden çok değer seçmek için ekleme parametreleri

Bu derste, değiştirecek BusinessPersonID ve DayoftheWeek tek bir değer parametreleri parametrelerinden multivalue parametrelere. Multivalue parametre birden çok değer bir rapor parametresinin seçmenize olanak tanır.Rapor parametre değiştirmek için BusinessPersonID, sorgu için değiştirecek AdventureWorks2008 veri küme için sınamak için@BusinessPersonID içinde küme seçili değerlerin yerine, tek bir değer ve onay parametresi multivalue rapor özellik eşittir. Değiştirmek için DayoftheWeek Rapor parametresi multivalue özelliği denetleyecek küme kullanılabilir yeni bir veri değerleri küme ve bir ifade için varsayılan değerleri sağlar. Kullanılabilir değerler için sağlamak için yeni bir veri kümesi oluşturacağınız DayoftheWeek parametre. Son olarak, rapor, parametre değerlerini görüntülemek için bir metin kutusu ekleyecektir DayoftheWeek yapılan seçimleri.

Varolan bir veri kümesini değiştirmek için

  1. Raporu veri bölmesi, dataset AdventureWorksDataset sağ tıklatın ve ardından DataSet özellikleri.

  2. Içinde Veri kaynağıAdventureWorks_Ref'in seçili olduğunu doğrulayın.

  3. Içinde Sorgu türü doğrulayın.Metin seçilir.

  4. Tıklatın Sorgu Tasarımcısı düğmesini sorgu tasarımcısını açın.

  5. Aşağıdaki sorgudaki metni metin kutusu içinde değiştirin:

    SELECT 
       soh.OrderDate AS [Date], DATENAME(weekday, soh.OrderDate) as Weekday,
       soh.SalesOrderNumber AS [Order], 
       pps.Name AS Subcat, pp.Name as Product,  
       SUM(sd.OrderQty) AS Qty,
       SUM(sd.LineTotal) AS LineTotal
    FROM Sales.SalesPerson sp 
       INNER JOIN Sales.SalesOrderHeader AS soh 
          ON sp.BusinessEntityID = soh.SalesPersonID
       INNER JOIN Sales.SalesOrderDetail AS sd 
          ON sd.SalesOrderID = soh.SalesOrderID
       INNER JOIN Production.Product AS pp 
          ON sd.ProductID = pp.ProductID
       INNER JOIN Production.ProductSubcategory AS pps 
          ON pp.ProductSubcategoryID = pps.ProductSubcategoryID
       INNER JOIN Production.ProductCategory AS ppc 
          ON ppc.ProductCategoryID = pps.ProductCategoryID
    GROUP BY ppc.Name, soh.OrderDate, soh.SalesOrderNumber, 
       pps.Name, pp.Name,    soh.SalesPersonID
    HAVING 
    ppc.Name = 'Clothing' 
    AND (soh.OrderDate BETWEEN (@StartDate) AND (@EndDate))
    AND  soh.SalesPersonID IN (@BusinessPersonID)
    

    Eşitlik eklenmesi için bir koşul değiştirilmiş olmasıdır, önce aynı sorgu olarak budur.

    AND soh.SalesPersonID IN (@BusinessPersonID)
    
  6. Tıklatın Çalışma (!) düğme.Sorgu parametreleri istendiğinde, değer girmek için aşağıdaki tabloyu kullanın.Sorgu tasarımcısı çok değerli parametrelerin sınanmasını desteklemez.

    @StartDate

    20010101

    @EndDate

    20030101

    @BusinessPersonID

    290

  7. Click OK.

    Sonuç kümesi için satış temsilcisi ile Ranjit Varkey Chudukatil görüntülenir. BusinessPersonID = 290.

BusinessPersonID rapor parametresini birden fazla değeri kabul etmek üzere düzenlemek için

  1. Rapor verilerini bölmesinde, Genişlet Parametreleri çift seçeneğini tıklatınBusinessPersonID parametresi.

  2. Seçin Birden çok değer izin ver seçeneği.

  3. Click OK.

  4. ' I tıklatın Önizleme.Rapor otomatik olarak çalışır.Alt-kapalı için listeleme BusinessPersonID tüm satış elemanı adları gösterir.

Not

BİR)Tümünü Seç) değer varsayılan olarak, multivalue bir parametre için bir kullanılabilir değerleri kapalı açılan listedeki ilk değer olarak sağlanır.Tümünü seçmek ve tüm değerleri temizlemek için bu onay kutusunu kullanın.Varsayılan olarak, tüm değerleri seçilir.

Bir rapor parametresi için tüm geçerli değerleri doldurmak üzere yeni bir veri kümesi eklemek için

  1. Tasarım görünümüne geçin.

  2. Rapor verilerini bölmesinde AdventureWorks_Ref'ı sağ tıklatın ve'i tıklatın Veri kümesi Ekle.The Dataset Properties dialog box opens.

  3. Içinde Adı tür alanWeekDaysfromQuery.

  4. Içinde Sorgu türü, metin seçili olmadığını doğrulayın.

  5. Içinde Sorgu, aşağıdaki sorgu dizesini yapıştırın veya yazın:

    SET DATEFIRST 1;
    SELECT DISTINCT 
       DATEPART(weekday, S.OrderDate) as WeekDayNumber,
       DATENAME(weekday, S.OrderDate) as Weekday
       FROM Sales.SalesOrderHeader S
    Order by WeekDayNumber
    
  6. Tıklatın Çalışma (!) Sorgu Tasarımcısı araç çubuğunda düğme.Sonuç kümesi, sıra numaralarını ve haftanın günlerini belirtir.

  7. ' I tıklatın SORUNSUZ iki kez çıkmak içinDataSet özellikleri iletişim kutusu.

    Veri kümesi WeekDaysfromQuery raporu veri bölmesinde görüntülenir.

Bir parametreyi birden fazla değeri, varsayılan değerleri ve geçerli değerleri kabul etmek üzere düzenlemek için

  1. Rapor verilerini bölmesinde, Genişlet Parametreleri çift tıklatınDayoftheWeek.The Report Parameter Properties dialog box opens.

  2. Seçin Birden çok değer izin ver.

  3. ' I tıklatın Kullanılabilir değerler.

  4. Seçin Bir sorgudan değerleri Al.

  5. Içinde DataSetbırakma-kapalı listesinde, seçin.WeekDaysfromQuery.

  6. Içinde Değer alanbırakma-kapalı listesinde, seçin.Haftanın günü.

  7. Içinde Başlık alan aþaðý açýlan listeden seçinHaftanın günü.

  8. ' I tıklatın Varsayılan değerler.

  9. Seçin Değerleri belirtin..

  10. (Isteğe bağlı) Varolan değeri seçin. Cuma ve tıklatınSilme.

  11. ' I tıklatın Ekleme.

  12. Içinde Değer, type Cumartesi.

  13. ' I tıklatın Ekleme.

  14. Içinde Değer, type Pazar.

  15. Click OK.

Raporu önizlemek önce tablo veri için tanımlanan süzgeç ifadesini değiştirmeyi gerek bölge IN işleç için kullanılacak DayoftheWeek parametre birden çok değer kabul eder.

Bir filtreyi çok değerli parametre kullanmak üzere değiştirmek için

  1. Içinde Tasarım görünümü sağ tıklatın, tablo ve tıklatın.Tablix özellikleri.The Tablix Properties dialog box opens.

  2. ' I tıklatın Süzgeçleri.Ders 1'den DaysoftheWeek için eklenen bir süzgeci zaten var.

  3. Içinde Ifadebırakma-kapalı listesinde, değeri doğrulayın[Weekday].

  4. Doğrulayın Metin seçilir.

  5. Değiştirme işleç gelen bir eşit işareti ( =) için Içinde işleç.

  6. Içinde Değer metin kutusuna aþaðý açýlan listesinden doğrulamak değeri olduğunu [@DayoftheWeek].

  7. Click OK.

    Tablo için süzgeç şimdi hafta içi alanının değeri parametre değeri ile karşılaştırmak için ayarlanmıştır DayoftheWeek kullanarak In işleç. Filtre, raporu parametre için birden çok değer seçtiğinizde, her satırı sınayacak tablo hafta içi alan içinde olup olmadığını görmek için DayoftheWeek koleksiyon.

  8. ' I tıklatın Önizleme.Raporun rapor parametresi gösterir. DaysoftheWeek varsayılan değerlerle Cumartesi and Pazar.kapalı açılan liste için birden çok değer seçmek amacıyla kullanma DayoftheWeek parametre.

Next Steps

Rapor parametreleri özelliklerini tek değerliden birden fazla değerliye başarıyla değiştirdiniz.Sorguda, süzgeç ve bir ifade multivalue parametre koleksiyon kullanarak yerleştirmek için gerekli değişiklikleri yaptınız.Bir ifadede çok değerli parametreleri kullanmayı öğrendiniz.Sonraki derste, değerleri önceki parametrede seçilen değere bağlı olarak koşullu olarak üretilen parametre oluşturmayı öğreneceksiniz.Bkz: Ders 4: Geçişli parametreleri ekleme.

See Also

Concepts