Kontingenční tabulka - Pivot table
A kontingenční tabulka je stůl statistik, které shrnují údaje obsáhlejší tabulky (například z a databáze, tabulkový kalkulátor nebo program business intelligence ). Tento souhrn může zahrnovat součty, průměry nebo jiné statistiky, které kontingenční tabulka seskupuje smysluplným způsobem.
Kontingenční tabulky jsou technikou zpracování dat. Uspořádají a uspořádají (nebo „otočí“) statistiky, aby upozornily na užitečné informace.
Ačkoli kontingenční tabulka je obecný termín, Microsoft ochranná známka Kontingenční tabulka ve Spojených státech v roce 1994 (zrušeno v roce 2020).[1]
Dějiny
Ve své knize Křižování dat kontingenční tabulky,[2] Bill Jelen a Mike Alexander odkazují Pito Salas jako „otec kontingenčních tabulek“. Při práci na konceptu nového programu, který by se nakonec stal Lotus Improv „Salas poznamenal, že tabulky mají vzory dat. Nástroj, který by uživateli mohl pomoci tyto vzory rozpoznat, by pomohl rychle vytvářet pokročilé datové modely. Pomocí nástroje Improv mohli uživatelé definovat a ukládat sady kategorií a poté měnit zobrazení přetažením názvů kategorií myší. Tato základní funkce by poskytla model pro kontingenční tabulky.
Vývoj Lotus vydal Improv v roce 1991 na Další plošina. Několik měsíců po vydání Improv, Technologie Brio zveřejnil samostatný Macintosh implementace s názvem DataPivot (s technologií nakonec patentovanou v roce 1999).[3] Borland zakoupili technologii DataPivot v roce 1992 a implementovali ji do své vlastní tabulkové aplikace, Quattro Pro.
V roce 1993 se objevila verze systému Improv pro Microsoft Windows. Začátkem roku 1994 Microsoft Excel 5[4] přinesl na trh novou funkci nazvanou „kontingenční tabulka“. Společnost Microsoft tuto funkci dále vylepšila v novějších verzích aplikace Excel:
- Excel 97 zahrnoval nového a vylepšeného průvodce kontingenční tabulkou, schopnost vytvářet vypočítaná pole a nové objekty mezipaměti mezipaměti, které vývojářům umožňují psát Visual Basic pro aplikace makra pro vytváření a úpravy kontingenčních tabulek
- Excel 2000 představil „kontingenční grafy“, které graficky znázorňují data kontingenční tabulky
V roce 2007 společnost Oracle Corporation PIVOT
a UNPIVOT
operátoři k dispozici v Oracle Database 11 g.[5]
Mechanika
Pro typické zadávání a ukládání dat se data obvykle zobrazují v byt tabulky, což znamená, že se skládají pouze ze sloupců a řádků, jako v následující části ukázkové tabulky s údaji o typech triček:
I když takové tabulky mohou obsahovat mnoho datových položek, může být obtížné získat z nich souhrnné informace. Kontingenční tabulka může pomoci rychle shrnout data a zvýraznit požadované informace. Použití kontingenční tabulky je extrémně široké a závisí na situaci. První otázkou je: „Co hledám?“ V tomto příkladu se zeptáme: „Kolik Jednotky prodali jsme v každém Kraj pro každého Datum odeslání?":
Kontingenční tabulka obvykle sestává z řádek, sloupec a data (nebo skutečnost) pole. V tomto případě je sloupec Datum odeslání, řádek je Kraj a data, která bychom rádi viděli, jsou (součet) Jednotky. Tato pole umožňují několik druhů agregace, včetně: součet, průměr, standardní odchylka, počet atd. V tomto případě se zde zobrazí celkový počet dodaných jednotek pomocí a součet agregace.
Implementace
Pomocí výše uvedeného příkladu najde software všechny odlišné hodnoty pro Kraj. V tomto případě jsou to: Severní, Jižní, Východní, Západ. Dále najde všechny odlišné hodnoty pro Datum odeslání. Na základě typu agregace, součetshrne fakt, množství Jednotkaa zobrazte je ve vícerozměrném grafu. Ve výše uvedeném příkladu je první datum 66. Toto číslo bylo získáno nalezením všech záznamů, kde jsou oba Kraj byl Východní a Datum odeslání byl 1/31/2005a přidání Jednotky této sbírky záznamů (tj., buňky E2 až E7) společně, abyste získali konečný výsledek.
Kontingenční tabulky se nevytvářejí automaticky. Například v aplikaci Microsoft Excel je třeba nejprve vybrat všechna data v původní tabulce a poté přejít na kartu Vložit a vybrat „Kontingenční tabulka“ (nebo „Kontingenční graf“). Uživatel pak má možnost buď vložit kontingenční tabulku do existujícího listu, nebo vytvořit nový list pro umístění kontingenční tabulky.[6] Uživateli je poskytnut seznam polí kontingenční tabulky, který obsahuje seznam všech záhlaví sloupců přítomných v datech. Například pokud tabulka představuje prodejní data společnosti, může obsahovat Datum prodeje, Prodejce, Prodaná položka, Barva položky, Prodané jednotky, Za jednotkovou cenu a Celková cena. Díky tomu jsou data snadněji přístupná.
Datum prodeje | Prodavač | Zboží bylo prodáno | Barva položky | Prodané jednotky | Za jednotkovou cenu | Celková cena |
---|---|---|---|---|---|---|
10/01/13 | Jones | Notebook | Černá | 8 | 25000 | 200000 |
10/02/13 | princ | Notebook | Červené | 4 | 35000 | 140000 |
10/03/13 | Jiří | Myš | Červené | 6 | 850 | 5100 |
10/04/13 | Larry | Notebook | Bílý | 10 | 27000 | 270000 |
10/05/13 | Jones | Myš | Černá | 4 | 700 | 2800 |
Pole, která by byla vytvořena, budou viditelná na pravé straně listu. Ve výchozím nastavení se pod tímto seznamem zobrazí návrh rozvržení kontingenční tabulky.
Pole kontingenční tabulky jsou stavebními kameny kontingenčních tabulek.[7] Každé z polí ze seznamu lze přetáhnout na toto rozložení, které má čtyři možnosti:
- Filtry
- Sloupce
- Řádky
- Hodnoty
Filtry
Filtr sestav se používá k použití filtru na celou tabulku. Pokud je například do této oblasti přetaženo pole „Barva položky“, bude mít vytvořená tabulka nad tabulkou vložen filtr sestavy. Tento filtr sestavy bude mít možnosti rozevíracího seznamu (ve výše uvedeném příkladu černá, červená a bílá). Když je z toho vybrána možnost rozbalovací seznam („Černá“ v tomto příkladu), pak tabulka, která by byla viditelná, bude obsahovat pouze data z těch řádků, které mají „Barva položky = černá“.
Sloupce
Štítky sloupců se používají k použití filtru na jeden nebo více sloupců, které je třeba zobrazit v kontingenční tabulce. Pokud je například do této oblasti přetaženo pole „Prodejce“, bude mít vytvořená tabulka hodnoty ze sloupce „Prodejce“, tj., jeden bude mít počet sloupců stejný jako počet „Prodejce“. K dispozici bude také jeden přidaný sloupec Celkem. Ve výše uvedeném příkladu vytvoří tato instrukce pět sloupců v tabulce - jeden pro každého prodejce a celkový součet. Nad daty - štítky sloupců - bude filtr, ze kterého lze vybrat nebo zrušit výběr konkrétního prodejce pro kontingenční tabulku.
Tato tabulka nebude mít žádné číselné hodnoty, protože není vybráno žádné numerické pole, ale pokud je vybráno, hodnoty se automaticky aktualizují ve sloupci „Celkový součet“.
Řádky
Popisky řádků se používají k použití filtru na jeden nebo více řádků, které se mají zobrazit v kontingenční tabulce. Například pokud je v této oblasti přetaženo pole „Prodejce“, bude mít druhá vytvořená výstupní tabulka hodnoty ze sloupce „Prodejce“, tj., jeden bude mít počet řádků stejný jako počet „Prodejce“. K dispozici bude také jedna přidaná řada „Grand Total“. Ve výše uvedeném příkladu vytvoří tato instrukce pět řádků v tabulce - jeden pro každého prodejce a celkový součet. Nad štítky datových řádků bude filtr, ze kterého lze vybrat nebo zrušit výběr konkrétního prodejce pro kontingenční tabulku.
Tato tabulka nebude mít žádné číselné hodnoty, protože není vybráno žádné numerické pole, ale pokud je vybráno, hodnoty se automaticky aktualizují v řádku „Celkový součet“.
Hodnoty
To obvykle trvá pole, které má číselné hodnoty, které lze použít pro různé typy výpočtů. Použití textových hodnot by se však také nemělo mýlit; namísto Součtu to bude počítat. Takže ve výše uvedeném příkladu, pokud je do této oblasti přetaženo pole „Prodané jednotky“ spolu s popisem řádku „Prodejce“, pak instrukce přidá nový sloupec „Součet prodaných jednotek“, který bude mít hodnoty proti každý prodejce.
Řádkové štítky | Součet prodaných jednotek |
---|---|
Jones | 12 |
princ | 4 |
Jiří | 6 |
Larry | 10 |
celkový součet | 32 |
Podpora aplikace
Kontingenční tabulky nebo funkce kontingenčních čísel jsou nedílnou součástí mnoha tabulkové aplikace a nějaký databázový software, stejně jako v jiných nástrojích pro vizualizaci dat a obchodní inteligence balíčky.
- Tabulky
- Microsoft Excel podporuje kontingenční tabulky, které lze vizualizovat prostřednictvím kontingenčních grafů.[8]
- LibreOffice Calc podporuje kontingenční tabulky. Před verzí 3.4 byla tato funkce pojmenována „DataPilot“.
- Tabulky Google nativně podporuje kontingenční tabulky.[9]
- Podpora databáze
- PostgreSQL, an objektově-relační systém správy databáze, umožňuje vytváření kontingenčních tabulek pomocí tablefunc modul.[10]
- MariaDB, vidlice MySQL, umožňuje kontingenční tabulky pomocí úložného modulu CONNECT.[11]
- Microsoft Access podporuje kontingenční dotazy pod názvem „křížová tabulka“.
- Oracle Database podporuje operaci PIVOT.
- Některé populární databáze, které přímo nepodporují funkce otáčení, například Microsoft SQL server[je nutné ověření ] a SQLite může obvykle simulovat funkce pivot pomocí vložených funkcí, dynamického SQL nebo poddotazů. Problém s otočením v takových případech obvykle spočívá v tom, že v době, kdy se dotaz začíná spouštět, musí být znám počet výstupních sloupců; pro otočení to není možné, protože počet sloupců je založen na samotných datech. Proto musí být jména pevně zakódováno nebo dotaz, který má být proveden, musí být sám vytvořen dynamicky (tj. před každým použitím) na základě dat.
- Webové aplikace
- ZK, rámec Ajaxu, také umožňuje vkládání kontingenčních tabulek do webových aplikací.
- Programovací jazyky a knihovny
- Programovací jazyky a knihovny vhodné pro práci s tabulkovými daty obsahují funkce, které umožňují vytváření a manipulaci s kontingenčními tabulkami. Sada nástrojů pro analýzu dat v Pythonu pandy má funkci kontingenční tabulkaa xs metoda užitečná k získání sekcí kontingenčních tabulek.[12]
Online analytické zpracování
Kontingenční tabulky aplikace Excel obsahují funkci pro přímý dotaz na online analytické zpracování (OLAP) server pro načítání dat namísto získávání dat z tabulky aplikace Excel. V této konfiguraci je kontingenční tabulka jednoduchým klientem serveru OLAP. Kontingenční tabulka aplikace Excel umožňuje nejen připojení k analytické službě společnosti Microsoft, ale k jakékoli XML pro analýzu (XMLA) Server kompatibilní se standardem OLAP.
Viz také
- Agregační funkce
- Obchodní zprávy
- Porovnání kancelářských balíků
- Porovnání serverů OLAP
- Pohotovostní tabulka, křížová tabulka, která se počítá, spíše než součty
- Vrtání dat
- Dolování dat
- Vizualizace dat
- Datový sklad
- Extrahovat, transformovat, načíst
- Fold (funkce vyššího řádu)
- OLAP kostka
- Relační algebra
- Široká a úzká data
Reference
- ^ „Sériové číslo ochranné známky USA 74472929“. 1994-12-27. Citováno 2013-02-17.
- ^ Jelen, Bille; Alexander, Michael (2006). Křižování dat kontingenční tabulky. Indianapolis: Que. str.274. ISBN 0-7897-3435-4.
- ^ Gartung, Daniel L .; Edholm, Yorgen H .; Edholm, Kay-Martin; McNall, Kristen N .; Lew, Karl M., Patent č. 5915257, vyvoláno 2010-02-16
- ^ Darlington, Keith (06.06.2012). VBA pro Excel snadno a rychle. Routledge (publikováno 2012). p. 19. ISBN 9781136349775. Citováno 2014-09-10.
[...] Excel 5, vydaný počátkem roku 1994, obsahoval první verzi VBA.
- ^ Shah, Sharanam; Shah, Vaishali (2008). Oracle pro profesionály - zahrnuje Oracle 9i, 10g a 11g. Vydavatelská řada Shroff. Navi Mumbai: Shroff Publishers (publikováno v červenci 2008). p. 549. ISBN 9788184045260. Citováno 2014-09-10.
Jednou z nejužitečnějších nových funkcí Oracle Database 11g z pohledu SQL je zavedení operátorů Pivot a Unpivot.
- ^ „Vytvoření kontingenční tabulky aplikace Excel ve 2 krocích“. Škola stolního počítače. Archivovány od originál dne 2015-06-27. Citováno 27. července 2015.
- ^ „Co jsou to pole kontingenčních tabulek a jak je změnit“. Excel Pivot. Citováno 2020-12-02.
- ^ Dalgleish, Debra (2007). Počáteční kontingenční tabulky v aplikaci Excel 2007: Od nováčka po profesionála. Apress. 233–257. ISBN 9781430204336. Citováno 18. září 2018.
- ^ „Vytvoření a použití kontingenčních tabulek“. Nápověda editorů dokumentů. Google Inc.. Citováno 6. srpna 2020.
- ^ "PostgreSQL: Dokumentace: 9.2: tablefunc". postgresql.org.
- ^ „PŘIPOJIT typy tabulek - typ tabulky PIVOT“. mariadb.com.
- ^ „pandas.pivot_table“.
Další čtení
- Kompletní průvodce kontingenčními tabulkami: Vizuální přístup (ISBN 1-59059-432-0) (hloubková kontrola na slashdot.org )
- Kontingenční tabulky a kontingenční grafy aplikace Excel 2007: Vizuální plán (ISBN 978-0-470-13231-9)
- Křižování dat kontingenční tabulky (Obchodní řešení) (ISBN 0-7897-3435-4)
- Počáteční kontingenční tabulky v aplikaci Excel 2007 (ISBN 1-59059-890-3)