table()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Функция table() ссылается на таблицу, указав ее имя как выражение типа string
.
Синтаксис
table(
TableName [,
DataScope])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
TableName | string |
✔️ | Имя таблицы, на которой ссылается ссылка. Значение этого выражения должно быть константой в точке вызова функции, что означает, что она не может отличаться в контексте данных. |
DataScope | string |
Используется для ограничения ссылки на таблицу на данные в соответствии с тем, как эти данные попадают под эффективную политику кэша таблицы. Если используется, фактический аргумент должен быть одним из допустимых значений области данных. |
Допустимые значения области данных
значение | Описание |
---|---|
hotcache |
Будут ссылаться только данные, классифицируемые как горячий кэш. |
all |
Все данные в таблице будут ссылаться. |
default |
Значение по умолчанию all — за исключением того, задан hotcache ли он администратором кластера. |
Возвраты
table(T)
возвращает:
- Данные из таблицы T , если таблица с именем T существует.
- Данные, возвращаемые функцией T, если таблица с именем T не существует, но функция с именем T существует. Функция T не должна принимать аргументы и должна возвращать табличный результат.
- Семантическая ошибка возникает, если нет таблицы с именем T и функции с именем T.
Примеры
Использование table() для доступа к таблице текущей базы данных
table('StormEvents') | count
Выходные данные
Count |
---|
59 066 |
Использование table() внутри инструкций let
Приведенный выше запрос может быть перезаписан как определяемая запросом функция (let), которая получает параметр tableName
, который передается в функцию table().
let foo = (tableName:string)
{
table(tableName) | count
};
foo('StormEvents')
Выходные данные
Count |
---|
59 066 |
Использование table() внутри функций
Тот же запрос, что и выше, можно переписать для использования в функции, которая получает параметр tableName
, который передается в функцию table().
.create function foo(tableName:string)
{
table(tableName) | count
};
Примечание.
Такие функции можно использовать только локально, а не в межкластичном запросе.
Использование table() с неконстантным параметром
Параметр, который не является скалярной строкой константы, нельзя передать в функцию в качестве параметра table()
.
Ниже приведен пример обходного решения для такого случая.
let T1 = print x=1;
let T2 = print x=2;
let _choose = (_selector:string)
{
union
(T1 | where _selector == 'T1'),
(T2 | where _selector == 'T2')
};
_choose('T2')
Выходные данные
x |
---|
2 |