miniSTAG   Předmět:
/
  Č.studenta:
  Filtr:    Další hledání...
Toto nejsou oficiální stránky Studijní agendy :-). Více... ⚿ Nepřihlášený

DEMO - Pozor, prezentovaná data nejsou z ostré databáze

miniAPI

Kromě prohlížení WWW stránek miniSTAGu se dají data ze STAGu prostřednictvím miniSTAGu získat (a zformátovat) ještě jedním způsobem, který popisuji na této stránce. Jde vlastně jen o rozhraní, které umožňuje dostat se přímo k obsahu "tabulek", se kterými miniSTAG interně pracuje (což jsou dále v zásadě pouze nějakým způsobem přejmenované a popřípadě částečně zpracované výstupy z XML/CSV tabulek poskytovaných Webovými službami nad IS/STAG).

Přístup k datům funguje na základě zaslání vhodně sestaveného požadavku na určitou URL adresu. Jako usnadnění jsou u tabulek na WWW stránkách miniSTAGu (vždy pod tabulkou) uvedeny odkazy na "formulář" usnadňující přístup k tomuto rozhraní.

Pozn: Získavat data způsobem popsaným na této stránce je možné i z již přefiltrovaných tabulek.

Stručně

Data jako taková lze získat na adrese, která začíná
http://stat.kma.zcu.cz/demoStag/api/
a za kterou následuje otazník a pak seznam parametrů (nebo dvojic parametr=hodnota) oddělených znakem &.

Pomocí parametrů určíme

Než přijde kapitolka s popisem parametrů, nejlépe asi podívat se nejprve na několik příkladů.

Př. 1: Tabulka
K získání výpisu jmen a příjmení studentů nějakého předmětu v podobě HTML tabulky zavoláme
http://stat.kma.zcu.cz/demoStag/api/?q=StudP|KMA|MA2|2009|LS&pol=jm,prijm&html
Vyzkoušet
Př. 2: TeX
Výpis diplomek katedry s řádky ve tvaru \entry{jméno}{příjmení}{název}{vedoucí} ke zpracování v TeXu
http://stat.kma.zcu.cz/demoStag/api/?q=DiplK|KMA|2008&pol=jm,prijm,tit,vedprijm&tex
Vyzkoušet
Př. 3: Vlastní seznamy, e-maily a další..
Pomocí jednoduchého formátovacího jazyka můžeme z dostupných položek vyrobit např. seznam emailů studentů, když oproti Př. 1 místo dvojice parametrů pol a html uvedeme vhodnou definici formátu v parametru format
...?q=StudP|KMA|TP|2008|LS&format=Student [stud]: [jm] [prijm][9][zkr][10]
...?q=StudP|KMA|TP|2008|LS&format=[jm] [prijm] <[ori]@students.zcu.cz>,[10]
Vyzkoušet Vyzkoušet

a můžeme také používat jednoduché podmínky, např. označit kombinované studenty, vynechat studenty se jménem Pavel, nebo se pokusit naivně o výpis studentek

...?q=StudP|KMA|TP|2008|LS&format=[prijm] [jm][?forma=K] - komb.[/forma][10]
...?q=StudP|KMA|TP|2008|LS&format=[!jm=Pavel][i]. [jm] [prijm][10][/jm]
...?q=StudP|KMA|TP|2008|LS&format=[?prijm~*ova][jm] [prijm][10][/prijm]
Vyzkoušet Vyzkoušet Vyzkoušet
Př. 4: Kombinace více tabulek
Do zformátovaného výpisu můžeme doplnit i informace z další tabulky a rozhodovat podle nich - např.

Tato další tabulka dokonce může být u každého studenta jiná (doba načtení dat pak bude příslušně delší) - např.

Př. 5: Použití umělé tabulky
Můžeme vygenerovat umělou tabulku včetně názvů sloupečků a použít ji např. k navázání "stejných" výpisů pro dva předměty po sobě.
...?q=TabCo|kat,predm|KMA,PSF;KIV,FIN&csv
...?q=TabCo|kat,predm|KMA,PSF;KIV,FIN&format=[predm][10][@A=StudP|[kat]|[predm]|2013][A.stud] [A.jm] [A.prijm][10][/A]
Vyzkoušet Vyzkoušet
Př. 6: Počítací tabulka
Můžeme vygenerovat tabulku shrnující údaje z jiné tabulky. Např. k tabulce obsahují seznam rozvrhových akcí předmětu můžeme vygenerovat počet rozvrhových akcí podle typu rozvrhové akce a vyučujícího (tabulka četností), nebo spočítat celkové počty studentů zapsaných na akcích daného typu a učitele (tabulka součtů):
...?q=CountTab|AkceP%7CKMA%257CPSA%257C2020||typ,uc,prijm&csv
...?q=SumTab|AkceP%257CKMA%257CPSA%257C2020|obs%2Cplan|typ%2Cuc%2Cprijm&format=[predm][10][@A=StudP|[kat]|[predm]|2013][A.stud] [A.jm] [A.prijm][10][/A]
Vyzkoušet Vyzkoušet

Hodnoty parametrů by měly být zakódované pro použití v URL (týká se asi hlavně speciálních znaků, případně písmen s diakritikou).

Parametry

Umělá tabulka

Kromě tabulek naplněných daty získávanými ze STAGu disponuje miniSTAG možností vytvořit si vlastní umělou tabulku, jejíž obsah se generuje podle hodnot uvedených v jejím parametru. Její označení je TabCo a má dva parametry. První parametr budou názvy sloupečků oddělené čárkou (defaultně názvy c1,c2,...) a druhý parametr jsou vlastní data (jednotlivé řádky oddělené středníkem; v rámci řádku oddělovač čárka - něco jako matice v matlabu). Např. kód
TabCo|prvni,druhy|a,b; c,d; e,f|
reprezentuje tabulku
i prvni druhy
1ab
2cd
3ef
V označeních sloupečků lze použít pouze písmenka bez diakritiky a číslice, a nelze použít názvy i a ind. Jinak (nebo pokud nejsou uvedeny) bude použíto defaultní označení c1, c2,...

Umělá tabulka nalezne použití i při filtrování k zapsání podmínky nebo.

Počítací tabulky

Možné také je vygenerovat k dané tabulce jednoduché statistiky - počet řádků a součty či průměry vybraných sloupečků. K tomu slouží tabulky CountTab (resp. NTab), SumTab a MeanTab. Navíc, tyto statistiky je možné získat nejen za celou tabulku, ale při uvedení dodatečného parametru také po částech definovaných kombinacemi hodnot tam zvolených sloupečků. Obecný tvar označení počítacích tabulek je
CountTab|zdroj|sloupecky|podle|
SumTab|zdroj|sloupecky|podle|
MeanTab|zdroj|sloupecky|podle|
kde zdroj je označení zdrojové tabulky, jejíž data se mají použít (pozor, její označení musí být URL-zakódované), sloupecky je seznam čárkami oddělených názvů sloupečků , jejichž součet či průměr nás zajímá (v případě CountTab necháme prázdné - automaticky se vygenerují sloupečky n a proc) a podle je seznam čárkami oddělených názvů sloupečků, podle jejichž hodnot se má tabulka rozdělit a které také budou uvedeny ve výstupu (bude-li tento seznam prázdný, spočte se požadovaná statistická hodnota souhrnně za celou tabulku).

Přesněji,