Lekcja 3: Dodawanie parametrów, aby wybrać wiele wartości na liście (SSRS)
W tej lekcji będzie zmienić BusinessPersonID i DayoftheWeek Parametry z parametrów pojedynczej wartości parametrów wielowartościowym.Parametry wielowartościowym pozwalają wybrać więcej niż jedną wartość dla parametru raportu.Aby zmodyfikować parametr raport BusinessPersonID, zmieni kwerendę dla AdventureWorks2008R22008 zestaw danych do testowania @BusinessPersonID w zestawie wybranych wartości zamiast równą pojedynczą wartość i wyboru raport parametr wielowartościowym właściwość.Aby zmodyfikować DayoftheWeek parametru, raport będzie wielowartościowym właściwość, ustaw dostępne wartości z nowego zestaw danych oraz zapewnienia wyrażenie dla wartości domyślnej.Spowoduje utworzenie nowego zestawu danych zapewniające dostępnych wartości DayoftheWeek parametru.Wreszcie, doda pole tekstowe do raportu w celu wyświetlania wartości parametru DayoftheWeek dokonane wybory.
Aby zamienić istniejący zestaw danych
W okienku danych raportu, kliknij prawym przyciskiem myszy element dataset AdventureWorksDataset, a następnie kliknij Właściwości Dataset.
W źródło danych, sprawdź, czy zaznaczone jest AdventureWorks_Ref.
W Typ kwerendy, sprawdź, czy tekstu jest zaznaczone.
Kliknij projektant zapytań przycisk, aby otworzyć projektant zapytań.
Zamień tekst w polu tekstowym na następujące zapytanie:
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)
Jest to tej samej kwerendy jako przed, chyba, że warunek został zmieniony z równości do włączenia.
AND soh.SalesPersonID IN (@BusinessPersonID)
Click the Run (!) przycisk.Gdy zostanie wyświetlony monit o podanie parametrów zapytania, użyj następującej tabeli, aby wprowadzić wartości.Projektant zapytań nie obsługuje testowania parametrów wielowartościowych.
@StartDate
1/1/2001
@EndDate
1/1/2003
@BusinessPersonID
290
Kliknij przycisk OK.
Zestaw wyników jest wyświetlana dla sprzedawcy Chudukatil Varkey Ranjit z BusinessPersonID = 290.
Aby edytować parametr raportu BusinessPersonID w celu ustawienia go jako parametru wielowartościowego
W okienku danych raportu rozwiń Parametry, kliknij dwukrotnie BusinessPersonID parametru.
Wybierz Zezwalaj na wiele wartości opcji.
Kliknij przycisk OK.
Kliknij Podgląd.Raport zostanie uruchomiony automatycznie.Drop -niedziałający listy dla BusinessPersonID zawiera wszystkie nazwy sprzedawcy.
Ostrzeżenie
A (Zaznacz wszystko) wartość stanowi pierwszą wartość drop dostępne wartości -niedziałający listy dla parametru wielowartościowym.To pole wyboru umożliwia zaznaczenie lub wyczyszczenie wszystkich wartości.Domyślnie zaznaczone są wszystkie wartości.
Aby dodać nowy zestaw danych w celu wypełnienia prawidłowych wartości dla parametru raportu
Przełącz do widoku projektu.
W okienku danych raportu, kliknij prawym przyciskiem myszy AdventureWorks_Ref i kliknij przycisk Dodać Dataset.Właściwości Dataset zostanie otwarte okno dialogowe.
W nazwę pole, wpisz WeekDaysfromQuery.
W Typ kwerendy, sprawdź zaznaczony tekst.
W kwerendy, wpisz lub wklej następujący ciąg kwerendy:
SET DATEFIRST 1; SELECT DISTINCT DATEPART(weekday, S.OrderDate) as WeekDayNumber, DATENAME(weekday, S.OrderDate) as Weekday FROM Sales.SalesOrderHeader S Order by WeekDayNumber
Click the Run (!) przycisk na pasku narzędzi projektant zapytań.W zestawie wyników zostaną wyświetlone liczby porządkowe i dni tygodnia.
Kliknij OK dwa razy, aby zakończyć Właściwości Dataset okno dialogowe.
Element dataset WeekDaysfromQuery pojawi się w okienku danych raportu.
Aby edytować parametr, który będzie akceptował wiele wartości, wartości domyślne i prawidłowe wartości
W okienku danych raportu rozwiń Parametry, a następnie kliknij dwukrotnie DayoftheWeek.Właściwości raportu parametr zostanie otwarte okno dialogowe.
Wybierz Zezwalaj na wiele wartości.
Kliknij Dostępne wartości.
Wybierz uzyskać wartości z kwerendy.
W Dataset, z drop -niedziałający zaznacz WeekDaysfromQuery.
W wartość pole, z drop -niedziałający listy wybierz dzień tygodnia.
W pole Etykieta, z drop -niedziałający listy wybierz dzień tygodnia.
Kliknij wartości domyślne.
Wybierz Określ wartości.
(Opcjonalnie) Zaznacz istniejącą wartość piątek i kliknij przycisk usunąć.
Click Add.
W wartość, typ sobota.
Click Add.
W wartość, typ niedziela.
Kliknij przycisk OK.
Zanim można wyświetlić podgląd raportu, należy zmienić wyrażenie filtru zdefiniowanego dla danych tabeli region , aby zastosować operator, ponieważ DayoftheWeek parametr akceptuje wiele wartości.
Aby zmienić filtr w celu użycia parametru wielowartościowego
W Projekt wyświetlić, kliknij prawym przyciskiem myszy tabela, a następnie kliknij Właściwości element tablix.element tablix właściwości zostanie otwarte okno dialogowe.
Kliknij Filtry.Filtr, który został dodany do DaysoftheWeek z lekcji 1 już istnieje.
W wyrażenie, z drop -niedziałający list, sprawdź wartość jest [Weekday].
Sprawdź, czy tekstu jest zaznaczone.
Zmień operator od znaku równości (=) do w operator.
W wartość pole tekstowe, z drop -niedziałający list, sprawdź, czy wartość jest [@DayoftheWeek].
Kliknij przycisk OK.
W tabela filtru jest teraz zestaw do porównywania wartości pole Weekday z wartością parametru DayoftheWeek za pomocą In operator.Po wybraniu wielu wartości dla parametru raportu filtru spowoduje przetestowanie każdego wiersza tabela, aby sprawdzić, czy Weekday pole istnieje w DayoftheWeek kolekcja.
Kliknij Podgląd.Raport zawiera parametr raport DaysoftheWeek z wartościami domyślnymi sobota i niedziela.Użyj drop -niedziałający aby zaznaczyć wiele wartości dla DayoftheWeek parametru.
Następne kroki
Pomyślnie zmieniono właściwości jednowartościowego parametru raportu, dzięki czemu jest on teraz parametrem wielowartościowym.Koniecznych zmian dokonanych w kwerendzie, filtr i wyrażenie, aby pomieścić przy użyciu parametru wielowartościowym kolekcja.Użytkownik wie już, jak używać parametrów wielowartościowych w wyrażeniu.W trakcie następnej lekcji użytkownik nauczy się tworzyć parametry, których wartości są wypełniane warunkowo na podstawie wybranej wartości poprzedniego parametru.See Lekcja 4: Dodanie kaskadowego parametrów (SSRS).