Následující dva díly seriálu o tvorbě reportů v SSRS vás provedou přípravou jednoduchého reportu, který bude zobrazovat datové výstupy pomocí grafů.
Grafy v SSRS
Ačkoliv SSRS dává vývojářům k dispozici mnoho typů grafů (nabídka použitelných grafů v podstatě odpovídá nabídce v MS Excel), v tomto příkladě se budeme věnovat pouze dvěma - spojnicovému grafu pro numerickou proměnnou a sloupcovému grafu pro kategorickou proměnnou.
Použití ostatních typů grafů je velice porobné.
Příprava dat
Nejprve je potřeba nastavit datový zdroj - použijeme tentýž, jako v předchozích dílech seriálu (postup pro tvorbu najdete v prvním díle seriálu).
Dále založíme datové sady, které budou sloužit jako datový základ pro jednotlivé grafy (vzorové nastavení datasetu je na následujícím obrázku).
SQL dotazy, které budou plnit datasety daty budou vypadat takto:
Dotaz pro sloupcový graf
SELECT
COUNT(SalesOrderID) AS count
,st.Name
FROM sales.salesorderHeader AS soh
JOIN sales.salesTerritory AS st ON soh.TerritoryID = st.TerritoryID
GROUP BY st.name
ORDER BY name ASC
Dotaz pro liniový graf
SELECT
COUNT(salesOrderId) AS count
,year(orderDate) AS year
,month(orderDate) As month
FROM sales.salesorderHeader AS soh
WHERE year(orderDate) = 2007
GROUP BY YEAR(orderDate),month(orderDate)
ORDER BY YEAR(orderDate),month(orderDate) ASC
Nyní můžeme přejít k designu samotného reportu.
Tvorba reportu
V první části tutoriálu si projdeme tvorbu reportu se sloupcovým grafem.
- Rozvineme nástrojový panel a vybereme z něj předmět Chart, umístíme ho na tělo reportu
- Zobrazí se dialog pro výběr typu grafu - vybereme sloupcový graf (viz obrázek) a podle potřeby roztáhneme jeho rozměry
- Napojíme graf na zdrojový dataset - označíme graf a v nabídce Properites vyhledáme parametr DataSetName a nastavíme jeho hodnotu na dataset SalesPerState
- Nyní je potřeba data ze zdrojového datasetu "navázat" na osy grafu - dvojklikem na graf vyvoláme nastavení dat grafu (Chart Data).
- Pro parametr hodnot (Values) vybereme sloupec Sales (způsob agregace ponecháme na výchozí hodnotě "Sum")
- Do parametru skupin (Category Groups) přidáme nejprve slupec Group a poté sloupec State.
- Podle hodnoty uložené v parametru Series Groups můžete určit, zda se budou rozdílnými barvami odlišovat jednotlivé státy (nastavte hodnotu State), nebo regiony (hodnota Group) - obrázky v tomto článku odpovídají nastavení na hodnotu Group
- Pokud v tomto okamžiku spustíte náhled na report, všiměte si, že popis horizontální osy grafu bude mít formu hierarchie region-stát. Zároveň Vás možná zarazí, že nejsou vidět popisky pro všechny sloupce (tzn. názvy všech zemí) - za to může výchozí nastavení parametru Interval horizontální osy.
- Označte proto hodnoty horizontální osy (výchozí popis je Chart Axis - nezaměňte ji za popisek osy - Axis Title) a v panelu Properties najděte parametr Interval. Výchozí nastavená hodnota je Auto, což nechává frekvenci zobrazených popisků osy na SQL Serveru a ne vždy je zrovna ideální. Popis horizontální osy je kategorického typu, pokud chceme zobrazovat opravdu všechny popisky, nastavte jeho hodnotu na "=1" (pokud budete chtít zobrazovat každou třetí zemi, nastavte jej na "=3", atd.).
- Pokud chcete, můžete si vyzkoušet také formátování vertikální osy - vzhledem k tomu, že je plněna číselnými daty, bude se výsledek poněkud lišit od předchozího případu (obrázek náhledu reportu odpovídá nastavení na hodnotu "=500")
- Podle libosti změňte popisky os a grafu, případně přemístěte legendu
Při náhledu na graf by měl vypadat zhruba tak, jako na následujícím obrázku.
V příštím díle k reportu přidáme liniový graf a ukážeme si některá další nastavení komponenty grafu.
Přečtěte si také: Tvorba reportů v MS Reporting Services 2008, 4. díl – práce se skupinami