Obsah

# Odkaz do databázové tabulky

LibreOffice Calc umožňuje odkazovat na data v buňkách v databázových tabulkách pomocí speciální notace „odkazu do databázové tabulky“. Cílem této speciální notace je zlepšit čitelnost vzorců, které na buňky v databázové tabulce odkazují.

## Databázové tabulky

„Tabulky“ jsou v sešitu definovány databázovými oblastmi (Data - Definovat oblast). Kromě toho, že má taková databáze název, jsou pro používání odkazů do databázové tabulky nezbytné následující vlastnosti:

- Tabulky musí být orientovány svisle.

- Popisky sloupců musí splňovat pravidla pro pojmenovanou oblast.

- Jestliže je vyžadována interoperabilita s programem Microsoft Excel, musí tabulky obsahovat popisky sloupců.

### Příklad

Následující tabulky obsahuje hodnoty, které se používají později v tomto dokumentu.

| A | B | C | D
1 | Jméno | Region | Prodeje | Seniorita
2 | Smith | západ | 21 | 5
3 | Jones | východ | 23 | 11
4 | Johnson | západ | 9 | 7
5 | Taylor | západ | 34 | 11
6 | Brown | východ | 23 | 15
7 | Walker | východ | 12 | 4
8 | Edwards | East | 15 | 12
9 | Thomas | západ | 17 | 10
10 | Wilson | západ | 31 | 3
11 | Celkem | 2 | 185 | 8.67

Oblast buněk A1:D11 byla definována jako databázová oblast „mojeData“. Při definování této databázové oblasti byly zaškrtnuty možnosti Obsahuje popisky sloupců a Obsahuje řádek součtů.

## Odkazování na data v tabulkách

Odkaz do databázové tabulky má podobu databazova_oblast[...]. V hranatých závorkách může být umístěno vyhrazené klíčové slovo, název pole nebo kombinace obou.

V případě, že je uvedeno pouze klíčové slovo nebo pouze název pole, použijte jednoduché hranaté závorky místo dvojitých.

#### Příklad

mojeData[#Headers] míst mojeData[[#Headers]] nebo mojeData[Region] místo mojeData[[Region]].

### Vyhrazená klíčová slova v odkazech

Klíčové slovo | Použití | Příklad
--- | --- | ---
[#Headers] | Klíčové slovo [#Headers] odkazuje na řádek s názvy polí (popisky sloupců). Jedná se o první řádek databázové oblasti. Jestliže databázová oblast nemá řádek s popisky definován (možnost Obsahuje popisky sloupců), vygeneruje se chyba #REF! | Výraz mojeData[#Headers] odkazuje na buňky A1:D1.
[#Data] | The keyword [#Data] references the data records of the database range, excluding the column label row and the totals row. Lze použít rovněž krátkou podobu mojeData[]. | Výraz mojeData[#Data] odkazuje na obdélníkovou oblast buněk A2:D10.
[#Totals] | The keyword [#Totals] references the row of totals. It is the last row of the database range. Jestliže databázová oblast nemá řádek součtů definován (možnost Obsahuje řádek součtů), vygeneruje se chyba #REF! | Výraz mojeData[#Totals] odkazuje na buňky A11:D11.
[#All] | Klíčové slovo [#All] odkazuje na celou databázovou oblast včetně popisků sloupců a součtů. | Výraz mojeData[#All] odkazuje na buňky A1:D11.
[#This Row] | Toto klíčové slovo popisuje implicitní průnik. | Použije-li se výraz mojeData[#This Row] ve vzorci v buňce F2, bude odkazovat na A2:D2. Použije-li se stejný výraz ve vzorci v buňce F5, bude odkazovat na A5:D5.

### Název pole v hranatých závorkách

Chcete-li odkázat na matici všech hodnot, které náležejí témuž poli, použijte tvar [název pole]. Odkazovaná oblast buněk nezahrnuje popisky a součty.

#### Příklad

Výraz mojeData[[Region]] nebo jeho zjednodušená podoba mojeData[Region] odkazuje na buňky B2:B10. Pokud nemá databázová oblast popisky sloupců, lze použít obecné popisky jako Column1 či Column2.

Pokud v aplikaci Microsoft Excel patří buňka se vzorcem do tabulky, lze název tabulky vynechat. Například vzorec =SUM(mojeData[Prodeje]) by mohl být zapsán v buňce C11 jako =SUM([Prodeje]). Vynechání názvu tabulky zatím v aplikaci Calc není možné.

## Kombinace

### Sloupce a datové záznamy

Pro odkazování na kombinaci popisků sloupců a datových záznamů použijte formát [#Headers];[#Data] nebo [#Headers],[#Data], kde je oddělovač stejný jako oddělovač pro parametry funkcí, který je definován v Nástroje - Možnosti - Calc - Vzorec - Oddělovače.

### Datové záznamy a řádek součtu

Pro odkazování na kombinaci datových záznamů a řádku součtu použijte [#Data];[#Totals]. Například myData[[#Data];[#Totals]] odkazuje na buňky A2:D11.

Kombinace, jako je například [#Headers];[#Totals], není možná, protože by vedla ke dvěma nesouvislým obdélníkům buněk.

### Sousední sloupce

Chcete-li odkázat na několik sousedních sloupců, použijte operátor oblasti „:“. Například vzorec mojeData[[Jméno]:[Prodeje]] odkazuje na buňky A2:C10.

### Nesousedící sloupce

Použít nesouvisející sloupce není možné, protože by bylo nutné odkazovat na dva oddělené obdélníky buněk.

### Název pole a klíčové slovo

Odkazy pomocí názvu pole a použití klíčového slova lze kombinovat. Nejprve uveďte klíčové slovo, poté oddělovač pro parametry funkcí a nakonec název pole v hranatých závorkách. Například výraz mojeData[[#Totals];[Prodeje]] odkazuje na buňku C11.

Související témata

Definování databázové oblasti

Databázové funkce

Definovat oblast

Implicitní průnik ve vzorcích