Sfairadora

  • Referenční příručka

Přidání sloupce

Přidat sloupce lze do tabulky pomocí příkazu kontextové nabídky Nový sloupec. Identický příkaz je i v nabídce Tabulka|Nový sloupec a v nástrojové liště. Podle toho, na kterém sloupci byla otevřena kontextová nabídka (resp. který sloupce byl aktivní při vybrání příkazu nabídky či nástrojové lišty), vedle toho sloupce bude nový sloupec vložen. Provedením příkazu se otevře okno, kde je možné zadat vlastnosti vkládaného sloupce. Především lze zvolit úroveň vložení sloupce – tedy, zda má jít o nový sloupec pouze na úrovni zobrazení, pohledu, nebo i na úrovni dat. Vložení sloupce na každou z těchto úrovní má zcela různé významy; budou tedy dále vyloženy odděleně. Ve všech případech se dále volí, zda má být nový sloupec vložen vpravo nebo vlevo od vybraného.

Vložení sloupce na úroveň dat

Pokud jsou vlastní data tabulky uložena v sekci dokumentu Data, lze zvolit vložení sloupce na úroveň dat. Tato operace je ekvivalentní přidání nového sloupce do příslušné tabulky v sekci dokumentu Typ dat. Pokud je třeba přidat více sloupců najednou, může být pohodlnější udělat to právě v sekci Typ dat. Pokud má tabulka pohled uložený v sekci Pohledy, bude sloupec automaticky doplněn i v této sekci.
Při vkládání datového sloupce lze zadat následující údaje:
Operace
Popis
Cílová tabulka
Pokud je v pohledu tabulky připojena jiná tabulka, nebo jde o tabulku s podřízenou tabulkou, lze zde zvolit, do které datové tabulky se má sloupec vložit. V jednoduchých případech je možnost pouze jediná a tedy nelze nic změnit.
Název
Název dat sloupce. Název musí jít o identifikátor.
Datový typ
Datový typ sloupce. Zadává se pomocí editor datového typu.
Nepovinný
Pokud je možnost označena, hodnota sloupce nemusí být zadána.
Vlastní zobrazení
Pokud je možnost označena, lze pro sloupec definovat vlastní zobrazení – bude zobrazen editor pro vlastnosti zobrazení sloupce, jak je popsáno dále v oddíle o sloupcích na úrovni zobrazení. V běžném případě, pokud zde není zadáno vlastní zobrazení, bude pro sloupec vytvořeno adekvátní zobrazení automaticky.

Vložení sloupce na úroveň pohledu

Pokud má zobrazení tabulky lokální pohled (např. automaticky vytvořené zobrazení tabulky v sekci dokumentu Data), změní se pouze tento lokální pohled. Pokud jde o tabulku v sekci Pohledy, bude změněn i příslušný pohled, takže tato operace je pak ekvivalentní přidání sloupce do příslušné tabulky v sekci Typ pohledů.
Pokud je vybrána úroveň vložení pohled, je typ vkládaného sloupce automaticky přepnut na počítaný, protože to je nejčastější případ. Typ sloupce lze nastavit i na jinou kategorii typu – lze jej nastavit editor datového typu. Zde je probrán jen typický případ počítaného sloupce:
Operace
Popis
Název
Název dat sloupce. Název musí jít o identifikátor.
Datový typ
Datový typ sloupce. (Předpokládáme, že jde o počítaný datový typ).
Vlastnosti počítaného typu
Datový typ výsledku
Typ výsledku počítaného sloupce. Musí jít o skalární (nesložený) typ.
Načítací funkci
Funkce zapsaná v jazyce Enki počítající hodnotu sloupce.
Příklad 1: máme tabulku se sloupci a a b typu reálné číslo (Real). Chceme vytvořit sloupec s jejich průměrem. Datový typ výsledku nastavíme na reálné číslo, načítací funkci na (a+b)/2.
Příklad 2: máme tabulku se sloupcem zakázky, který obsahuje podřízenou tabulku (seznam) zakázek. Chceme vytvořit počítaný sloupec, který bude obsahovat počet zakázek v tomto seznamu. Datový typ výsledku nastavíme na celé číslo (Int), načítací funkci na size(zakázky).
Ukládací funkce
Pokud má být možné pomocí počítaného sloupce hodnoty tabulky i zadávat, je třeba určit touto funkcí, jak mají být upraveny vlastní data tabulky změnou počítané hodnoty. Hodnota zadaná do sloupce je ve funkci dostupná jako parametr val.
Pokud ukládací funkce není zadána, budou hodnoty sloupce jen ke čtení.
Příklad: máme sloupec počítající průměr ze sloupců a a b. Chceme, aby změnou hodnoty počítaného sloupce byla tato hodnota nastaven do obou zdrojových sloupců. Ukládací funkce bude mít tedy podobu: a = b = val .
Další
Obsahuje doplňkové informace analytického typu. V běžných případech není třeba tyto údaje měnit.
Vlastní zobrazení
Pokud je možnost označena, lze pro sloupec definovat vlastní zobrazení – bude zobrazen editor pro vlastnosti zobrazení sloupce, jak je popsáno dále v oddíle o sloupcích na úrovni zobrazení. V běžném případě, pokud zde není zadáno vlastní zobrazení, bude pro sloupec vytvořeno adekvátní zobrazení automaticky.

Vložení sloupce na úroveň zobrazení

Takto lze vytvořit sloupec zobrazující stávající data jiným způsobem. Operace je ekvivalentní vybrání příkazu Upravit zobrazení z kontextové nabídky, nabídky Tabulka či z nástrojové lišty a vložení nového sloupce v editoru definice ovládacích prvků příslušné tabulky. Vložení sloupce do zobrazení ponechá data i pohled beze změny.
Při vkládání sloupce na úroveň zobrazení je třeba zadat vlastnosti sloupce, jak bylo popsáno v kapitole o vlastnostech sloupce. Kromě vlastností sloupce tabulky je třeba určit ovládací prvek, který bude zobrazován v každé buňce tabulky. K tomu slouží editor definice ovládacích prvků.
Pro vytvoření ovládacího prvku buňky tabulky je třeba zadat referenci na příslušná data. Tabulka poskytuje ovládacím prvkům buněk následující názvy objektů:
Název
Popis
row_data
Označuje celý řádek tabulky. Pokud má tabulky např. sloupec skóre, v jazyce Enki se zadá odkaz na data tohoto sloupce referencí row_data.skóre. V ovládacím prvku se nastaví položka Název dat na row_data, Reference dat na skóre.
Název row_data může být změněn v definici tabulky položkou Název dat pro řádky.
cell_data
Označuje data náležející dané buňce. Tj. data příslušného sloupce na daném řádku. O který sloupec jde je určeno položkou Reference dat sloupce ve vlastnostech sloupce. Pokud obsahuje položka Reference dat sloupce prázdnou referenci, odkazují row_data a cell_data na tatáž data. Pokud uvažujeme shora uvedený příklad a Reference dat sloupce bude obsahovat referenci skóre, bude reference row_data.skóre a cell_data odkazovat na tatáž data.
Název cell_data může být změněn v definici tabulky položkou Název dat pro buňky.
Příklad: máme v tabulce sloupec skóre typu celé číslo (Int). Chceme vytvořit sloupec, který bude graficky znázorňovat velikost skóre vodorovným pruhem tím delším, čím vyšší bude skóre. Proto vložíme sloupec na úroveň zobrazení (nepřidáváme žádná data ani neměníme pohled). Položku Reference dat sloupce nastavíme na skóre, protože jde o alternativní zobrazení tohoto sloupce. Jako ovládací prvek vybereme Obrázek. Vlastnost ovládacího prvku Zobrazení|Obrázek přepneme na zadávání pomocí funkce (tlačítkem fn ). Do editoru funkce zapíšeme tento kód v jazyce Enki:
var Bitmap bmp = bitmap(100, 10);
bmp<-draw_rectangle(0, 0, cell_data, 10, color(0, 0, 200));
return bmp;
První řádek vytvoří obrázek s názvem bmp o rozměru 100×10 pixelů. Druhý řádek do obrázku nakreslí obdélník (vodorovný pruh) od levého horního okraje (souřadnice 0, 0), výšce deset pixelů a délce určené hodnotou sloupce (název cell_data). Obdélník bude modrý (barva color(0,0,200)). Vytvořený obrázek je výsledkem funkce (příkaz return bmp).
Poznámka: obdobného výsledku by se rovněž dosáhlo vložením počítaného sloupce do pohledu tabulky, jehož výsledkem by byl obrázek (typ Bitmap). Řešení pomocí zobrazení tabulky je vhodnější, protože jsou vytvářeny pouze obrázky pro momentálně zobrazené řádky.