Výukový materiál: Jak vytvořit maticovou sestavu (Report Builder)

V tomto kurzu se naučíte vytvořit stránkovanou sestavu v Reporting Services s maticí ukázkových prodejních dat ve vnořených skupinách řádků a sloupců.

Vytvoříte také sousední skupinu sloupců, naformátujete sloupce a otočíte text. Následující obrázek ukazuje zprávu podobnou té, kterou vytvoříte vy v tomto kurzu.

Snímek obrazovky sestavy matice v Report Builder.

Odhadovaná doba dokončení tohoto kurzu: 20 minut.

Požadavky

Informace o požadavcích najdete v tématu Požadavky pro kurzy.

1. Vytvoření sestavy matice a datové sady z nové tabulky nebo Průvodce maticí

V této části zvolíte sdílený zdroj dat, vytvoříte vloženou datovou sadu a pak zobrazíte data v matici.

Poznámka:

V tomto kurzu už dotaz obsahuje datové hodnoty, takže nepotřebuje externí zdroj dat. Díky tomu je dotaz poměrně dlouhý. V obchodním prostředí by dotaz neobsahoval data. To je pouze pro účely výuky.

Vytvoření matice

  1. Start Report Builder z počítače, webového portálu Reporting Services nebo SharePoint integrovaného režimu.

    Otevře se dialogové okno Nová sestava nebo datová sada .

    Pokud dialogové okno Nová sestava nebo datová sada nevidíte, v nabídce Soubor klikněte na >Nový.

  2. V levém panelu ověřte, že je vybráno New Report.

  3. V pravém podokně vyberte Průvodce tabulkou nebo maticí.

  4. Na stránce Zvolit datovou sadu vyberte Vytvořit datovou sadu.

  5. Vyberte Další.

  6. Na stránce Zvolit připojení ke zdroji dat vyberte existující zdroj dat nebo přejděte na server sestav a vyberte zdroj dat. Pokud nemáte k dispozici žádný zdroj dat nebo přístup k serveru sestav, můžete použít místo toho integrovaný zdroj dat. Informace o vytvoření vloženého zdroje dat najdete v tématu Tutorial: Vytvoření základní tabulkové sestavy (Report Builder).

  7. Vyberte Další.

  8. Na stránce Návrh dotazu vyberte Upravit jako text.

  9. Zkopírujte a vložte následující dotaz do podokna dotazu:

    SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13747.25 AS money) AS Sales, 55 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(9248.15 AS money) As Sales, 37 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1800.00 AS money) AS Sales, 24 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1125.00 AS money) AS Sales, 15 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,  'Lens Adapter' as Product, CAST(742.50 AS money) AS Sales, 11 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1417.50 AS money) AS Sales, 21 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13497.30 AS money) AS Sales, 54 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(11997.60 AS money) AS Sales, 48 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(10247.95 AS money) As Sales, 41 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory, 'Tripod' as Product, CAST(1200.00 AS money) AS Sales, 16 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(2025.00 AS money) AS Sales, 27 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1425.00 AS money) AS Sales, 19 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(887.50 AS money) AS Sales, 13 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Lens Adapter' as Product, CAST(607.50 AS money) AS Sales, 9 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1215.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(10191.00 AS money) AS Sales, 79 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'North' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8772.00 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(10578.00 AS money) AS Sales, 82 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(7218.10 AS money) AS Sales, 38 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory,'Digital' as Subcategory,'Slim Digital' as Product, CAST(9307.55 AS money) AS Sales, 49 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(3870.00 AS money) AS Sales, 30 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'North' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(5805.00 AS money) AS Sales, 45 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8643.00 AS money) AS Sales, 67 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(9877.40 AS money) AS Sales, 52 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(12536.70 AS money) AS Sales, 66 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(6648.25 AS money) AS Sales, 35 as Quantity  
    
  10. (volitelné) Výběrem ikony Spustit (!) spusťte dotaz a zobrazte data.

  11. Vyberte Další.

2. Uspořádejte data a zvolte rozložení z nové tabulky nebo Průvodce maticí.

Pomocí průvodce můžete zadat počáteční návrh, na kterém se mají zobrazit data. Podokno náhledu v průvodci vám pomůže před dokončením návrhu matice vizualizovat výsledek seskupování dat.

  1. Na stránce Uspořádat pole přetáhněte oblast z dostupných polí do skupin řádků.

  2. Přetáhněte SalesDate do skupin řádků a umístěte ho za teritorium.

    Pořadí, ve kterém jsou pole uvedena ve skupinách řádků , definuje hierarchii skupin. Kroky 1 a 2 uspořádají hodnoty polí nejprve podle oblasti a potom podle data prodeje.

  3. Přetáhněte podkategorie do skupin sloupců.

  4. Přetáhněte produkt do skupin sloupců a umístěte ho za podkategorii.

    Pořadí, ve kterém jsou pole uvedena ve skupinách sloupců , definuje hierarchii skupin. Kroky 3 a 4 uspořádají hodnoty polí nejprve podle podkategorie a potom podle produktu.

  5. Přetáhněte Prodeje do hodnot.

    Prodej se shrnuje pomocí funkce Sum, výchozí funkce pro sumarizaci číselných polí.

  6. Přetáhněte množství na hodnoty.

    Množství se shrnuje pomocí funkce Sum.

    Kroky 5 a 6 určují data, která se mají zobrazit v buňkách maticových dat.

    Snímek obrazovky zobrazující uspořádání polí v průvodci sestavou Report Builder.

  7. Vyberte Další.

  8. Na stránce Zvolit rozložení v části Možnosti ověřte, že je vybraná možnost Zobrazit mezisoučty a celkové součty .

  9. Ověřte, že je vybraná možnost Blokováno, mezisoučet níže.

  10. Ověřte, že je vybraná možnost Rozbalit nebo sbalit skupiny .

  11. Vyberte Další.

  12. Vyberte Dokončit.

    Matice se přidá na návrhovou plochu. Podokno Skupiny řádků zobrazuje dvě skupiny řádků: Territory a SalesDate. Podokno Skupiny sloupců zobrazuje dvě skupiny sloupců: Podkategorie a Produkt. Podrobná data jsou všechna data, která dotaz datové sady načte.

    Snímek obrazovky, který zobrazuje skupiny řádků a sloupců v Report Builder.

  13. Vyberte Spustit pro zobrazení náhledu sestavy.

    Pro každý produkt, který se prodává k určitému datu, matice zobrazuje podkategorie, do které produkt patří, a území prodeje.

  14. Rozbalte podkategorii. Rychle zjistíte, že se sestava rozšiřuje.

Snímek obrazovky, který zobrazuje rozbalenou maticovou sestavu v Report Builderu.

3. Formátování dat

Ve výchozím nastavení souhrnná data pro pole Sales (Prodej) zobrazují obecné číslo a pole SalesDate (Datumprodeje) zobrazuje informace o datu i čase. V této části naformátujete pole Sales tak, aby zobrazovalo číslo jako měnu a pole SalesDate tak, aby se zobrazilo pouze datum. Přepněte styly zástupného textu, aby se formátovaná textová pole a zástupný text zobrazily jako příkladové hodnoty.

Formátování polí

  1. Výběrem Návrh přepnete do návrhového zobrazení.

  2. Stiskněte klávesu Ctrl a pak vyberte devět buněk, které obsahují [Sum(Sales)].

  3. Na kartě Domů>Číslo>Měna. Buňky se změní tak, aby zobrazovaly formátovanou měnu.

    Pokud je vaše místní nastavení angličtina (USA), výchozí ukázkový text je [$12,345,00]. Pokud ve skupině Čísla nevidíte ukázkovou hodnotu měny, vyberte Ukázkové hodnoty zástupných stylů>.

    Snímek obrazovky možnosti Ukázkové hodnoty v Report Builderu.

  4. Vyberte buňku, která obsahuje [SalesDate].

  5. Ve skupině Číslo přejděte na Datum.

    V buňce se zobrazí ukázkové datum [31.1.2000]. Pokud ukázkové datum nevidíte, vyberte ve skupině Číslazástupné styly a pak zvolte Ukázkové hodnoty.

  6. Vyberte Spustit pro zobrazení náhledu sestavy.

Hodnoty kalendářních dat zobrazují pouze kalendářní data a hodnoty prodeje se zobrazují jako měna.

4. Přidání sousední skupiny sloupců

Můžete vnořit skupiny řádků a sloupců v relacích rodič-dítě, nebo jako sousedící ve vztazích sourozeneckých.

V této části přidáte skupinu sloupců vedle skupiny sloupců Podkategorie, zkopírujete buňky pro naplnění nové skupiny sloupců a pak pomocí výrazu vytvoříte hodnotu záhlaví skupiny sloupců.

Přidání sousední skupiny sloupců

  1. Vyberte Návrh a vraťte se do návrhového zobrazení.

  2. Klikněte pravým tlačítkem myši na buňku, která obsahuje [Subcategory], na Přidat skupinu a poté vyberte Sousední vpravo.

    Otevře se dialogové okno „Tablix Group“.

  3. V seznamu Seskupit podle vyberte SalesDate a pak zvolte OK.

    Vpravo od skupiny sloupců Podkategorie se přidá nová skupina sloupců.

  4. Klikněte pravým tlačítkem myši na buňku v nové skupině sloupců, která obsahuje [SalesDate], , a pak vyberte Výraz.

  5. Zkopírujte následující výraz do pole výrazu.

    =WeekdayName(DatePart("w",Fields!SalesDate.Value))  
    

    Tento výraz extrahuje název dne v týdnu z data prodeje. Další informace najdete v tématu Výrazy ve stránkované sestavě (Report Builder).

  6. Klikněte pravým tlačítkem myši na buňku ve skupině sloupců Podkategorie, která obsahuje souhrn, a pak vyberte Kopírovat.

  7. Klikněte pravým tlačítkem myši na buňku bezprostředně pod buňkou, která obsahuje výraz, který jste vytvořili v kroku 5, a vyberte Vložit.

  8. Stiskněte klávesu Ctrl.

  9. Ve skupině Podkategorie vyberte záhlaví sloupce Sales (Prodej) a tři buňky pod ní, klikněte pravým tlačítkem myši a pak zvolte Kopírovat.

  10. Vložte čtyři buňky do čtyř prázdných buněk v nové skupině sloupců.

  11. Vyberte Spustit pro zobrazení náhledu sestavy.

Sestava obsahuje sloupce nazvané Pondělí a Úterý. Datová sada obsahuje pouze data za tyto dva dny.

Screenshot zobrazující dny v týdnu v maticové sestavě Report Builder.

Poznámka:

Pokud data obsahovala i jiné dny, sestava by pro ně obsahovala i sloupce. Každý sloupec má záhlaví sloupce, Prodeje, a celkem prodejů podle oblasti.

5. Změna šířky sloupců

Sestava, která obsahuje matici, se obvykle vodorovně a svisle rozšíří, když se spustí. Řízení horizontálního rozšíření je důležité, pokud chcete sestavu exportovat do formátů, jako jsou Microsoft Word nebo Adobe PDF, které se používají pro vytištěné sestavy. Pokud se sestava vodorovně rozšíří na více stránek, je vytištěná sestava obtížně pochopitelná. Pokud chcete minimalizovat horizontální rozšíření, můžete změnit velikost sloupců tak, aby byly pouze šířky potřebné k zobrazení dat bez obtékání. Sloupce můžete také přejmenovat tak, aby jejich názvy odpovídaly šířce potřebné k zobrazení dat.

Přejmenování a změna velikosti sloupců

  1. Vyberte Návrh a vraťte se do návrhového zobrazení.

  2. Vyberte text v nejbližším sloupci Množství vlevo a zadejte QTY.

    Název sloupce je teď QTY.

  3. Opakujte krok 2 pro dva další sloupce s názvem Množství.

  4. Vyberte matici tak, aby se úchyty sloupců a řádků zobrazovaly nad maticí a vedle ní.

    Šedé pruhy podél horní a boční strany tabulky jsou úchyty sloupců a řádků.

    Snímek obrazovky úchytů sloupců a řádků v maticovém zobrazení Report Builderu.

  5. Pokud chcete změnit velikost sloupce QTY nalevo od matice, najeďte myší na čáru mezi úchyty sloupců, aby se kurzor změnil na dvojitou šipku. Táhněte sloupek doleva, dokud nebude široký 0,5 palce.

    Šířka sloupce 0,5 palce je adekvátní k zobrazení množství.

  6. Opakujte krok 5 pro ostatní sloupce s názvem QTY.

  7. Vyberte Spustit pro zobrazení náhledu sestavy.

Sloupce, které obsahují množství, jsou teď užší a mají název QTY.

6. Sloučení maticových buněk

Rohová oblast je v levém horním rohu matice. V závislosti na počtu skupin řádků a sloupců v matici se počet buněk v rohové oblasti liší. Matice vytvořená v tomto kurzu obsahuje čtyři buňky v jeho rohové oblasti. Buňky jsou uspořádané do dvou řádků a dvou sloupců, které odrážejí hloubku hierarchie skupin řádků a sloupců. Čtyři buňky nejsou v této zprávě použity, proto je sloučíte do jedné.

Sloučení buněk matice

  1. Vyberte Návrh a vraťte se do návrhového zobrazení.

  2. Vyberte matici tak, aby se úchyty sloupců a řádků zobrazovaly nad maticí a vedle ní.

  3. Stiskněte klávesu Ctrl a vyberte čtyři rohové buňky.

  4. Klikněte pravým tlačítkem myši na buňky a vyberte Sloučit buňky.

  5. Klikněte pravým tlačítkem myši na novou sloučenou buňku a vyberte Vlastnosti textového pole.

  6. Na kartě >Předvolby>Žádné.

  7. Vyberte OK.

  8. Vyberte Spustit pro zobrazení náhledu sestavy.

Buňka v horním rohu matice už není viditelná.

7. Přidání záhlaví sestavy a názvu sestavy

Nahoře v sestavě se zobrazuje název zprávy. Název sestavy můžete umístit do záhlaví sestavy, nebo pokud se záhlaví nepoužívá, do textového pole v horní části textu sestavy. V tomto návodu odstraníte textové pole z horní části sestavy a přidáte název do záhlaví.

Přidejte záhlaví sestavy a název sestavy

  1. Vyberte Návrh a vraťte se do návrhového zobrazení.

  2. Vyberte textové pole v horní části textu sestavy, které obsahuje Kliknutím přidáte název, a stiskněte klávesu Delete.

  3. Na kartě Vložení přejděte na Záhlaví>Přidat záhlaví.

    Záhlaví je přidáno do horní části textu sestavy.

  4. Na kartě Vložení vyberte Textové pole a poté přetáhněte textové pole do záhlaví sestavy. Nastavte textové pole o délce přibližně 15 cm a výšce 2 cm a umístěte ho na levé straně záhlaví zprávy.

  5. Do textového pole zadejte Prodej podle oblasti, podkategorie a dne.

  6. Vyberte text, který jste zadali, na kartě Domů>Písmo:

    • Velikost 24 bodů
    • Barva Maroon
  7. Vyberte Spustit pro zobrazení náhledu sestavy.

V záhlaví sestavy je uveden její název.

8. Uložte sestavu

Sestavy můžete uložit na server sestav, do knihovny SharePoint nebo do počítače.

V tomto kurzu uložte sestavu na server pro sestavy. Pokud nemáte přístup k serveru sestav, uložte sestavu do počítače.

Uložte sestavu na server sestav

  1. Na tlačítku Report Builder vyberte Save As.

  2. Vyberte Poslední lokality a servery.

  3. Vyberte nebo zadejte název serveru sestav, kde máte oprávnění k ukládání sestav.

    Zobrazí se zpráva Připojení k serveru sestav. Po dokončení připojení se zobrazí obsah složky sestavy, kterou správce serveru sestav určil jako výchozí umístění sestavy.

  4. V části Name nahraďte výchozí název hodnotou SalesByTerritorySubcategory.

  5. Vyberte Uložit.

Sestava se uloží na server sestav. Název serveru sestav, ke kterému jste připojeni, je zobrazován na stavovém řádku v dolní části okna.

Uložte sestavu na počítač

  1. Na tlačítku Report Builder vyberte Save As.

  2. Vyberte Plocha, Moje dokumenty nebo Můj počítač a pak procházejte do složky, do které chcete sestavu uložit.

  3. V části Name nahraďte výchozí název hodnotou SalesByTerritorySubcategory.

  4. Vyberte Uložit.

9. (Volitelné) Otočit textové pole o 270 stupňů

Sestava s maticemi se může při spuštění rozšířit vodorovně a svisle. Otočením textových polí svisle nebo 270 stupňů můžete ušetřit vodorovné místo. Vykreslená sestava je pak užší a pokud je exportována do formátu, jako je například Microsoft Word, je pravděpodobnější, že se vejde na vytištěnou stránku.

Textové pole může také zobrazovat text jako vodorovný, svislý (shora dolů). Další informace najdete v tématu Textová pole ve stránkovaných sestavách (Report Builder).

Otočení textového pole o 270 stupňů

  1. Vyberte Návrh a vraťte se do návrhového zobrazení.

  2. Vyberte buňku, která obsahuje [Territory].

    Poznámka:

    Vyberte buňku, ne text. Vlastnost WritingMode je k dispozici pouze pro buňku.

    Snímek obrazovky, který zobrazuje buňku 'Territory' v maticové zprávě nástroje Report Builder.

  3. V podokně vlastností vyhledejte vlastnost WritingMode a změňte ji z Default na Rotate270.

    Pokud podokno Vlastnosti není otevřené, vyberte kartu Zobrazení na pásu karet a pak zvolte Vlastnosti.

  4. Ověřte, že vlastnost CanGrow je nastavena na Hodnotu True.

  5. Na kartě Domů, v oddílu >, vyberte Uprostřed a Na střed, abyste umístili text v centru buňky vertikálně i horizontálně.

  6. Změňte velikost sloupce Territory na šířku 0,5 palců a odstraňte název sloupce.

  7. Vyberte Spustit pro zobrazení náhledu sestavy.

Název území je napsán svisle, dole až nahoru. Výška skupiny řádků "Territory" se liší podle délky názvu oblasti.