operator make-series
Maak een reeks opgegeven geaggregeerde waarden langs een opgegeven as.
Syntax
T| make-series
[MakeSeriesParameters] [Column=
] Aggregation [default
=
DefaultValue] [,
...] on
AxisColumn [from
begin] [to
einde] step
stap [by
[Kolom=
] GroupExpression [,
...]]
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
Kolom | string |
De naam voor de resultaatkolom. De standaardinstelling is een naam die is afgeleid van de expressie. | |
Standaardwaarde | Scalaire | Een standaardwaarde die moet worden gebruikt in plaats van ontbrekende waarden. Als er geen rij is met specifieke waarden van AxisColumn en GroupExpression, wordt aan het bijbehorende element van de matrix een DefaultValue toegewezen. De standaardwaarde is 0. | |
Aggregatie | string |
✔️ | Een aanroep van een aggregatiefunctie, zoals count() of avg() , met kolomnamen als argumenten. Bekijk de lijst met aggregatiefuncties. Alleen aggregatiefuncties die numerieke resultaten retourneren, kunnen worden gebruikt met de make-series operator. |
AxisColumn | string |
✔️ | De kolom waarop de reeks wordt geordend. Meestal zijn de kolomwaarden van het type datetime of timespan worden alle numerieke typen geaccepteerd. |
start | Scalaire | ✔️ | De lage waarde van de AxisColumn voor elk van de reeksen die moeten worden gemaakt. Als start niet is opgegeven, is dit de eerste bin of stap die gegevens in elke reeks bevat. |
Einde | Scalaire | ✔️ | De hoge niet-inclusieve waarde van de AxisColumn. De laatste index van de tijdreeks is kleiner dan deze waarde en is begin plus geheel getal van stap die kleiner is dan einde. Als einde niet is opgegeven, is dit de bovengrens van de laatste bin, of stap, die gegevens per reeks bevat. |
Stap | Scalaire | ✔️ | Het verschil, of bin-grootte, tussen twee opeenvolgende elementen van de matrix AxisColumn . Zie periode voor een lijst met mogelijke tijdsintervallen. |
Groepsexpressie | Een expressie over de kolommen die een set afzonderlijke waarden biedt. Meestal is het een kolomnaam die al een beperkte set waarden bevat. | ||
MakeSeriesParameters | Nul of meer door spaties gescheiden parameters in de vorm van Naamwaarde= die het gedrag bepalen. Zie ondersteunde make series-parameters. |
Notitie
De parameters begin, einde en stap worden gebruikt om een matrix met AxisColumn-waarden te maken. De matrix bestaat uit waarden tussen begin en einde, waarbij de stapwaarde het verschil aangeeft tussen het ene matrixelement en het volgende. Alle aggregatiewaarden worden respectievelijk in deze matrix gerangschikt.
Ondersteunde make series-parameters
Naam | Beschrijving |
---|---|
kind |
Produceert een standaardresultaat wanneer de invoer van de operator make-series leeg is. Waarde: nonempty |
hint.shufflekey=<key> |
De shufflekey query deelt de querybelasting op clusterknooppunten met behulp van een sleutel om gegevens te partitioneren. Bekijk willekeurige query |
Notitie
De matrices die door make-series worden gegenereerd, zijn beperkt tot 1048576 waarden (2^20). Als u een grotere matrix met make-series probeert te genereren, resulteert dit in een fout of een afgekapte matrix.
Alternatieve syntaxis
T| make-series
[Kolom=
] Aggregatie [default
=
Standaardwaarde] [,
...] on
AxisColumnin
range(
Start,
Stoppen,
Stap)
[by
[Kolom=
] GroupExpression [,
...]]
De gegenereerde reeks van de alternatieve syntaxis verschilt in twee aspecten van de hoofdsyntaxis:
- De stopwaarde is inclusief.
- Binning van de indexas wordt gegenereerd met bin() en niet bin_at(), wat betekent dat start mogelijk niet wordt opgenomen in de gegenereerde reeks.
Het is raadzaam om de hoofdsyntaxis van make-series te gebruiken en niet de alternatieve syntaxis.
Retouren
De invoerrijen zijn gerangschikt in groepen met dezelfde waarden als de by
expressies en debeginexpressie)
van de bin_at(
stap AxisColumn,
,
. Vervolgens worden de opgegeven aggregatiefuncties berekend voor elke groep, waardoor een rij voor elke groep wordt geproduceerd. Het resultaat bevat de by
kolommen, de kolom AxisColumn en ten minste één kolom voor elke berekende aggregatie. (Aggregaties over meerdere kolommen of niet-numerieke resultaten worden niet ondersteund.)
Dit tussenliggende resultaat heeft net zoveel rijen als er afzonderlijke combinaties van en bin_at(
Beginwaarden)
van by
de AxisColumn-stap,
,
zijn.
Ten slotte worden de rijen van het tussenliggende resultaat gerangschikt in groepen met dezelfde waarden van de by
expressies en worden alle geaggregeerde waarden gerangschikt in matrices (waarden van het dynamic
type). Voor elke aggregatie is er één kolom met de bijbehorende matrix met dezelfde naam. De laatste kolom is een matrix met de waarden van AxisColumn binned volgens de opgegeven stap.
Notitie
Hoewel u willekeurige expressies kunt opgeven voor zowel de aggregatie- als groeperingsexpressie, is het efficiënter om eenvoudige kolomnamen te gebruiken.
Lijst met aggregatiefuncties
Functie | Beschrijving |
---|---|
avg() | geeft als resultaat een gemiddelde waarde voor de hele groep |
avgif() | geeft als resultaat een gemiddelde met het predicaat van de groep |
count() | geeft als resultaat een telling van de groep |
countif() | geeft als resultaat een telling met het predicaat van de groep |
dcount() | geeft als resultaat een geschatte afzonderlijke telling van de groepselementen |
dcountif() | geeft als resultaat een bij benadering uniek aantal met het predicaat van de groep |
max() | Retourneert de maximumwaarde voor de groep |
maxif() | Geeft als resultaat de maximumwaarde met het predicaat van de groep |
min() | geeft als resultaat de minimumwaarde voor de groep |
minif() | geeft als resultaat de minimumwaarde met het predicaat van de groep |
percentiel() | Retourneert de percentielwaarde in de groep |
take_any() | Retourneert een willekeurige niet-lege waarde voor de groep |
stdev() | geeft als resultaat de standaarddeviatie in de groep |
sum() | Geeft als resultaat de som van de elementen in de groep |
sumif() | Geeft als resultaat de som van de elementen met het predicaat van de groep |
variantie() | Retourneert de variantie in de groep |
Lijst met reeksanalysefuncties
Functie | Beschrijving |
---|---|
series_fir() | Past het filter Eindige impulsreactie toe |
series_iir() | Het filter Infinite Impulse Response toepassen |
series_fit_line() | Hiermee wordt een rechte lijn gevonden die de beste benadering van de invoer is |
series_fit_line_dynamic() | Hiermee wordt een lijn gevonden die de beste benadering van de invoer is en dynamisch object retourneert |
series_fit_2lines() | Hiermee vindt u twee regels die de beste benadering van de invoer zijn |
series_fit_2lines_dynamic() | Hiermee vindt u twee regels die de beste benadering van de invoer zijn, waarbij dynamisch object wordt geretourneerd |
series_outliers() | Scores voor anomaliepunten in een reeks |
series_periods_detect() | Hiermee vindt u de belangrijkste perioden in een tijdreeks |
series_periods_validate() | Controleert of een tijdreeks periodieke patronen van opgegeven lengten bevat |
series_stats_dynamic() | Meerdere kolommen retourneren met de algemene statistieken (min/max/variantie/stdev/gemiddelde) |
series_stats() | Genereert een dynamische waarde met de algemene statistieken (min/max/variantie/stdev/gemiddelde) |
Zie voor een volledige lijst met reeksanalysefuncties: Reeksverwerkingsfuncties
Lijst met reeksinterpolatiefuncties
Functie | Beschrijving |
---|---|
series_fill_backward() | Voert achterwaartse opvulinterpolatie uit van ontbrekende waarden in een reeks |
series_fill_const() | Ontbrekende waarden in een reeks vervangen door een opgegeven constante waarde |
series_fill_forward() | Voert forward fill interpolatie van ontbrekende waarden in een reeks uit |
series_fill_linear() | Voert lineaire interpolatie van ontbrekende waarden in een reeks uit |
- Opmerking: Interpolatiefuncties gaan standaard uit van
null
een ontbrekende waarde. Geefdefault=
daarom double(null
) op inmake-series
als u interpolatiefuncties voor de reeks wilt gebruiken.
Voorbeelden
Een tabel met matrices van de getallen en de gemiddelde prijzen van elk fruit van elke leverancier die is besteld op basis van de tijdstempel met het opgegeven bereik. Er is een rij in de uitvoer voor elke afzonderlijke combinatie van fruit en leverancier. De uitvoerkolommen bevatten de vruchten, leveranciers en matrices van: aantal, gemiddelde en de hele tijdlijn (van 01-01-2016 tot 2016-01-10). Alle matrices worden gesorteerd op de respectieve tijdstempel en alle hiaten worden opgevuld met standaardwaarden (0 in dit voorbeeld). Alle andere invoerkolommen worden genegeerd.
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 | tijdstempel |
---|---|
[ 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" ] |
Wanneer de invoer voor make-series
leeg is, produceert het standaardgedrag van make-series
een leeg resultaat.
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
Uitvoer
Count |
---|
0 |
Als u in make-series
gebruiktkind=nonempty
, wordt een niet-leeg resultaat van de standaardwaarden geproduceerd:
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
Uitvoer
avg_metric | tijdstempel |
---|---|
[ 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" ] |
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor