miniSTAG | Toto nejsou oficiální stránky Studijní agendy :-). |
...&filtr=[!forma=K][roc>1][stud~A*]což způsobí, že vypsáni budou pouze studenti, kteří nejsou v kombinované formě studia, studovali vyšší ročník a jejichž studijní (osobní) číslo začíná na "A" (= studenti FAV).
Testovat lze dokonce i pomocí hodnot z jiné tabulky donačtené použitím konstrukce [zvolenýnázev@označenítabulky]. Např. z daného seznamu studentů (třeba nějakého daného předmětu) vybrat jen ty, kteří mají cvičení z úplně jiného MA2 v úterý
...&filtr=[A@AkceS|[stud]|2009][A.kat=KMA][A.predm=MA2][A.sem=LS][A.den~ut][A.typ=Cv]přičemž první varianta může být při větším počtu studentů v seznamu poněkud zdlouhavější, neboť se jednotlivě procházejí a u každého se zjišťuje rozvrh (tj. u každého extra dotaz do STAGu) zatímco u druhé se prochází seznam rozvrhových akcí předmětu a pak u každé akce její obsazení (což při obvykle nevelkém počtu kroužků předmětu znaméná méně dotazů). Nebo vybrat prezenční a studující studenty, kteří nejsou přihlášeni na žádný zkouškový termín z předmětu KMA/M1
...&filtr=[A@AkceP|KMA|MA2|2009|LS][A.den~ut][A.typ=Cv][B@StudA|[A.akce]][stud=[B.stud]]
...&filtr=[forma=P][stav=S][!A@TermS|[stud]|2010][A.kat=KMA][A.predm=M1][A.plat=A][A.typ=Zk]přičemž jde-li o více studentů (zatímco termínů je méně), může být rychlejší druhý z dotazů.
...&filtr=[forma=P][stav=S][!A@TermP|KMA|M1|2010][A.plat=A][A.typ=Zk][B@StudT|[A.term]][stud=[B.stud]]
Tuto konstrukci je možné využít i k porovnání s více hodnotami ve smyslu "nebo", když za tuto jinou tabulku vezmeme "umělou" tabulku, do jejíchž řádků se zapíší jednotlivé testované hodnoty. Podobně lze kombinovat více různých podmínek ve smyslu "nebo" za pomoci umělé tabulky a negací. Např. vybrat najednou studenty 1. i 3. ročníku, či naopak všechny kromě studentů 1. a 3. ročníku, či vypsat studenty 1. ročníku spolu se studenty kombinovaného studia, lze
...&filtr=[A@TabCo||1;3][roc=[A.c1]]kde v posledním případě má umělá tabulka jeden řádek, jehož obsah (v uvedeném příkladu konkrétně prázdný) se nikde dále nevyužívá.
...&filtr=[!A@TabCo||1;3][roc=[A.c1]]
...&filtr=[!A@TabCo||][!roc=1][!forma=K]
Podmínky zapisované v parametru filtr je samozřejmě dobré založit pouze na hodnotách těch položek, které se v daných výstupech vyskytují :-)
Názvy položek lze dohledat ve výstupu do PHP (následovat odkaz uvedený pod tabulkou a v připraveném formuláři zmáčknout tlačítko "PHP"), několik příkladů názvů je na stránce o exportu, resp. v příkladech níže.
[název] [!název] |
[název=hodnota] [!název=hodnota] |
[názevtabulky@hodnota] [!názevtabulky@hodnota] |
Kromě '=' lze pro porovnání hodnot použít i další podmínky:
Zapisované hodnoty by teoreticky 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). Písmenům s diakritikou (miniSTAG pracuje v kódování iso-8859-2) se lze většinou vyhnout použitím "~" místo "=", pak stačí "psat cesky".
...&filtr=[roc=1]
...&filtr=[forma=P]
...&filtr=[!zkr=OMB] případně ...&filtr=[!cislo=1101R023]
...&filtr=[prijm~*ova]
...&filtr=[zkznam>1]
...&filtr=[!zkznam]
...&filtr=[stat=B]
...&filtr=[zam=A]
...&filtr=[pred~*doc.*]
Vlastní filtrování se provede tlačítkem "Filtrovat", zároveň se vypíše počet řádků odpovídajících filtru. Je možno nastavit, aby filtrování probíhalo automaticky, tj. jakmile je některé z výběrových kritérií změněno (což nemusí být vhodné u rozsáhlých tabulek, kde překreslení může nějakou chvíli trvat...).
Počty vyfiltrovaných hodnot u jednotlivých položek lze zobrazit i graficky. Klinutím na "G" u názvu položky se otevře nové okno a do něj se vykreslí příslušný histogram. Zmenou voleb u obrázku pak lze zobrazit i počty pro kombinace hodnot libovolných dvou položek z filtrovacího formuláře. S přefiltrováním tabulky se automaticky překreslí i histogram (lze vypnout).
miniSTAG -- M. Friesl, 2009-2025
Zdroj dat: DEMO Webové služby nad IS/STAG
2025-04-10 09:19:26