make-series işleci

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

Syntax

T| make-series [MakeSeriesParameters] [Column=] Toplama [default=DefaultValue] [, ...] onAxisColumn [fromstart] [toend] stepstep [by [Column=] GroupExpression [, ...]]

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

Parametreler

Ad Tür Gerekli Açıklama
Sütun string Sonuç sütununun adı. Varsayılan olarak ifadeden türetilen bir addır.
DefaultValue Skalar 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 birlikte kullanılabilir.
AxisColumn string ✔️ Serinin sıralandığı sütun. Genellikle sütun değerleri türünde datetime olur ancak timespan tüm sayısal türler kabul edilir.
Başlatmak Skalar ✔️ 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 -unda Skalar ✔️ 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 Skalar ✔️ 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 farklı değer sağlayan sütunlar üzerinde bir ifade. Genellikle kısıtlanmış bir değer kümesi sağlayan bir sütun adıdır.
MakeSeriesParameters Davranışı denetleyebilen Ad=Değeri biçiminde sıfır veya daha fazla boşlukla ayrılmış parametre. Bkz. desteklenen make serisi parametreleri.

Not

Start, end ve step parametreleri Bir AxisColumn değerleri dizisi 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 bir sonraki arasındaki farkı temsil eder. Tüm Toplama değerleri sırasıyla bu diziye sıralanır.

Desteklenen make serisi parametreleri

Ad Açıklama
kind Make-series işlecinin girişi boş olduğunda varsayılan sonucu üretir. 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] [, ...] onAxisColumninrange(Başlatmak,Durdurmak,Adım) [by [Sütun=] GroupExpression [, ...]]

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

  • Durdurma değeri dahil.
  • Dizin ekseninin gruplanması, bin_at() ile değil bin() ile oluşturulur; bu da başlatmanın oluşturulan seriye dahil edilemediğini gösterir.

Alternatif söz diziminin değil, make-series ana söz diziminin kullanılması önerilir.

Döndürülenler

Giriş satırları, ifadelerin ve AxisColumnadım,başlangıç) ifadesinin , aynı değerlerine bybin_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ütun veya sayısal olmayan sonuçlar üzerinde toplamalar desteklenmez.)

Bu ara sonuç, ve bin_at(AxisColumnadım,başlangıç) değerlerinin by, farklı bileşimleri olduğu kadar çok satıra sahiptir.

Son olarak, ara sonuçtaki satırlar ifadelerin by aynı değerlerine sahip gruplar halinde düzenlenir ve tüm toplanan değerler diziler halinde düzenlenir (türdeki değerler dynamic ). Her toplama için aynı ada sahip dizisini içeren bir sütun vardır. Son sütun, belirtilen adıma göre binned 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şuluna sahip bir ortalama verir
count() Grubun sayısını döndürür
countif() Grubun koşuluna sahip 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şuluna sahip en büyük değeri verir
min() Grup genelinde minimum değeri verir
minif() Grubun koşuluyla en küçük değeri verir
percentile() Grup genelinde yüzdebirlik değeri verir
take_any() Grup için boş olmayan rastgele bir değer döndürür
stdev() Grup genelinde standart sapması verir
sum() Grup içindeki öğelerin toplamını döndürür
sumif() Grubun koşuluna sahip öğelerin toplamını döndürür
variance() Grup genelinde varyansı verir

Seri analizi işlevlerinin listesi

İşlev Açıklama
series_fir() Sonlu Darbe 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 iki satırı bulur ve dinamik nesne döndürür
series_outliers() Serideki anomali puanlarını puanlar
series_periods_detect() Bir zaman serisinde var olan en önemli dönemleri bulur
series_periods_validate() 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 (min/max/varyans/stdev/average)
series_stats() Ortak istatistiklerle dinamik bir değer oluşturur (min/max/varyans/stdev/average)

Seri çözümleme 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ğerlerin geriye doğru doldurma ilişkilendirmesini gerçekleştirir
series_fill_const() Serideki eksik değerleri belirtilen sabit değerle değiştirir
series_fill_forward() 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: İlişkilendirme işlevleri varsayılan olarak 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 make-seriesdouble(null) değerini belirtindefault=.

Ö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 birleş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). 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 tarihi 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, 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 

Çıkış

Count
0

içinde kind=nonemptymake-series kullanıldığında varsayılan değerlerin boş olmayan bir sonucu oluşturulur:

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 

Çıkış

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"
]