Tvorba reportů v MS Reporting Services 2008 – 3. díl
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Tvorba reportů v MS Reporting Services 2008 – 3. dílTvorba reportů v MS Reporting Services 2008 – 3. díl

 

Tvorba reportů v MS Reporting Services 2008 – 3. díl

Google       Google       5. 8. 2013       18 183×

Budeme pokračovat v tématu z předchozího dílu, věnovaného tvorbě parametrů reportu. Přidáme do reportu parametry různých datových typů a kromě jejich použití jako filtru dat si ukážeme, jak pomocí parametrů měnit vzhled reportu.

Reklama
Reklama

Přidávání parametrů

  1. Základní tabulku tedy máme hotovou a můžeme přejít k obohacení reportu o parametry (příslušné datové sady naleznete v minulém díle). Nejprve vytvoříme parametr pro filtraci záznamů na základě křestního jména (bude se testovat, jestli je hodnota parametru obsažena jako podřetězec). Půjde o parametr textového typu, který bude moct zůstat nevyplněn (report pak bude vracet záznamy se všemi jmény). Vytvoříme tedy nový parametr a pojmenujeme ho Name – jeho základní nastavení bude vypadat jako na obrázku:

    Žádné výchozí hodnoty u tohoto parametru nastavovat nebudeme.

  2. Dalšími dvěma parametry nabídneme uživateli filtraci dat podle specifikace geografické lokality. K tomu použijeme dva parametry, jeden pro výběr státu a druhý pro výběr menšího územního celku v rámci vybraného státu. Založíme nový parametr country a nastavíme ho následovně:

    Tento parametr bude nabízet hodnoty získané datasetem ds_country, položku Available values vyplníme takto:

  3. Následně přidáme parametr province pro výběr menší geografické oblasti. Provázání poskytovaných oblastí na základě vybrané země je zajištěno ve zdrojovém datasetu (všimněte si, že po spuštění reportu není možné vybrat „provincii“, dokud není vybrána alespoň jedna země). Nastavení reportu bude vypadat takto:

    U tohoto reportu budeme chtít, aby byly ve výchozím stavu vybrány všechny hodnoty, to provedeme následujícím nastavením:

  4. Dále přidáme dvojici parametrů pro výběr záznamů s určitým datem vzniku (resp. datem registrace zákazníka). Tyto parametry pojmenujeme Date_from a Date_to a oba budou typu Date/Time. První z nich bude moct zůstat nevyplněn (tím pádem nebude specifikována dolní mez rozsahu) a výchozí hodnota druhého bude nastavena na aktuální datum. Základní nastavení obou bude vypadat následovně (hodnoty Name a Prompt se pochopitelně budou lišit):
    U parametru Date_to v záložce Default Values zaškrtneme volbu Specify Values a tlačítkem Add přidáme novou hodnotu a specifikujeme ji výrazem (tlačítko Fx) – výchozí hodnota bude definována funkcí Today, která vrací aktuální datum (viz obrázek).
  5. Posledním parametrem budeme ovlivňovat (ne)zobrazování sloupce obsahujícího e-mailové adresy zákazníků. Tento parametr pojmenujeme pHide a bude typu Boolean.
    Pokud vám vadí, že hodnoty, jenž parametr po spuštění reportu nabízí, jsou anglicky, můžete je „překrýt“ v záložce Available values (dojde tak nicméně k vizuální změně tohoto parametru).
    Klikněte pravým tlačítkem myši na záhlaví sloupce s e-mailovými adresami a zvolte možnost ColumnVisibility a jeho viditelnost nastavte na hodnotu parametru hide:
    Tímto jsme dokončili přidávání parametrů. Nyní je potřeba ještě upravit základní datovou sadu reportu tak, aby reflektovala uživatelem zvolené hodnoty parametrů. Do zdrojového dotazu této datové sady tedy přidáme WHERE sekci, která bude vypadat takto:
WHERE sp.StateProvinceID in (@province)
AND cr.CountryRegionCode in (@country)
AND per.FirstName LIKE (@Name+'%')
AND ((per.ModifiedDate BETWEEN @Date_from AND @Date_to)
        OR (@Date_from is NULL AND per.ModifiedDate <=@Date_to)
    )ORDER BY st.Name, per.FirstName,per.LastName ASC

Všimněte si, že parametry „Date_from“ a „Date_to“ jsou porovnávány s hodnotou ModifiedDate. Tato hodnota uchovává datum poslední modifikace záznamu, ne nutně datum registrace zákazníka – v této ukázce je tedy použita trochu „uměle“ :-).

Výsledný report pak po spuštění vypadá takto:

Závěr

V posledních dvou článcích jsme se naučili, jak založit nový report, naplnit jej datovými výstupy z požadované databáze a tyto výstupy filtrovat pomocí parametrů. Také jsme si ukázali, že parametry jsou použitelné i pro podmíněné formátování designu reportu.

Prozatím nešlo o nic, co by bylo nezvládnutelné s použitím „běžných“ technologií, v následujících částech se nicméně konečně dostaneme k funkcím Reporting Services, které umožňují shlukování dat do skupin (a další práci s nimi), tvorbu grafů, atd.

Právě tyto funkce představují hlavní sílu tohoto reportovacího nástroje.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
3 hlasy
Google
Jakub v současné době pracuje jako BI specialista ve společnosti Tieto Czech. Mimo to se zajímá o databáze a dolování dat.
LinkedIn    

Nové články

Obrázek ke článku Seznamte se s open source platformou NopCommerce – 1. díl

Seznamte se s open source platformou NopCommerce – 1. díl

Hledáte e-commerce řešení, které si dokážete přizpůsobit podle vašich požadavků? Chcete čistý a srozumitelný kód, se kterým bude radost pracovat? Prozkoumejte s námi možnosti open source projektu NopCommerce. Seriál programování pod NopCommerce Vám pomůže překonat první kroky nejistoty a úspěšně zvládnout vývoj pod platformou NopCommerce.

Reklama
Reklama
Obrázek ke článku Facebook spouští službu Marketplace V ČR

Facebook spouští službu Marketplace V ČR

Společná platforma Marketplace usnadní lidem na Facebooku vyhledávání, nákup a prodej použitého zboží na lokální úrovni. Bude tak přímou konkurencí pro weby a aplikace se stejným zaměřením jako je například Letgo, Bazoš, Aukro, Sbazar a další.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý