Aracılığıyla paylaş


make-series işleci

Belirtilen eksen boyunca belirtilen toplanmış değer serisini oluşturun.

Sözdizimi

T | make-series [MakeSeriesParameters] [Sütun =] Toplama [ =default DefaultValue] [, ...] on AxisColumn [from start] [to end] step step [by [Column =] GroupExpression [, ...]]

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

Parametreler

Ad Tür Zorunlu Açıklama
Sütun string Sonuç sütununun adı. varsayılan olarak ifadeden türetilen bir addır.
DefaultValue sayıl Eksik değerler yerine kullanılacak varsayılan değer. AxisColumn ve GroupExpression'ın belirli değerlerine sahip bir satır yoksa, dizinin karşılık gelen öğesine bir DefaultValue atanır. Varsayılan değer 0'dır.
Toplama string ✔️ Sütun adlarını bağımsız değişken olarak içeren veya avg()gibi count() bir toplama işlevine yapılan çağrı. Toplama işlevlerinin listesine bakın. Yalnızca sayısal sonuçlar döndüren toplama işlevleri işleciyle make-series kullanılabilir.
AxisColumn string ✔️ Serinin sıralanacağı sütun. Genellikle sütun değerleri türünde datetime olur ancak timespan tüm sayısal türler kabul edilir.
start sayıl ✔️ Oluşturulacak serilerin her biri için AxisColumn'un düşük sınır değeri. Başlangıç belirtilmezse, her seride veri içeren ilk bölme veya adım olur.
son sayıl ✔️ AxisColumn'un yüksek ilişkili kapsayıcı olmayan değeri. Zaman serisinin son dizini bu değerden küçüktür ve başlangıç artı sonundan küçük olan adımın tamsayı katı olur. End belirtilmezse, her seri için veri içeren son bölmenin veya adımın üst sınırı olur.
adım sayıl ✔️ AxisColumn dizisinin iki ardışık öğesi arasındaki fark veya bölme boyutu. Olası zaman aralıklarının listesi için bkz . zaman aralığı.
GroupExpression Bir dizi ayrı değer sağlayan sütunlar üzerinde bir ifade. Genellikle kısıtlı bir değer kümesi sağlayan bir sütun adıdır.
MakeSeriesParameters Davranışı denetleen Ad = Değeri biçiminde sıfır veya daha fazla boşlukla ayrılmış parametre. Bkz . desteklenen make series parametreleri.

Not

Start, end ve step parametreleri, AxisColumn değerlerinin bir dizisini oluşturmak için kullanılır. Dizi, başlangıç ve bitiş arasındaki değerlerden oluşur ve adım değeri bir dizi öğesi ile sonraki arasındaki farkı temsil eder. Tüm Toplama değerleri sırasıyla bu diziye sıralanır.

Desteklenen make serisi parametreleri

Veri Akışı Adı Açıklama
kind Make-series işlecinin girişi boş olduğunda varsayılan sonucu verir. Değer: nonempty
hint.shufflekey=<key> Sorgu, shufflekey verileri bölümleme anahtarı kullanarak küme düğümlerinde sorgu yükünü paylaşır. Bkz. karıştırma sorgusu

Not

Make-series tarafından oluşturulan diziler 1048576 değerlerle sınırlıdır (2^20). Make-series ile daha büyük bir dizi oluşturmaya çalışmak hataya veya kesilmiş bir diziye neden olabilir.

Alternatif Söz Dizimi

T | make-series [Sütun =] Toplama [ =default DefaultValue] [, ...] on AxisColumn range(inbaşlangıç, durdurma, adımı) [by [Sütun =] GroupExpression [, ...]]

Alternatif söz diziminden oluşturulan seriler, ana söz diziminden iki açıdan farklıdır:

  • Durdurma değeri dahildir.
  • Dizin ekseninin gruplanması, bin_at() ile değil bin() ile oluşturulur; bu da başlangıç işleminin oluşturulan seriye dahil edilemeyebilir.

Alternatif söz dizimini değil, make-series ana söz dizimini kullanmanız önerilir.

Döndürülenler

Giriş satırları, ifadelerin ve AxisColumn adım,başlangıç) ifadesinin,aynı değerlerine by bin_at(sahip gruplar halinde düzenlenir. Ardından, belirtilen toplama işlevleri her grup üzerinde hesaplanır ve her grup için bir satır oluşturulur. Sonuç, axisColumn sütununu ve hesaplanan her toplama için en az bir sütunu içerirby. (Birden çok sütundaki toplamalar veya sayısal olmayan sonuçlar desteklenmez.)

Bu ara sonuç, vebin_at( AxisColumn adım,başlangıç) değerlerininby, farklı birleşimleri olduğu kadar çok satıra sahiptir.

Son olarak, ara sonuçtaki satırlar ifadelerle by aynı değerlere sahip gruplar halinde düzenlenir ve tüm toplanan değerler diziler halinde düzenlenir (türdeki değerler dynamic ). Her toplama için, dizisini aynı ada sahip bir sütun içerir. Son sütun, belirtilen adıma göre ikiye ayrılan AxisColumn değerlerini içeren bir dizidir.

Not

Hem toplama hem de gruplandırma ifadeleri için rastgele ifadeler sağlayabilmenize rağmen, basit sütun adlarını kullanmak daha verimlidir.

Toplama işlevlerinin listesi

İşlev Açıklama
avg() Grup genelinde ortalama bir değer döndürür
avgif() Grubun koşuluyla bir ortalama döndürür
count() Grubun sayısını verir
countif() Grubun koşulunu içeren bir sayı döndürür
dcount() Grup öğelerinin yaklaşık ayrı sayısını döndürür
dcountif() Grubun koşuluyla yaklaşık ayrı bir sayı döndürür
max() Grup genelindeki en büyük değeri verir
maxif() Grubun koşuluyla en büyük değeri verir
min() Grup genelinde en düşük değeri verir
minif() Grubun koşuluyla en düşük değeri verir
percentile() Grup genelinde yüzdebirlik değeri verir
take_any() Grup için rastgele boş olmayan bir değer döndürür
stdev() Grup genelinde standart sapması verir
sum() Grup içindeki öğelerin toplamını verir
sumif() Grubun koşuluna sahip öğelerin toplamını döndürür
varyans() Grup genelinde varyansı verir

Seri çözümleme işlevlerinin listesi

İşlev Açıklama
series_fir() Sonlu Dürtü Yanıtı filtresi uygular
series_iir() Sonsuz Dürtü Yanıtı filtresi uygular
series_fit_line() Girişin en iyi tahmini olduğu düz bir çizgi bulur
series_fit_line_dynamic() Girişin en iyi yaklaşık değeri olan ve dinamik nesne döndüren bir satır bulur
series_fit_2lines() Girişin en iyi tahmini olan iki satırı bulur
series_fit_2lines_dynamic() Girişin en iyi yaklaşık değeri olan ve dinamik nesne döndüren iki satır bulur
series_outliers() Bir serideki anomali puanlarını puanlar
series_periods_detect() Bir zaman serisinde var olan en önemli dönemleri bulur
series_periods_validate() Bir zaman serisinin belirli uzunluklarda düzenli desenler içerip içermediğini denetler
series_stats_dynamic() Ortak istatistiklerle birden çok sütun döndürme (en az/en yüksek/varyans/stdev/ortalama)
series_stats() Ortak istatistiklerle dinamik bir değer oluşturur (min/max/varyans/stdev/average)

Seri analizi işlevlerinin tam listesi için bkz. Seri işleme işlevleri

Seri ilişkilendirme işlevlerinin listesi

İşlev Açıklama
series_fill_backward() Bir serideki eksik değerleri geriye doğru doldurma ilişkilendirmesi gerçekleştirir
series_fill_const() Serideki eksik değerleri belirtilen sabit değerle değiştirir
series_fill_forward() Bir serideki eksik değerlerin ileriye doğru doldurma ilişkilendirmesini gerçekleştirir
series_fill_linear() Serideki eksik değerlerin doğrusal ilişkilendirmesini gerçekleştirir
  • Not: varsayılan olarak ilişkilendirme işlevleri eksik bir değer olarak varsayılır null . Bu nedenle, seri için ilişkilendirme işlevlerini kullanmayı düşünüyorsanız içinde double() değerini belirtindefault=.nullmake-series

Örnekler

Belirtilen aralıkta zaman damgası tarafından sipariş edilen her tedarikçiden gelen her bir meyvenin sayı dizilerini ve ortalama fiyatlarını gösteren tablo. Her farklı meyve ve tedarikçi bileşimi için çıkışta bir satır vardır. Çıkış sütunları meyve, sağlayıcı ve dizilerini gösterir: sayı, ortalama ve tüm zaman çizelgesi (2016-01-01 ile 2016-01-10 arasında). Tüm diziler ilgili zaman damgasına göre sıralanır ve tüm boşluklar varsayılan değerlerle doldurulur (bu örnekte 0). Diğer tüm giriş sütunları yoksayılır.

T | make-series PriceAvg=avg(Price) default=0
on Purchase from datetime(2016-09-10) to datetime(2016-09-13) step 1d by Supplier, Fruit

Üç tablo. İlkinde ham veriler listelenir, ikincisi yalnızca farklı tedarikçi-meyve-tarih birleşimlerine sahiptir ve üçüncüsü ise seri yapma sonuçlarını içerir.

let data=datatable(timestamp:datetime, metric: real)
[
  datetime(2016-12-31T06:00), 50,
  datetime(2017-01-01), 4,
  datetime(2017-01-02), 3,
  datetime(2017-01-03), 4,
  datetime(2017-01-03T03:00), 6,
  datetime(2017-01-05), 8,
  datetime(2017-01-05T13:40), 13,
  datetime(2017-01-06), 4,
  datetime(2017-01-07), 3,
  datetime(2017-01-08), 8,
  datetime(2017-01-08T21:00), 8,
  datetime(2017-01-09), 2,
  datetime(2017-01-09T12:00), 11,
  datetime(2017-01-10T05:00), 5,
];
let interval = 1d;
let stime = datetime(2017-01-01);
let etime = datetime(2017-01-10);
data
| make-series avg(metric) on timestamp from stime to etime step interval 
avg_metric timestamp
[ 4.0, 3.0, 5.0, 0.0, 10.5, 4.0, 3.0, 8.0, 6.5 ] [ "2017-01-01T00:00:00.0000000Z", "2017-01-02T00:00:00.0000000Z", "2017-01-03T00:00:00.0000000Z", "2017-01-04T00:00:00.0000000Z", "2017-01-05T00:00:00.0000000Z", "2017-01-06T00:00:00.0000000Z", "2017-01-07T00:00:00.0000000Z", "2017-01-08T00:00:00.0000000Z", "2017-01-09T00:00:00.0000000Z" ]

girişi make-series boş olduğunda, öğesinin varsayılan davranışı make-series boş bir sonuç üretir.

let data=datatable(timestamp:datetime, metric: real)
[
  datetime(2016-12-31T06:00), 50,
  datetime(2017-01-01), 4,
  datetime(2017-01-02), 3,
  datetime(2017-01-03), 4,
  datetime(2017-01-03T03:00), 6,
  datetime(2017-01-05), 8,
  datetime(2017-01-05T13:40), 13,
  datetime(2017-01-06), 4,
  datetime(2017-01-07), 3,
  datetime(2017-01-08), 8,
  datetime(2017-01-08T21:00), 8,
  datetime(2017-01-09), 2,
  datetime(2017-01-09T12:00), 11,
  datetime(2017-01-10T05:00), 5,
];
let interval = 1d;
let stime = datetime(2017-01-01);
let etime = datetime(2017-01-10);
data
| take 0
| make-series avg(metric) default=1.0 on timestamp from stime to etime step interval 
| count 

Çıktı

Sayı
0

içinde make-series kullanıldığında kind=nonempty varsayılan değerlerin boş olmayan bir sonucu elde edilecek:

let data=datatable(timestamp:datetime, metric: real)
[
  datetime(2016-12-31T06:00), 50,
  datetime(2017-01-01), 4,
  datetime(2017-01-02), 3,
  datetime(2017-01-03), 4,
  datetime(2017-01-03T03:00), 6,
  datetime(2017-01-05), 8,
  datetime(2017-01-05T13:40), 13,
  datetime(2017-01-06), 4,
  datetime(2017-01-07), 3,
  datetime(2017-01-08), 8,
  datetime(2017-01-08T21:00), 8,
  datetime(2017-01-09), 2,
  datetime(2017-01-09T12:00), 11,
  datetime(2017-01-10T05:00), 5,
];
let interval = 1d;
let stime = datetime(2017-01-01);
let etime = datetime(2017-01-10);
data
| take 0
| make-series kind=nonempty avg(metric) default=1.0 on timestamp from stime to etime step interval 

Çıktı

avg_metric timestamp
[
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0
]
[
"2017-01-01T00:00:00.0000000Z",
"2017-01-02T00:00:00.0000000Z",
"2017-01-03T00:00:00.0000000Z",
"2017-01-04T00:00:00.0000000Z",
"2017-01-05T00:00:00.0000000Z",
"2017-01-06T00:00:00.0000000Z",
"2017-01-07T00:00:00.0000000Z",
"2017-01-08T00:00:00.0000000Z",
"2017-01-09T00:00:00.0000000Z"
]