table

Назначение

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

Синтаксис

table([аргумент_1, [аргумент_2, …​]])

Аргументы

Функция поддерживает опциональные именованные параметры, которые позволяют указывать дополнительный критерий поиска:

  • name: поиск внутри таблиц с указанным именем; может определяться PDL-запросом;

  • number: поиск внутри таблиц с указанным числом;

  • col/column: поиск внутри колонок с указанным именем/номером; может содержать PDL-запрос;

  • row: поиск внутри строк с указанным именем/номером; может содержать PDL-запрос;

  • axis: поиск внутри строк или колонок с указанным именем; может содержать PDL-запрос;

  • cell: поиск внутри указанных ячеек; может содержать PDL-запрос;

  • cell_units: поиск единиц измерения внутри ячейки таблицы;

  • match: определяет табличные разделы, которые должны быть подсвечены (cell/row/column/table/name/row_name/col_name);

  • whole:=yes: позволяет найти название таблицы, ряда, колонки или содержание ячейки, только если оно полностью совпадает с указанной строкой (по умолчанию whole:=no, функция находит любое вхождение строки);

  • level ограничение уровня вложенности таблицы (начиная с 1) с использованием операторов «>», «<», «>=», «<=», «!=»

  • nested:=yes/no поиск только вложенных таблиц ("no" по умолчанию);

  • has_nested:=yes/no поиск таблиц, содержащих вложенные таблицы ("yes" по умолчанию).

Примечание
  1. Для ограничения поиска внутри числовых параметров можно использовать операторы сравнения «>», «<», «>=», «<=», «!=», например, table(col:>1, col:<3, row:>4).

  2. Именованная группа не может быть значением опционального именованного параметра.

Возвращаемое значение

Документы, соответствующие запросу.

Примеры

table() находит все таблицы документа.

table(таблетка, ароматизатор) находит все случаи употребления слов «таблетка» или «ароматизатор» внутри таблиц;

table(таблетка, ароматизатор, match:=cell) находит ячейки таблиц, содержащие слова «таблетка» или «ароматизатор»;

table(таблетка, ароматизатор, match:=row) находит строки таблиц, содержащие слова «таблетка» или «ароматизатор»;

table(name:=phrase(0, состав, optional(lemma(adjective)), orn(препарат,лекарство))) находит таблицы с именами, найденными путем специального запроса, например «Состав препарата», «Состав лекарственного средства», и т.д;

table(col:="применение", row:="таблетки жевательные") находит ячейки таблиц на пересечении колонки и строки с именем, определенным специальным запросом;

table(number:=3) находит таблицу №3;

table(number:=4, column:=2) находит колонку №2 таблицы №4;

table(col:=phrase(lemma(adjective), orn(вещество,ингредиент))) находит колонки с именем, соответствующим поисковому запросу, например «Действующее вещество», «Активное вещество», «Активный ингредиент», и т.д;

table(number:=4, row:=23, column:=2) находит ячейку на пересечении колонки №2 и строки №23 таблицы №4;

table(cell:=orn(таблетка,биофильтрация)) находит ячейки, где упомянуты слова «таблетка» или «биофильтрация»;

table(number(), axis:="вещество", axis:="концентрация") находит числа на пересечении колонок, содержащих в названии слово «вещество», и строк, содержащих в названии слово «концентрация», или наоборот.

table(row:>=5, level:=2, "закупка") находит слово «закупка» в строках, начиная с пятой, внутри вложенной таблицы второго уровня.

table(cell:="закупка", nested:=yes) находит слово «закупка» внутри ячеек вложенной таблицы.

table("заказчик", has_nested:=yes) находит слово «заказчик» внутри таблицы, содержащей вложенные таблицы.