Sfairadora

  • Referenční příručka

Souhrn tabulky

Souhrn je oblast zobrazovaná na konci tabulky, která obsahuje součty, průměry a další souhrnné údaje o sloupcích tabulky. Souhrn lze zobrazit či skrýt tlačítkem umístěným vpravo nahoře u tabulky. Jsou-li v tabulce označeny nějaké řádky, zobrazuje se navíc zvláštní souhrn i pro tyto řádky.
Položka
Popis
Tlačítko pro souhrn
Pokud je volba označena, tabulka má tlačítko, kterým lze zobrazovat a skrývat souhrn.
Sbalená podsekvence zobrazuje souhrn
Pokud má tabulka podsekvenci (tj. typ dat v některém sloupci je opět sekvence), lze obsah buněk s podsekvencí sbalit tak, že je zobrazen jen počet položek podsekvence. Pokud je volba označena, je u sbalené podsekvence navíc zobrazován její souhrn.
Pozice souhrnu
Určuje umístění souhrnu tabulky:
u tabulky
souhrn bude zobrazen vždy u spodního okraje tabulky. Pokud je tabulka dlouhá, takže spodní okraj již bude za okrajem okna, souhrn nebude vidět.
u okraje okna
souhrn bude zobrazen vždy u spodního okraje okna, bez ohledu na to, zda za vlastní tabulkou jsou ještě nějaké ovládací prvky – ty potom budou umístěny mezi souhrnem a vlastní tabulkou. Volba je vhodná pro případ, že je v okně pouze jediná tabulka.
vždy viditelný
kombinace možností u tabulky a u okraje okna – pokud je spodní okraj tabulky zobrazen v okně, je souhrn u ní, jakmile je přesunut za okraj okna, souhrn se zobrazí u spodního okraje okna, takže bude stále viditelný. (Standardní nastavení.)
Definice položek souhrnu
Definice má podobu tabulky, ve které každý řádek definuje jeden typ souhrnu. Pro každý definovaný řádek pak bude zobrazen jeden řádek souhrnu. Pro každý typ souhrnu lze určit, na které datové typy je aplikovatelný. Daný typ souhrnu pak bude zobrazen u všech sloupců, které spadají pod zvolený typ. Buňky řádku souhrnu ve sloupcích, které danému typu souhrnu nevyhovují zůstanou prázdné. Pokud daný typ souhrnu není vhodný pro žádný sloupec tabulky, vůbec nebude zobrazen. U sloupce tabulky lze určit vyjímku – tedy jiný způsob výpočtu hodnoty pro daný typ souhrnu, než zde uvedený. Pomocí vyjímek souhrnu lze rovněž určit dispel, kterým má být souhrn zobrazen.
Identifikace
Název typu souhrnu. Musí mít tvar identifikátoru.
Slouží k pojmenování položek v datovém objektu souhrnu – viz níže oddíl Datový objekt souhrnu. Dále slouží k definování vyjímek ze souhrnu – vyjímky se stejným identifikátorem budou na stejném řádku souhrnu.
Název
Název typu souhrnu zobrazovaný v kontextové nabídce tabulky a v bublinové nápovědě k souhrnu.
Zkratka
Zkratka charakterizující typ souhrnu – bude zobrazena na levém okraji řádku souhrnu, proto by měla být velmi krátká, max. na šířku 3 znaků. V případě potřeby lze zmenšit velikost jejího písma.
Iniciálně skrytý
Jednotlivé řádky souhrnu lze individuálně skrývat a zobrazovat. Pokud je volba označena, řádek souhrnu bude skrytý, i když vlastní souhrn zobrazen je. Přepínat zobrazení jednotlivých řádků souhrnu lze z kontextové nabídky tabulky.
Typ zdroje
Lze vybrat jednu nebo více tříd datových typů sloupců, pro které je souhrn určen:
Celé číslo
jakýkoli celočíselný typ (Int8, Int16, Int32, Int64, Byte, Word, Dword, Qword).
Desetinné číslo
typ Real.
Řetězec znaků
typ String.
Text
formátovaný řetězec či text (Rich_string, Rich_text).
Funkce
Funkce v jazyce Enki, která počítá hodnotu souhrnu. Před zadáním vlastního zdrojového textu funkce lze vybrat typ výsledku.
Pro definici funkce jsou k dispozici následující symboly:
seq
sekvence, pro níž se počítá souhrn. Pokud se počítá běžný souhrn, jde o sekvenci, která je editovaná tabulkou, pokud se počítá souhrn pro označené řádky, jde o odvozenou sekvenci obsahující pouze řádky v tabulce označené.
ref
reference složky řádku tabulky, odpovídající sloupci, pro který se souhrn počítá.
data_type
skutečný datový typ sloupce, pro který se souhrn počítá. Lze jej např. použít k definování proměnné: var data_type x.
summary
datový objekt obsahující vypočtené hodnoty souhrnu pro všechny typy a sloupce. Pomocí něj lze počítat hodnotu souhrnu na základě jiné (jako např. průměr na základě součtu). Struktura objektu je popsána níže.
Příklad 1: standardní definice typu souhrnu „součet“.
for(&i = seq, 0.0)
(@i + try i.(ref) else 0.0)
K výpočtu je použit cyklus for s agregací. Příkaz try je použit kvůli nepovinným položkám – nejsou-li data přítomna, bere se jejich hodnota jako nula.
Příklad 2: standardní definice sypu souhrnu „průměr“.
try
summary.(ref).sum / size(seq)
else
NOT_PRESENT
K výpočtu průměru je použita položka souhrnu „součet“. Reference sloupce (ref) je zároveň užita jako reference k souhrnu pro daný sloupec. Vlastní součet je určen identifikátorem sum (viz tabulku standardních typů souhrnu níže). Příkaz try je použit pro případ, že je sekvence prázdná. Potom dojde k dělení nulou. Funkce pak vrátí hodnotu NOT_PRESENT určující, že hodnota není určena.
Definiční typ: Summary_info

Datový objekt souhrnu

Pro výpočet souhrnu se vytvoří datový objekt, který obsahuje všechny položky souhrnu pro všechny sloupce jako počítané položky. Datový objekt souhrnu je dostupný pod názvem summary_root.
Na nejvyšší úrovni obsahuje souhrn dvě struktury – jednu pro celkový souhrn a jednu pro souhrn označených řádků tabulky:
Identifikátor
Popis
all
Položky celkového souhrnu.
marked
Položky souhrnu označených řádků.
Jedna z těchto dvou komponent je vždy dostupná dispelům obsaženým v souhrnu pod identifikátorem summary. Která z komponent bude pod tímto identifikátorem dostupná, záleží na tom, zda jde o dispely situované v části celkového souhrnu nebo v části souhrnu pouze označených řádků. Užitím identifikátoru summary je tak umožněno užít identickou strukturu zobrazení pro obě části souhrnu.
Každá z výše uvedených struktur (dostupných pod identifikátorem summary) má tyto položky:
Identifikátor
Popis
seq
Sekvence, pro kterou se souhrn počítá. Ve větvi all jde o přesměrovanou položku na data tabulky, ve větvi marked jde o odvozenou sekvenci obsahující jen označené řádky tabulky.
(ref).(id)
Seznam položek obsahující jednotlivé hodnoty souhrnu (počítané datové položky). Jejich reference mají tvar (ref).(id), kde (ref) je reference k datům sloupce, pro který se souhrn počítá, relativně k řádku tabulky, (id) je identifikátor typu souhrnu (viz výše položku Identifikace v tabulce typů souhrnů).
Příklad: má-li tabulka sloupec zaměstnanec, který je struktura obsahující položku plat, úplná reference k průměrnému platu zaměstnanců v tabulce je:
summary.all.zaměstnanec.plat.average
(Předpokládáme, že souhrn průměru má standardní identifikátor average.)

Standardní typ souhrnů

Standardně jsou u tabulky definovány tyto typy souhrnu:
Identifikátor
Popis
sum
Součet
sum2
Součet druhých mocnin
average
Průměr
variance
Rozptyl (střední kvadratická odchylka)
deviation
Směrodatná odchylka
min
Minimum
max
Maximum