Поделиться через


Инструкции табличных выражений

Оператор табличного выражения — это то, что люди обычно имеют в виду, когда говорят о запросах. Эта инструкция обычно отображается в списке инструкций, а входные и выходные данные состоят из таблиц или табличных наборов данных. Любые два оператора должны быть разделены точкой с запятой.

Оператор табличного выражения обычно состоит из табличных источников данных, таких как таблицы, операторы табличных данных, такие как фильтры и проекции, а также необязательные операторы отрисовки. Композиция представлена символом канала (|), предоставляя оператору обычную форму, которая визуально представляет поток табличных данных слева направо. Каждый оператор принимает табличный набор данных "из канала" и другие входные данные, включая более табличные наборы данных из текста оператора, а затем выдает табличный набор данных следующему оператору.

Синтаксис

Оператор Source1 | | Operator2 | RenderInstruction

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
Источник string ✔️ Табличный источник данных. См . табличные источники данных.
Оператор string ✔️ Операторы табличных данных, такие как фильтры и проекции.
RenderInstruction string Операторы или инструкции отрисовки.

Табличные источники данных

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

  • Ссылки на таблицы
  • Оператор табличного диапазона
  • Оператор печати
  • Вызов функции, возвращающей таблицу
  • Литерал таблицы ("datatable")

Примеры

Фильтрация строк по условию

Следующий запрос подсчитывает количество записей в StormEvents таблице с значением "ФЛОРИДА" в столбце State .

StormEvents 
| where State == "FLORIDA"
| count

Выходные данные

Count
1042

Объединение данных из двух таблиц

В следующем примере оператор соединения используется для объединения записей из двух табличных источников данных: StormEvents таблицы и PopulationData таблицы.

StormEvents 
| where InjuriesDirect + InjuriesIndirect > 50
| join (PopulationData) on State
| project State, Population, TotalInjuries = InjuriesDirect + InjuriesIndirect

Выходные данные

Штат Население TotalInjuries
АЛАБАМА 4918690 60
CALIFORNIA 39562900 61
КАНЗАС 2915270 63
МИССУРИ 6153230 422
ОКЛАХОМА 3973710 200
ТЕННЕССИ 6886720 187
TEXAS 29363100 137