make-series operátor
Meghatározott összesített értékek sorozatának létrehozása egy megadott tengely mentén.
Syntax
T| make-series
[MakeSeriesParameters] [Column=
] Aggregation [default
=
DefaultValue] [,
...] on
AxisColumn [from
start] [to
end] step
step [by
[Column=
] GroupExpression [,
...]]
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
Oszlop | string |
Az eredményoszlop neve. A kifejezésből származtatott név alapértelmezett értéke. | |
DefaultValue | Skalár | A hiányzó értékek helyett használandó alapértelmezett érték. Ha nincs axisColumn és GroupExpression értékeket tartalmazó sor, akkor a tömb megfelelő eleme defaultValue értékhez lesz rendelve. Az alapértelmezett érték 0. | |
Összesítés | string |
✔️ | Egy aggregációs függvény meghívása, például count() vagy avg() , argumentumként oszlopnevekkel. Tekintse meg az összesítő függvények listáját. Az operátorral make-series csak olyan aggregációs függvények használhatók, amelyek numerikus eredményeket adnak vissza. |
AxisColumn | string |
✔️ | Az az oszlop, amellyel az adatsor rendezve lesz. Az oszlopértékek általában vagy timespan típusúak datetime lesznek, de minden numerikus típus elfogadott. |
Elkezd | Skalár | ✔️ | Az egyes összeállítandó sorozatok AxisColumn értékének alacsony kötött értéke. Ha az indítás nincs megadva, akkor az lesz az első intervallum vagy lépés, amely minden adatsorban tartalmaz adatokat. |
Végén | Skalár | ✔️ | Az AxisColumn nagy kötött, nem befogadó értéke. Az idősor utolsó indexe kisebb ennél az értéknél, és a végpontnál kisebb lépés egész számával kezdődik. Ha nincs megadva vég , akkor az lesz az utolsó intervallum vagy lépés felső határa, amely adatsoronként tartalmaz adatokat. |
Lépés | Skalár | ✔️ | Az AxisColumn tömb két egymást követő eleme közötti különbség vagy intervallumméret. A lehetséges időintervallumok listáját az időtartományban találja. |
GroupExpression | Az oszlopok fölötti kifejezés, amely különböző értékek halmazát biztosítja. Ez általában egy olyan oszlopnév, amely már korlátozott értékkészletet biztosít. | ||
MakeSeriesParameters | Nulla vagy több szóközzel elválasztott paraméter névérték= formájában, amely a viselkedést vezérli. Lásd a támogatott adatsor-paramétereket. |
Megjegyzés
A start, a end és a step paraméterek az AxisColumn értékek tömbjének összeállítására szolgálnak. A tömb a kezdő és a záró értékből áll, és a lépés értéke az egyik tömbelem és a következő közötti különbséget jelöli. Az összes összesítési érték ebben a tömbben van rendezve.
Támogatott adatsorparaméterek
Név | Leírás |
---|---|
kind |
Alapértelmezett eredményt ad vissza, ha a make-series operátor bemenete üres. Érték: nonempty |
hint.shufflekey=<key> |
A shufflekey lekérdezés megosztja a fürtcsomópontok lekérdezési terhelését az adatok particionálására használt kulccsal. Lásd: elosztási lekérdezés |
Megjegyzés
A make-series által létrehozott tömbök 1048576 értékekre korlátozódnak (2^20). Ha nagyobb tömböt próbál létrehozni make-series használatával, az hibát vagy csonkolt tömböt eredményez.
Másodlagos szintaxis
T| make-series
[Oszlop=
] Összesítés [default
=
DefaultValue] [,
...] on
AxisColumnin
range(
Elkezd,
állj,
Lépés)
[by
[Oszlop=
] GroupExpression [,
...]]
Az alternatív szintaxisból generált adatsorok két szempontból különböznek a fő szintaxistól:
- A stop érték a befogadó.
- Az indextengely dobozolása bin() és nem bin_at() használatával jön létre, ami azt jelenti, hogy az indítás nem szerepelhet a generált sorozatban.
Javasoljuk, hogy a make-series fő szintaxisát használja, és ne az alternatív szintaxist.
Válaszok
A bemeneti sorok csoportokba vannak rendezve, amelyek a kifejezések és az by
bin_at(
AxisColumn,
lépéskezdő)
,
kifejezés értékeit tartalmaznak. Ezután a megadott aggregációs függvények számítása minden csoportra történik, és minden csoporthoz egy sort hoz létre. Az eredmény tartalmazza az oszlopokat, az by
AxisColumn oszlopot és minden számított összesítéshez legalább egy oszlopot. (A több oszlopra vagy nem numerikus eredményre vonatkozó összesítések nem támogatottak.)
Ennek a köztes eredménynek annyi sora van, mint a és bin_at(
az AxisColumn,
lépésindítási)
,
értékeinek különböző kombinációiby
.
Végül a köztes eredmény sorait a kifejezések azonos értékeit by
tartalmazó csoportokba rendezi, és az összes összesített érték tömbökbe (típusú értékekbe dynamic
) van rendezve. Minden összesítéshez egy oszlop tartalmazza a tömböt ugyanazzal a névvel. Az utolsó oszlop egy tömb, amely a megadott lépés szerint rögzített AxisColumn értékeit tartalmazza.
Megjegyzés
Bár tetszőleges kifejezéseket is megadhat az összesítő és a csoportosítási kifejezésekhez, hatékonyabb az egyszerű oszlopnevek használata.
Összesítő függvények listája
Függvény | Leírás |
---|---|
avg() | Átlagértéket ad vissza a csoporton belül |
avgif() | Átlagot ad vissza a csoport predikátumával |
count() | A csoport számát adja vissza |
countif() | Egy darabszámot ad vissza a csoport predikátumával |
dcount() | A csoportelemek hozzávetőleges számát adja eredményül. |
dcountif() | A csoport predikátumával egy hozzávetőleges eltérő számot ad vissza. |
max() | A csoporton belüli maximális értéket adja eredményül. |
maxif() | A csoport predikátumával megadott maximális értéket adja eredményül. |
min() | A csoporton belüli minimális értéket adja eredményül. |
minif() | A csoport predikátumával rendelkező minimális értéket adja eredményül. |
percentilis() | A csoport percentilisértékét adja eredményül. |
take_any() | Véletlenszerű, nem üres értéket ad vissza a csoporthoz |
stdev() | A csoport szórását adja eredményül. |
sum() | A csoport elemeinek összegét adja eredményül. |
sumif() | A csoport predikátumával rendelkező elemek összegét adja eredményül. |
variance() | A csoport varianciáját adja eredményül. |
Sorozatelemzési függvények listája
Függvény | Leírás |
---|---|
series_fir() | Véges impulzusválasz szűrő alkalmazása |
series_iir() | Végtelen impulzusválasz-szűrő alkalmazása |
series_fit_line() | Megkeres egy egyenes vonalat, amely a bemenet legjobb közelítése |
series_fit_line_dynamic() | Megkeresi a bemenet legjobb közelítését tartalmazó vonalat, amely dinamikus objektumot ad vissza |
series_fit_2lines() | Két olyan sor keresése, amelyek a bemenet legjobb közelítését képezik |
series_fit_2lines_dynamic() | Két olyan sort keres, amely a bemenet legjobb közelítése, dinamikus objektumot ad vissza |
series_outliers() | Anomáliák pontszáma egy sorozatban |
series_periods_detect() | Az idősorok közül a legjelentősebb időszakokat keresi meg |
series_periods_validate() | Annak ellenőrzése, hogy egy idősor adott hosszúságú időszakos mintákat tartalmaz-e |
series_stats_dynamic() | Több oszlop visszaadása a gyakori statisztikákkal (min/max/variancia/stdev/average) |
series_stats() | Dinamikus értéket hoz létre a gyakori statisztikákkal (min/max/variancia/stdev/average) |
A sorozatelemzési függvények teljes listáját lásd: Sorozatfeldolgozási függvények
Adatsor-interpolációs függvények listája
Függvény | Leírás |
---|---|
series_fill_backward() | A hiányzó értékek visszamenőleges kitöltési interpolációját hajtja végre egy sorozatban |
series_fill_const() | Az adatsor hiányzó értékeit egy megadott állandó értékre cseréli |
series_fill_forward() | A hiányzó értékek előre történő kitöltési interpolációját hajtja végre egy sorozatban |
series_fill_linear() | A hiányzó értékek lineáris interpolációját hajtja végre egy sorozatban |
- Megjegyzés: Az interpolációs függvények alapértelmezés szerint hiányzó értéket feltételeznek
null
. Ezért adja megdefault=
amake-series
double() értéketnull
, ha interpolációs függvényeket kíván használni az adatsorhoz.
Példák
Egy táblázat, amely az egyes szállítóktól származó egyes gyümölcsök számainak és átlagárainak tömbjait mutatja be, amelyeket a megadott tartományú időbélyeggel rendeltek meg. A kimenetben egy sor található a gyümölcs és a szállító különböző kombinációihoz. A kimeneti oszlopok a következő gyümölcsöket, szállítókat és tömböket jelenítik meg: darabszám, átlag és a teljes idősor (2016-01-01-től 2016-01-10-ig). Az összes tömb a megfelelő időbélyeg szerint van rendezve, és az összes rés alapértelmezett értékekkel van kitöltve (ebben a példában 0). A rendszer figyelmen kívül hagyja az összes többi bemeneti oszlopot.
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
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 | időbélyeg |
---|---|
[ 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" ] |
Ha a bemenet make-series
üres, az alapértelmezett viselkedés make-series
üres eredményt ad.
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
Kimenet
Darabszám |
---|
0 |
Az in make-series
használata kind=nonempty
az alapértelmezett értékek nem üres eredményét eredményezi:
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
Kimenet
avg_metric | időbélyeg |
---|---|
[ 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" ] |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: