Aracılığıyla paylaş


table()

table() işlevi, adını türünde stringbir ifade olarak sağlayarak bir tabloya başvurur.

Sözdizimi

table(TableName [, DataScope])

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
TableName string ✔️ Başvuruda bulunan tablonun adı. Bu ifadenin değeri, işleve çağrı noktasında sabit olmalıdır; bu da veri bağlamlarına göre değişemeyeceği anlamına gelir.
DataScope string Tablo başvurularını, bu verilerin tablonun etkin önbellek ilkesi kapsamındaki verilere göre kısıtlamak için kullanılır. Kullanılırsa, gerçek bağımsız değişken Geçerli veri kapsamı değerlerinden biri olmalıdır.

Geçerli veri kapsamı değerleri

Value Açıklama
hotcache Yalnızca sık erişimli önbellek olarak kategorilere ayrılmış verilere başvurulur.
all Tablodaki tüm verilere başvurulacaktır.
default Varsayılan değer, allküme yöneticisi tarafından olarak ayarlanmış hotcache olması dışında şeklindedir.

Döndürülenler

table(T) Döndürür:

  • T adlı bir tablo varsa, T tablosundaki veriler.
  • T adlı bir tablo yoksa ancak T adlı bir işlev varsa, T işlevi tarafından döndürülen veriler. T işlevi bağımsız değişken almamalı ve tablosal sonuç döndürmelidir.
  • T adlı bir tablo ve T adlı bir işlev yoksa anlamsal bir hata oluşur.

Örnekler

Geçerli veritabanının tablosuna erişmek için table() kullanma

table('StormEvents') | count

Çıktı

Sayı
59066

let deyimlerinin içinde table() kullanma

Yukarıdaki sorgu, table() işlevine geçirilen bir parametre tableName alan sorgu tanımlı bir işlev (let deyimi) olarak yeniden yazılabilir.

let foo = (tableName:string)
{
    table(tableName) | count
};
foo('StormEvents')

Çıktı

Sayı
59066

İşlevler içinde table() kullanma

Yukarıdakiyle aynı sorgu, table() işlevine geçirilen bir parametre tableName alan bir işlevde kullanılmak üzere yeniden yazılabilir.

.create function foo(tableName:string)
{
    table(tableName) | count
};

Not

Bu tür işlevler kümeler arası sorguda değil yalnızca yerel olarak kullanılabilir.

Table() öğesini sabit olmayan parametreyle kullanma

Skaler sabit dize olmayan bir parametre, işleve table() parametre olarak geçirilemiyor.

Aşağıda, bu tür bir durum için geçici çözüm örneği verilmiştir.

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')

Çıktı

x
2