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 поиск таблиц, содержащих вложенные таблицы ("no" по умолчанию).

Примечание

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

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

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

Примеры

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) находит слово «заказчик» внутри таблицы, содержащей вложенные таблицы.