Udostępnij za pośrednictwem


Using Parameters to Control Report Data

Parametry raportu zazwyczaj filtrować dane pobierane ze urządzenie źródłowe danych.Filtrowanie danych w źródle danych może zwiększyć wydajność przetwarzania i wyświetlania raportu.W czasie, gdy nie można filtrować danych w źródle parametry mogą służyć do filtrowania danych w raporcie po dekompresji.Można także sortować i grupować dane w raporcie, na podstawie parametrów raportu.

Filtrowanie danych w źródle danych

Aby filtrować dane w źródle danych, należy użyć parametrów zapytania w zapytaniu zestawu danych.Dla każdego parametru kwerendy Reporting Services Tworzy odpowiedniego parametru raportu. Po wybraniu wartości parametrów raportu wartości są przekazywane do kwerendy.Gdy zapytaniw zostanie uruchomione w źródle danych, tylko wartości określone przez użytkownika zostaną pobrane do raportu.Właściwości, takie jak wartości wiersza i domyślny użytkownik stosuje się do parametru raportu.

Parametry zapytania

Parametry raportu są tworzone automatycznie podczas definiowania parametrów zapytania.W Konstruktorze raportów parametry raportu są tworzone automatycznie, gdy ustawienie monitu na klauzulę filtru.

When you define a dataset, you specify a particular type of data source, for example, Microsoft SQL Server.Projektant raportów zostanie otwarty projektant kwerend został zaprojektowany do pracy z tego typu urządzenie źródłowe danych.Podczas definiowania kwerendy dla każdego zestawu danych, Projektant kwerend identyfikuje zmiennych w tekście polecenia kwerendy i tworzy parametr kwerendy dla każdego z nich.Zapytania ze zmiennymi nie są obsługiwane w każdej kombinacji źródła danych i dostawcy danych.Aby uzyskać więcej informacji na temat składni kwerendy oczekiwanego przez urządzenie źródłowe danych zobacz Using Query Parameters with Specific Data Sources (Reporting Services).

Aby SQL Server urządzenie źródłowe danych kwerendy zazwyczaj obejmują zmienne w klauzula WHERE Transact-SQL Instrukcja ograniczenie zakres danych zwracanych po uruchomieniu kwerendy. W podobny sposób Analysis Services kwerendy urządzenie źródłowe danych zawiera zwykle MDX zmienne użyte w klauzula filtru. Zapytania mogą także zawierać zmienne przekazane jako dane wejściowe do procedur przechowywanych lub funkcji zdefiniowanych przez użytkownika.

Po każdej modyfikacji zapytania zestawu danych jest ona ponownie przetwarzana.Jeśli zmiana zapytania będzie polegać na usunięciu zmiennej lub zmianie jej nazwy, ta zmiana zostanie odzwierciedlona w parametrach zapytania.

Można utworzyć zestawu danych dodatkowych parametrów na Parametry stronaWłaściwości zestawów danych -okno dialogowe.Parametry tworzone przez użytkownika nie są zmieniane, gdy jest zmieniane zapytanie.

Jako wartość domyślna każdego parametru zapytania jest ustawiane wyrażenie, którego wynikiem jest odpowiedni parametr raportu.Aby zmienić ustawienie domyślne, należy użyć Parametry stronaWłaściwości zestawów danych -okno dialogowe.Na przykład w przypadku SQL Server urządzenie źródłowe danych, jeśli parametr kwerendy @MyParameter, jest parametr raportu MyParameter i wartości dla @MyParameter jest zestaw do wyrażenie [@MyParameter]. Aby uzyskać więcej informacji zobacz Dataset Properties Dialog Box, Parameters. Można ręcznie edytować parametry zapytania i ustawiać ich wartości domyślne.Aby uzyskać więcej informacji zobacz How to: Associate a Query Parameter with a Report Parameter.

Parametry raportu, które są tworzone automatycznie za pomocą następujących ustawień domyślnych:

  • Pojedyncza wartość

  • Typ danych Text

  • Monit ustawiony na nazwę parametru

  • Brak wartości domyślnych

  • Brak dostępnych wartości

W zależności od typu danych reprezentowanych przez parametr zapytania może być konieczna zmiana tych właściwości.Aby uzyskać więcej informacji zobacz Creating Report Parameters and Setting Report Parameter Properties.

Uwaga

Podczas usuwania parametru zapytania lub zmieniania jego nazwy odpowiadający mu parametr raportu nie jest automatycznie usuwany lub zmieniany.Jeśli po usunięciu parametru zapytania odpowiadający mu parametr raportu nie będzie już potrzebny, należy usunąć go ręcznie.Zmiana nazwy parametru zapytania spowoduje, że przy zapisywaniu zapytania zostanie utworzony nowy parametr raportu odpowiadający zmienionej nazwie.Nazwę parametru raportu można zmienić, aby była zgodna z nową nazwą parametru zapytania i można też zaktualizować właściwości parametru zestawu danych w celu połączenia parametru zapytania z parametrem raportu.

Parametry zależne lub kaskadowe

W przypadku tworzenia zapytania, w którym jest używanych wiele parametrów zapytania, można utworzyć zestaw parametrów kaskadowych.Parametry kaskadowe umożliwiają filtrowanie bardzo dużej liczby wartości parametrów w celu uzyskania rozsądnej liczby wartości.Na przykład zapytanie zawiera parametry @Kategoria, @Podkategoria i @Produkt, gdzie lista podkategorii jest zależna od parametru @Kategoria, a lista produktów jest zależna od parametru @Podkategoria.Gdy użytkownik wybierze wartość dla parametru raportu Kategoria, wartości parametru Podkategoria zostaną ograniczone to prawidłowych wartości dla wybranej kategorii.Gdy użytkownik wybierze wartość dla parametru Podkategoria, wartości dostępne dla parametru Produkt będą już przefiltrowane na podstawie wartości wybranej kategorii i podkategorii.Używając tej techniki, można zmniejszyć liczbę prawidłowych wartości parametru do rozsądnej liczby wartości.

Aby zaprojektować parametry kaskadowe, należy włączyć do raportu następujące elementy:

  • Główne zapytanie zestawu danych, które zawiera wiele pokrewnych parametrów zapytania.

  • Uporządkowana lista parametrów raportu, z których każdy jest powiązany z parametrem zapytania.Zazwyczaj są one tworzone automatycznie na podstawie zapytania głównego.Każdy parametr zależny musi znajdować się po parametrze, od którego jest zależny.Kolejność parametrów można zmienić w okienku Dane raportu, w którym parametry można przenosić w górę i w dół kolekcji.Aby uzyskać więcej informacji zobacz How to: Change the Order of a Report Parameter (Reporting Services).

  • Osobny zestaw danych dla każdego parametru raportu dostarczającego dostępne wartości.Ważne jest, aby używać takiej samej pisowni (z uwzględnieniem wielkości liter) dla każdego parametru zapytania, ponieważ umożliwi to poprawne połączenie parametrów zapytania i parametrów raportu.Zapytanie dotyczące każdego zestawu dostępnych wartości dla każdego parametru raportu musi dostarczać tylko wartości, które są sensowne w kontekście zapytania głównego.

W tym przykładzie parametr raportu Produkt jest zależny od parametru Podkategoria, który jest zależny od parametru Kategoria.Parametr Kategoria musi być pierwszy, a po nim muszą znajdować się parametry Podkategoria i Produkt.Zapytanie zestawu danych dostarczające dostępne wartości dla parametru Kategoria musi pokazywać wszystkie kategorie prawidłowe dla zapytania głównego.Zapytanie dostarczające dostępne wartości dla parametru Podkategoria po wybraniu kategorii powinno dostarczać wartości prawidłowe dla danej wartości parametru Kategoria, z uwzględnieniem wszystkich ograniczeń występujących w zapytaniu głównym.

Aby uzyskać więcej informacji zobacz How to: Add Cascading Parameters to a Report (Reporting Services).

Filtrowanie danych raportu po uruchomieniu zapytania

Można także utworzyć parametry raportu i użyć ich w wyrażeniach filtru w celu filtrowania danych w zestawie danych raportu, obszarze danych lub grupie elementu tablix.Aby uzyskać więcej informacji zobacz Filtering Data in a Report i How to: Add a Filter (Reporting Services).

Parametry raportu są częścią definicji raportu podczas jego tworzenia, ale po opublikowaniu raportu można nimi zarządzać niezależnie.Po opublikowaniu definicji raportu można zmodyfikować właściwości parametrów, korzystając z programu Report Manager.Aby uzyskać więcej informacji zobacz Setting Properties on a Published Report.

Praca z szybko zmieniającymi się prawidłowymi wartościami parametru

W przypadku określenia dostępnych wartości, które się szybko zmieniają, wartości mogą stać się nieaktualne przed uruchomieniem raportu.Może to spowodować, że użytkownik wybierze z listy wartość, która nie będzie już prawidłowa po przesłaniu wartości i uruchomieniu raportu.Aby uniknąć takich sytuacji, należy napisać zapytania zwracające zestawy danych dla list prawidłowych wartości, które nie będą zmieniać się w czasie, jakiego typowy użytkownik potrzebuje na wybranie wartości i uruchomienie raportu.

Należy także unikać szybko zmieniających się wartości, które nie są wynikiem działania zapytania.Na przykład, jeśli zostanie wprowadzony bieżącej data jako wartości dostępne napisać wyrażenie używające DateTime.Today Właściwość zamiast DateTime.Now Właściwość. Spowoduje to wyeliminowanie szybko zmieniającej się części godziny w wartości.W celu obliczenia wartości i zachowania jej jako stałej w czasie przetwarzania raportu można również użyć zmiennej raportu lub zmiennej grupy.Aby uzyskać więcej informacji zobacz Using Report and Group Variables Collection References in Expressions (Reporting Services).