Съдържание

# Обръщение към таблица на база от данни

LibreOfficeDev Calc позволява препращане към клетки от таблици с данни чрез специална нотация, „обръщение към таблица на база от данни“. Тя е предназначена да подобри четливостта на формулите с обръщения към клетки от таблица с данни.

The ODF standard currently lacks support for structured references. When saving a file in .ods format, structured references are converted to direct references, preserving only the values at the time of saving. Efforts to introduce structured references in the ODF Standard are underway.

## Таблици с данни

„Таблиците“ в работен лист се дефинират чрез диапазони за база от данни (Данни - Дефиниране на диапазон). За да се използват обръщения към таблица с данни, освен името на базата от данни е необходимо следното:

- Таблиците трябва да са ориентирани вертикално.

- Заглавията на колони трябва да следват правилата за наименувани диапазони.

- Ако е необходима съвместимост с Microsoft Excel, таблиците трябва да имат заглавия на колони.

### Пример

Таблицата по-долу съдържа стойности, използвани в примерите по-нататък в този документ.

| A | B | C | D
1 | Име | Регион | Продажби | Стаж
2 | Smith | Запад | 21 | 5
3 | Jones | Изток | 23 | 11
4 | Johnson | Изток | 9 | 7
5 | Taylor | Запад | 34 | 11
6 | Brown | Изток | 23 | 15
7 | Walker | Изток | 12 | 4
8 | Edwards | East | 15 | 12
9 | Thomas | Запад | 17 | 10
10 | Wilson | Запад | 31 | 3
11 | Общо | 2 | 185 | 8.67

Диапазонът от клетки A1:D11 е зададен като диапазон за база от данни „myData“. Настройките Съдържа заглавия на колони и Съдържа сумарен ред са били отметнати при дефинирането на диапазона за база от данни.

## Обръщения към данни в таблици

A database table reference has the form name of database_range[…]. The part inside the square brackets can be a reserved reference keyword, a field name, or a combination of the two.

Когато има само една ключова дума или едно име на поле, използвайте единични скоби вместо двойни.

#### Пример

myData[#Headers] вместо myData[[#Headers]] или myData[Регион] вместо myData[[Регион]].

### Запазени ключови думи за обръщения

Ключова дума | Употреба | Пример
--- | --- | ---
[#Headers] | Ключовата дума [#Headers] препраща към реда от имена на полета (заглавия на колони). Това е първият ред от диапазона за база от данни. If the database range has no labels row defined (Contains column labels), a #REF! error is generated. | Изразът myData[#Headers] препраща към клетките A1:D1.
[#Data] | The keyword [#Data] references the data records of the database range, excluding the column label row and the totals row. Може да се използва и кратката форма myData[]. | Изразът myData[#Data] препраща към правоъгълника от клетки A2:D10.
[#Totals] | The keyword [#Totals] references the row of totals. It is the last row of the database range. Ако в диапазона за база от данни не е дефиниран сумарен ред (Съдържа сумарен ред), възниква грешка #REF!. | Изразът myData[#Totals] препраща към клетките A11:D11.
[#All] | Ключовата дума [#All] обозначава целия диапазон за база от данни, включително заглавията на колони и сумарния ред. | Изразът myData[#All] препраща към клетките A1:D11.
[#This Row] | Тази ключова дума описва неявно сечение. | Ако изразът myData[#This Row] участва във формула в клетката F2, той ще препраща към A2:D2. Ако същият израз се използва във формула в клетката F5, той ще сочи към A5:D5.

### Име на поле в квадратни скоби

За обръщение към масива от всички стойности в записите, които принадлежат на едно и също поле, използвайте формата [име на поле]. Диапазонът, указван от препратката, не включва заглавията и сумарния ред.

#### Пример

Изразът myData[[Регион]] или опростената му форма myData[Регион] препраща към клетките B2:B10. Ако диапазонът за база от данни няма заглавен ред, може да се използват общи заглавия от рода на Колона1, Колона2.

В Microsoft Excel ако формулата е в клетка от таблицата, името на таблицата може да се пропусне. Например формулата =SUM(myData[Продажби]) в клетката C11 може да се напише като =SUM([Продажби]). В Calc засега не е възможно да се пропуска името на таблицата.

## Комбинации

### Колони и записи с данни

За да създадете обръщение към комбинация от заглавията на колони и записите с данни, използвайте формата [#Headers];[#Data] или [#Headers],[#Data], където разделителят е същият като за параметрите на функции, дефиниран в Инструменти - Настройки - Calc - Формула - Разделители.

### Записи с данни и сумарен ред

За да създадете обръщение към комбинация от записи с данни и сумарен ред, използвайте [#Data];[#Totals]. Например myData[[#Data];[#Totals]] препраща към клетките A2:D11.

Комбинация от вида [#Headers];[#Totals] не е възможна, тъй като би довела до два отделни правоъгълника от клетки.

### Съседни колони

За обръщение към няколко съседни колони използвайте операцията за диапазон „:“. Например формулата myData[[Име]:[Продажби]] адресира клетките A2:C10.

### Несъседни колони

Обръщение към несъседни колони не е възможно, защото би адресирало два отделни правоъгълника от клетки.

### Име на поле и ключова дума

Обръщението чрез име на поле и това чрез ключова дума може да се комбинират. Първо задайте ключовата дума, после разделителя за функции и накрая името на полето в скоби. Например myData[[#Totals];[Продажби]] препраща към клетката C11.

Теми, свързани с показаната

Дефиниране на диапазон за база от данни

Функции за бази от данни

Дефиниране на диапазон

Неявно сечение във формули

Моля, подкрепете ни!