table()
Функция table() ссылается на таблицу, предоставляя ее имя в качестве выражения типа string
.
Синтаксис
table(
TableName [,
DataScope] )
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
TableName | string |
✔️ | Имя таблицы, на которой указывает ссылка. Значение этого выражения должно быть постоянным в точке вызова функции, то есть оно не может изменяться в зависимости от контекста данных. |
DataScope | string |
Используется для ограничения ссылки на таблицу данными в соответствии с тем, как эти данные подпадают под действующую политику кэша таблицы. Если используется, фактический аргумент должен быть одним из допустимых значений область данных. |
Допустимые значения область данных
Значение | Описание |
---|---|
hotcache |
Будут ссылаться только данные, которые относятся к категории горячего кэша. |
all |
На все данные в таблице будут ссылаться. |
default |
Значение по умолчанию — all , за исключением случаев, когда администратор кластера задал ему значение hotcache . |
Возвращаемое значение
table(T)
возвращает:
- Данные из таблицы T , если таблица с именем T существует.
- Данные, возвращаемые функцией T , если таблица с именем T не существует, но существует функция С именем T . Функция T не должна принимать аргументы и возвращать табличный результат.
- Семантическая ошибка возникает, если нет таблицы с именем T и функции С именем T.
Примеры
Использование table() для доступа к таблице текущей базы данных
table('StormEvents') | count
Выходные данные
Count |
---|
59066 |
Использование table() внутри операторов let
Приведенный выше запрос можно переписать как определяемую запросом функцию (оператор let), которая получает параметр tableName
, который передается в функцию table().
let foo = (tableName:string)
{
table(tableName) | count
};
foo('StormEvents')
Выходные данные
Count |
---|
59066 |
Использование 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 |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по