Lekcja 2: Dodawanie parametrów, aby utworzyć listę dostępnych wartości (SSRS)
Dostępne wartości (prawidłowe wartości) umożliwiają dostarczenie użytkownikom listy wartości, których można użyć dla parametru raportu.Jako Autor raportu można podać prawidłowe wartości z kwerendy opracowane, aby pobrać zestaw wartości ze źródło danych lub można podać wstępnie zdefiniowany zestaw wartości.Przez powiązanie zestaw wartości dostępne do kwerendy dataset uruchamiana, gdy raport jest przetwarzana, należy upewnić się, że można wybrać tylko te wartości, które istnieją w bazie danych z drop -niedziałający listy.
In this lesson, you will modify the Sales Orders report to present a drop-down list of available salesperson names from the SQL Server AdventureWorks2008R2 database.Zostanie ustawiona właściwość tabeli służąca do wyświetlania komunikatu w sytuacji, gdy w zestawie wyników nie będzie wierszy dla wybranej wartości parametru.Po wybraniu imienia i nazwiska w wyświetlonym raporcie będą widoczne tylko transakcje sprzedaży zrealizowane przez danego sprzedawcę.
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.
Ostrzeżenie
Jeśli nie widzisz okienka danych raportu z widoku menu, kliknij Danych raportu.
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 = (@BusinessPersonID)
Jest przed, tej samej kwerendy jako, że warunek został dodany, która ogranicza zestaw wyników do jednej osoby sprzedaży:
AND soh.SalesPersonID = (@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.
@StartDate
1/31/2001
@EndDate
1/31/2003
@BusinessPersonID
290
Kliknij przycisk OK.Zestaw wyników jest wyświetlana dla sprzedawcy Chudukatil Varkey Ranjit z SalesPersonID = 290.
Aby wypełnić listę prawidłowych wartości dla parametru raportu
W okienku danych raportu kliknij Nowy, a następnie kliknij przycisk Dataset.Właściwości Dataset zostanie otwarte okno dialogowe.
W nazwę pole, wpisz BusinessPersons.Tego zestawu danych będzie używany do wypełnienia listy prawidłowych wartości dla SalesPersonID parametru raportu.
Sprawdź, czy źródło danych jest AdventureWorks_Ref.
Wklej następujący Transact-SQL kwerendy w okienku kwerendy:
SELECT SP.BusinessEntityID, C.FirstName, C.LastName FROM Sales.SalesPerson AS SP INNER JOIN HumanResources.Employee AS E ON E.BusinessEntityID = SP.BusinessEntityID INNER JOIN Person.Person AS C ON C.BusinessEntityID = E.BusinessEntityID ORDER BY SP.BusinessEntityID
Kliknij OK dwa razy.Lista pól jest wypełniona dla zestawu danych BusinessPersons.Tego zestawu danych będzie używany do podać prawidłowe wartości dla parametru BusinessPersonID.
Można zauważyć, że pola o nazwie BusinessPersons dataset FirstName i LastName.Następnie firma Microsoft będzie złączyć tych pól w jedno pole o nazwie Name.
Aby zdefiniować pole obliczeniowe w okienku Dane raportu
W pasku narzędzi okienka danych raportu prawym przyciskiem myszy element dataset BusinessPersons i kliknij przycisk Dodać pole obliczeniowe.Pola strona Właściwości Dataset okno dialogowe z nowego wiersza dodane do siatki.
W ostatnim Nazwę pola pole tekstowe, typ nazwę.
W Źródło pola tekst opcję Wklej następujące wyrażenie:
=Fields!LastName.Value & ", " & Fields!FirstName.Value
Kliknij przycisk OK.
W okienku danych raportu w obszarze dataset BusinessPersons, nowe pole Name występuje kolekcja pola dla elementu dataset.
Aby wypełnić parametr raportu za pomocą listy dostępnych wartości
W okienku danych raportu, rozwiń węzeł parametry i kliknij prawym przyciskiem myszy BusinessPersonID, kliknij przycisk Właściwości parametru.
W Prompt, osoby biznesowe wybierz typ:.
W Typ danych, wybierz opcję całkowitą.
Kliknij Dostępne wartości.
Wybierz uzyskać wartości z kwerendy opcji.
Z Dataset drop -niedziałający listy wybierz BusinessPersons.
Z wartość pole drop -niedziałający, wybierz opcję BusinessEntityID.
Z pole Etykieta drop -niedziałający, wybierz opcję nazwę.
Wybierając nazwę etykiety drop -niedziałający listę prawidłowych wartości dla BusinessEntityID parametr będzie teraz zawierać nazwy każdego sprzedawcy, zamiast numeru sprzedawca.
Kliknij wartości domyślne.
Wybierz uzyskać wartości z kwerendy opcji.
Z Dataset drop -niedziałający listy wybierz BusinessPersons.
Z wartość pole drop -niedziałający listy wybierz BusinessEntityID.
Kliknij przycisk OK.
Kliknij Podgląd kartę.W raporcie zostanie wyświetlona lista rozwijana zawierająca imiona i nazwiska pracowników firmy.
Kliknij Wyświetl raport.Wybierz inne wartości parametrów, aby przejrzeć wyniki.
Następne kroki
Lista dostępnych wartości parametru została pomyślnie dodana do istniejącego raportu.Następnie należy zmodyfikować DayoftheWeek i SalesPersonID parametrów jako wielowartościowe.See Lekcja 3: Dodawanie parametrów, aby wybrać wiele wartości na liście (SSRS).