Ссылка на таблицу базы данных

LibreOffice Calc позволяет ссылаться на данные в таблицах базы данных с помощью специальной записи, “database table reference”, для ссылки на ячейку внутри таблицы. Эта специализированная нотация нацелена на улучшение читаемости формул со ссылками на ячейки в таблице базы данных.

Значок предупреждения

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.


Таблицы базы данных

«Таблицы» в электронной таблице определяются по диапазонам базы данных (Данные - Задать диапазон). В дополнение к имени базы данных, для использования ссылок на таблицы базы данных необходимо следующее:

Пример

Таблица внизу содержит значения, использующиеся позднее в примерах этого документа.

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». Параметры Содержит подписи столбцов и Содержит строку итогов были включены при определении диапазона базы данных.

Создание ссылок на данные в таблицах

Ссылка на таблицу базы данных имеет форму имени диапазона базы данных database_range[…]. Часть внутри квадратных скобок может быть зарезервированным ключевым словом для ссылки, именем поля в квадратных скобках, либо комбинацией того и другого.

В случаях использования одного ключевого слова или одного имени поля, используйте одиночные скобки вместо двойных.

Пример

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

Зарезервированные ключевые слова для ссылки

Ключевое слово

Применение

Пример

[#Headers]

Ключевое слово [#Headers] ссылается на строку имён полей (заголовков столбцов). Это первая строка диапазона базы данных.

Если в диапазоне базы данных не определена строка заголовка (содержит строку столбцов), генерируется ошибка #ССЫЛ!

Выражение 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.

Если в диапазоне базы данных не определена строка итогов (Содержит строку итогов), генерируется ошибка #ССЫЛ!

Выражение 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. Если в диапазоне базы данных отсутствует строка заголовков, то можно использовать общие заголовки Column1, Column2.

Значок примечания

В 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.

Пожалуйста, поддержите нас!

Пожалуйста, поддержите нас!