Lekcja 1: Dodawanie parametrów do filtrowania raportów pocztą data (Report Builder 2.0)
Określenie parametrów daty rozpoczęcia i zakończenia w zapytaniu raportu pozwoli wyznaczyć przedział dat, który będzie ograniczał ilość informacji pobieranych ze źródła danych.Można też utworzyć dodatkowe parametry służące do filtrowania danych po pobraniu.
W tej lekcji spowoduje dodanie parametrów @StartDate i @EndDate do kwerendy w celu ograniczenia ilości danych pobierane ze urządzenie źródłowe danych. Dwa parametry raportu StartDate i EndDate, automatycznie są tworzone automatycznie i są wyświetlane w okienku danych raportu. W parametrach jest rozróżniana wielkość liter.W Transact-SQL, parametrów kwerendy zaczyna @ symbol, dlatego parametry raportu, jak wyświetlane w okienku danych raportu nie.
Użytkownik będzie zestaw parametry, które mają typ danych DateTime i z parametrów pole tekstowe na pasku narzędzi przeglądarki raport będzie wyświetlany formant kalendarza. Następnie zostaną skonfigurowane domyślne wartości parametrów umożliwiające automatyczne generowanie raportu.Wreszcie spowoduje utworzenie parametru raportu DayofWeek który nie jest powiązany z parametr kwerendy i używać go do filtrowania danych po dane są pobierane ze urządzenie źródłowe danych.
Ten samouczek wymaga, aby zostało zakończone Samouczek: Tworzenie raportu tabela podstawowej (Konstruktora raportów 2.0).
Aby otworzyć istniejący raport
Kliknij przycisk Rozpocznij, point to Programy, point to Konstruktora raportów Microsoft SQL Server 2008, a następnie kliknij przycisk Konstruktor raportów 2.0.
Kliknij przycisk Konstruktora raportów Otwórz.
Przejdź do zamówienia sprzedaży.Jest to raport, który został utworzony w Samouczek: Tworzenie raportu tabela podstawowej (Konstruktora raportów 2.0).
Kliknij przycisk Otwórz.Definicja raportu zostanie otwarta w widoku projektu.
Teraz zastąpisz zapytanie generujące zestaw danych zapytaniem zawierającym parametr zapytania.
Aby zamienić istniejące zapytanie zestawu danych
W okienku danych raportu kliknij prawym przyciskiem myszy zestaw danych DataSet1, a następnie kliknij przycisk Kwerendy.Zostanie otwarty projektant zapytań.
W okienku zapytania zamień tekst na następujące zapytanie:
SELECT SH.OrderDate ,SH.SalesOrderNumber ,SD.OrderQty ,SD.LineTotal ,P.Name AS [Product] ,PS.Name AS [Subcategory] FROM Sales.SalesOrderHeader AS SH 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.OnlineOrderFlag = 0 AND (SH.OrderDate BETWEEN (@StartDate) AND (@EndDate))Jest to w tej samej kwerendy, z tą różnicą, że sortowanie klauzula ORDER BY została usunięta, a warunek z dwóch ograniczanie parametrami został dodany:
AND (SH.OrderDate BETWEEN (@StartDate) AND (@EndDate))
Kliknij przycisk Uruchamianie (!) na pasku narzędzi.The Define Query Parameters dialog box opens and prompts for a value for each parameter.
Aby zobaczyć wyfiltrowany zestaw wyników, określ obie wartości:
W Wartość parametru Kolumna wprowadź wartość@StartDate, na przykład 20010101.
W Wartość parametru Kolumna wprowadź wartość@EndDate, na przykład 20030101.
Click OK.
Jako wynik zostanie wyświetlony zestaw danych z wartościami określającymi zamówienia z lat 2001 i 2002.
Click OK.
W okienku danych raportu rozwiń węzeł parametry, aby wyświetlić dwa parametry raportu StartDate i EndDate, które są automatycznie tworzone na podstawie parametrów kwerendy.
Po zdefiniowaniu parametrów kwerendy, reprezentujące data lub godziny, należy zmienić typ danych parametrów raportu w celu dopasowania.
Aby zmienić typ danych i domyślne wartości parametru raportu
W okienku danych raportu kliknij prawym przyciskiem myszy StartDate, a następnie kliknij przycisk Właściwości parametru.
Sprawdź, czy nazwa parametru StartDate a w wierszu jest data rozpoczęcia.
W Typ danych, select Data/Godzina.Spowoduje to ustawienie typu danych parametru raportu, który zostanie zapisany w definicji raportu.
Click OK.
W okienku danych raportu kliknij dwukrotnie EndDate. Sprawdź nazwę i wartości monitów.
W Typ danych, select Data/Godzina.
Click OK.
Kliknij przycisk Uruchamianie , aby wyświetlić podgląd raportu.The StartDate and EndDate parameters each appear on the report toolbar with a calendar control.Formanty kalendarza są automatycznie wyświetlane, gdy parametr ma typ danych Date/Time i nie zostały zdefiniowane na liście dostępnych wartości. Jeśli taka lista została utworzona, będzie wyświetlana lista rozwijana z tymi wartościami.
Podaj wartości obu parametrów, co umożliwi generowanie raportu.Można skorzystać z formantu kalendarza lub po prostu wpisać odpowiednie daty w następujących polach:
W StartDate parametr w polu tekstowym, wpisz 2001-01-01.
W EndDate parametr w polu tekstowym, wpisz 2003-01-01.
Kliknij przycisk Wyświetl raport.W raporcie będą wyświetlane wyłącznie dane mieszczące się w granicach wyznaczonych przez wartości parametrów raportu.
Po utworzeniu parametrów raportu można określić ich wartości domyślne.Parametry domyślne umożliwiają automatyczne generowanie raportu. W przeciwnym razie użytkownik musi je samodzielnie wprowadzać.
Aby skonfigurować domyślne wartości parametrów
Przełącz do widoku projektu.
W okienku danych raportu rozwiń parametry, a następnie kliknij dwukrotnie StartDate. The Report Parameter Properties dialog box opens.
Kliknij przycisk Wartości domyślne.
Wybierz Określanie wartości opcji.The Add button and an empty Value grid appears.
Kliknij przycisk Dodawanie.Do siatki zostanie dodany pusty wiersz.
W Wartość pola tekstowego, Zastąp tekst domyślny (NULL) i wpisz 2001-01-01.
Click OK.
W okienku zadań Projekt raportu a następnie dwukrotnie kliknij EndDate.
Kliknij przycisk Wartości domyślne.
Wybierz Określanie wartości opcji.
Kliknij przycisk Dodawanie.
Typ 2003-01-01.
Click OK.
Kliknij przycisk Podgląd.Raport zostanie wykonany natychmiast, ponieważ każdy parametr ma wartość domyślną.
Aby do zapytania dodać nowe pole dla celów filtrowania
Przełącz do widoku projektu.
Kliknij prawym przyciskiem myszy zestaw danych DataSet1 i wybierz polecenie Właściwości zestawów danych.Otwórz projektanta zapytań i w miejsce istniejącego zapytania wpisz następujące zapytanie:
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.SalesOrderHeader AS SH 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.OnlineOrderFlag = 0 AND (SH.OrderDate BETWEEN (@StartDate) AND (@EndDate))W kwerendzie dodatkowej kolumna obliczeniowe jest zdefiniowany dla dnia tygodnia, dodając następujące polecenie do instrukcja SELECT wystąpił podczas sprzedaży:
,DATENAME(weekday, soh.OrderDate) as Weekday.
Kliknij przycisk Uruchom)!).The Zdefiniuj parametry kwerendyzostanie otwarte okno dialogowe .
W Wartość parametru Kolumna wprowadź wartość@StartDate, na przykład 20010101.
W Wartość parametru Kolumna wprowadź wartość@EndDate, na przykład 20030101.
Click OK. Należy skontaktować się z nową kolumna w wyniku ustawić oznaczonych dzień roboczy.
Kliknij przycisk OK dwa razy.Sprawdź, czy w okienku Dane raportu widać pole Weekday.
Teraz gdy tabela zawiera dane identyfikujące dzień tygodnia, można dodać filtr, dzięki któremu w raporcie znajdą się dane o sprzedaży tylko z wybranego dnia tygodnia.W celu weryfikacji poprawności informacji dzień tygodnia można wyświetlać obok dnia zamówienia sprzedaży.
Aby sformatować datę w tabeli
Przełącz do widoku projektu.
Kliknij komórkę zawierającą wyrażenie pola OrderDate.Na Główny karcie w Numer grupy, kliknij opcję uruchamiania okno dialogowe.
W Kategoria, zweryfikuj, że Data jest zaznaczone.
W Typ wybierz typ data, który wyświetla dzień tygodnia.Jeśli na przykład obowiązują ustawienia regionalne Polska, można wybrać opcję Poniedziałek, 31 stycznia 2000 r.
Click OK.
Kliknij przycisk Uruchamianie , aby wyświetlić podgląd raportu.W komórce daty w pierwszej kolumnie tabeli będzie wyświetlany dzień tygodnia wraz z datą kalendarzową.
Następnie należy dodać parametr, aby umożliwić użytkownikowi przefiltrować dane według dni tygodnia.
Aby dodać nowy parametr raportu
Przełącz do widoku projektu.
W okienku danych raportu kliknij przycisk Nowy, a następnie kliknij przycisk Parametr.The Report Parameter Properties dialog box opens.
W polu Nazwa wpisz DayoftheWeek.
W Monituj, filtr na dzień tygodnia, należy wpisać:.
Sprawdź, czy typ danych Text.
Kliknij przycisk Wartości domyślne.
Wybierz Określanie wartości opcji.The Add button and an empty Value grid appears.
Kliknij przycisk Dodawanie.
Typ piątek.
Click OK.
Następnie należy dodać filtr, aby wyświetlić tylko wybrane dla wartości DayoftheWeek parametr. Filtr można dodać do tabeli lub do zestawu danych.Raport zawiera zarówno tabelę, jak i wykres, w których są wyświetlane te same dane.Jeśli wyfiltrowane dane mają być widoczne tylko w tabeli, dodaj filtr do tabeli.Aby były widoczne w tabeli i na wykresie, dodaj filtr do zestawu danych.Poniżej opisano procedurę konfigurowania filtra w zestawie danych.
Aby skonfigurować filtr zestawu danych z wyrażeniem parametru
W widoku Projekt, w okienku danych raportu kliknij prawym przyciskiem myszy DataSet1, a następnie kliknij przycisk Właściwości zestawów danych.
Kliknij przycisk Filtry.
Kliknij przycisk Dodawanie.Do siatki zostanie dodany pusty wiersz.
W Wyrażenie, na liście rozwijanej zaznacz [Weekday].
Sprawdź, czy Operator Wyświetla znak równości (=).
Kliknij przycisk (wyrażenieFX) znajdujący się obok Wartość pole tekstowe.The wyrażenie dialog box opens.
W polu Kategoria kliknij Parametry.W okienku Wyniki pojawi się aktualna lista wartości.Kliknij dwukrotnie ikonę DayoftheWeek. Wyrażenie parametru zostanie dodane do pola tekstowego wyrażenia.W polu tekstowym wyrażenie pojawia się teraz następujące wyrażenie: =Parameters!DayoftheWeek.Value.
Click OK.
Wartość Wyświetla prostych wyrażenie DayoftheWeek parametr: [@DayoftheWeek].
Click OK.
Filtr dla danych ma teraz wartość porównać wartość pole dzień roboczy z wartością parametru dla DayoftheWeek. Na przykład po wprowadzeniu wartości piątku na pasku narzędzi raportu dla DayoftheWeek, procesor raport będzie przetwarzać tylko te wiersze w tabela, których wartość pole dzień roboczy jest piątek.
Kliknij przycisk Podgląd.Ponieważ wszystkie parametry mają zdefiniowane wartości domyślne, raport zostanie wygenerowany automatycznie.Tabela i wykres pokazuje tylko wartości, które wchodzą w zakres dat, dla którego definiowane przez StartDate i EndDate a które przypadają w piątek,. W opisywanym zestawie danych tylko trzy daty wypadają w piątek:
1 lutego 2002
01.03.02
01.11.02
Next Steps
Pomyślnie zdefiniowano parametry zapytania i raportu, określono domyślne właściwości parametrów oraz skonfigurowano filtr zestawu danych.Podczas następnej lekcji użytkownik nauczy sie tworzyć listę dostępnych (prawidłowych) wartości parametru.Zobacz Lekcja 2: Dodawanie parametry, aby utworzyć listę dostępnych wartości (Konstruktora raportów 2.0).