table()
Berlaku untuk: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Fungsi table() mereferensikan tabel dengan memberikan namanya sebagai ekspresi dari jenis string
.
Sintaks
table(
TableName [,
DataScope])
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
TableName | string |
✔️ | Nama tabel yang sedang dirujuk. Nilai ekspresi ini harus konstan pada titik panggilan ke fungsi, yang berarti tidak dapat bervariasi menurut konteks data. |
Cakupan Data | string |
Digunakan untuk membatasi referensi tabel ke data sesuai dengan bagaimana data ini berada di bawah kebijakan cache efektif tabel. Jika digunakan, argumen aktual harus merupakan salah satu nilai cakupan data yang valid. |
Nilai cakupan data yang valid
Nilai | Deskripsi |
---|---|
hotcache |
Hanya data yang dikategorikan sebagai cache panas yang akan dirujuk. |
all |
Semua data dalam tabel akan dirujuk. |
default |
Defaultnya adalah all , kecuali jika telah diatur ke hotcache oleh admin kluster. |
Mengembalikan
table(T)
menghasilkan:
- Data dari tabel T jika tabel bernama T ada.
- Data yang dikembalikan oleh fungsi T jika tabel bernama T tidak ada tetapi fungsi bernama T ada. Fungsi T tidak boleh mengambil argumen dan harus mengembalikan hasil tabular.
- Kesalahan semantik muncul jika tidak ada tabel bernama T dan tidak ada fungsi bernama T.
Contoh
Menggunakan table() untuk mengakses tabel database saat ini
table('StormEvents') | count
Hasil
Hitung |
---|
59066 |
Menggunakan table() di dalam pernyataan
Kueri di atas dapat ditulis ulang sebagai fungsi yang ditentukan kueri (pernyataan let) yang menerima parameter tableName
- yang diteruskan ke fungsi table().
let foo = (tableName:string)
{
table(tableName) | count
};
foo('StormEvents')
Hasil
Hitung |
---|
59066 |
Menggunakan table() di dalam Fungsi
Kueri yang sama seperti di atas dapat ditulis ulang untuk digunakan dalam fungsi yang menerima parameter tableName
- yang diteruskan ke fungsi table().
.create function foo(tableName:string)
{
table(tableName) | count
};
Catatan
Fungsi yang semacam itu hanya dapat digunakan secara lokal dan bukan di kueri lintas kluster.
Gunakan table() dengan parameter non-konstan
Parameter, yang bukan string konstanta skalar, tidak dapat diteruskan sebagai parameter ke table()
fungsi .
Berikut adalah contoh solusi untuk kasus tersebut.
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')
Hasil
x |
---|
2 |