make-series 연산자
지정된 축을 따라 지정된 집계 값 계열을 만듭니다.
Syntax
T| make-series
[MakeSeriesParameters] [Column=
] 집계 [default
=
DefaultValue] [,
...] on
AxisColumn [from
start] [to
end] step
step [by
[Column=
] GroupExpression [,
...]]
구문 규칙에 대해 자세히 알아보세요.
매개 변수
이름 | 형식 | 필수 | Description |
---|---|---|---|
열 | string |
결과 열의 이름입니다. 기본적으로 식에서 파생된 이름입니다. | |
Defaultvalue | 스칼라(scalar) | 없는 값 대신 사용할 기본값입니다. AxisColumn 및 GroupExpression의 특정 값이 있는 행이 없으면 배열의 해당 요소에 DefaultValue가 할당됩니다. 기본값은 0입니다. | |
집계 | string |
✔️ | 열 이름을 인수로 사용하는 집계 함수(예: count() 또는 avg() )에 대한 호출입니다. 집계 함수의 목록을 참조하세요. 숫자 결과를 반환하는 집계 함수만 make-series 연산자와 함께 사용할 수 있습니다. |
AxisColumn | string |
✔️ | 계열을 정렬할 열입니다. 일반적으로 열 값은 형식 datetime 이거나 timespan 이지만 모든 숫자 형식이 허용됩니다. |
start | 스칼라(scalar) | ✔️ | 빌드할 각 계열에 대한 AxisColumn 의 낮은 바인딩된 값입니다. start를 지정하지 않으면 각 계열에 데이터가 있는 첫 번째 bin 또는 단계가 됩니다. |
end | 스칼라(scalar) | ✔️ | AxisColumn의 높은 바인딩된 비 포괄 값입니다. 시계열의 마지막 인덱스는 이 값보다 작고 끝보다 작은 단계의 시작 및 정수 배수가 됩니다. end를 지정하지 않으면 각 계열당 데이터가 있는 마지막 bin 또는 단계의 상한이 됩니다. |
단계 | 스칼라(scalar) | ✔️ | AxisColumn 배열의 두 연속 요소 간의 차이 또는 bin 크기입니다. 가능한 시간 간격 목록은 시간 범위를 참조하세요. |
GroupExpression | 고유한 값 집합을 제공하는 열에 대한 식입니다. 일반적으로 이미 제한된 값 집합을 제공하는 열 이름입니다. | ||
MakeSeriesParameters | 동작을 제어하는 이름= 값 형식의 공백으로 구분된 매개 변수가 0개 이상입니다. 지원되는 계열 매개 변수 만들기를 참조하세요. |
참고
시작, 끝 및 단계 매개 변수는 AxisColumn 값의 배열을 작성하는 데 사용됩니다. 배열은 시작 과 끝 사이의 값으로 구성되며, 단계 값은 한 배열 요소와 다음 배열 요소 간의 차이를 나타냅니다. 모든 Aggregation 값이 이 배열에 각각 정렬됩니다.
지원되는 계열 매개 변수 만들기
Name | Description |
---|---|
kind |
make-series 연산자의 입력이 비어 있을 때 기본 결과를 생성합니다. 값: nonempty |
hint.shufflekey=<key> |
쿼리는 shufflekey 키를 사용하여 데이터를 분할하는 클러스터 노드의 쿼리 부하를 공유합니다. 순서 섞기 쿼리 참조 |
참고
make-series에서 생성된 배열은 1048576 값(2^20)으로 제한됩니다. make-series로 더 큰 배열을 생성하려고 하면 오류가 발생하거나 배열이 잘립니다.
대체 구문
T| make-series
[열=
] 집계 [default
=
DefaultValue] [,
...] on
AxisColumnin
range(
시작,
중지,
단계)
[by
[Column=
] GroupExpression [,
...]]
대체 구문에서 생성된 계열은 다음 두 가지 측면에서 기본 구문과 다릅니다.
- stop 값이 포함됩니다.
- 인덱스 축 범주화는 bin_at()이 아닌 bin()을 통해 생성됩니다. 즉, start가 생성된 계열에 포함되지 않을 수 있습니다.
대체 구문이 아닌 make-series의 기본 구문을 사용하는 것이 좋습니다.
반환
입력 행은 by
식 및 bin_at(
AxisColumn,
step,
start)
식의 값이 동일한 그룹으로 정렬됩니다. 그런 다음 지정된 집계 함수를 각 그룹에 대해 계산하여 각 그룹에 대해 한 행을 생성합니다. 결과에는 by
열, AxisColumn 열 및 계산된 각 집계에 대한 하나 이상의 열이 포함됩니다. (여러 열 또는 숫자가 아닌 결과에 대한 집계는 지원되지 않습니다.)
이 중간 결과에는 by
및 bin_at(
AxisColumn,
step,
start)
값의 고유한 조합만큼 많은 행이 포함됩니다.
마지막으로 중간 결과의 행이 by
식의 동일한 값이 포함되는 그룹으로 정렬되고, 모든 집계 값이 배열(dynamic
형식의 값)로 정렬됩니다. 각 집계에 대해 동일한 이름의 배열을 포함하는 하나의 열이 있습니다. 마지막 열은 지정된 단계에 따라 범주화된 AxisColumn 값을 포함하는 배열입니다.
참고
집계 및 그룹화 식 모두에 대해 임의 식을 제공할 수 있지만, 단순 열 이름을 사용하는 것이 더 효율적입니다.
집계 함수 목록
기능 | Description |
---|---|
avg() | 그룹 전체의 평균 값을 반환합니다. |
avgif() | 그룹에 대한 조건자를 사용하여 평균을 반환합니다. |
count() | 그룹의 수를 반환합니다. |
countif() | 그룹에 대한 조건자를 사용하여 개수를 반환합니다. |
dcount() | 그룹 요소의 대략적인 고유 개수를 반환합니다. |
dcountif() | 그룹에 대한 조건자를 사용하여 대략적인 고유 개수를 반환합니다. |
max() | 그룹의 최댓값을 반환합니다. |
maxif() | 그룹에 대한 조건자를 사용하여 최댓값을 반환합니다. |
min() | 그룹의 최솟값을 반환합니다. |
minif() | 그룹에 대한 조건자를 사용하여 최솟값을 반환합니다. |
percentile() | 그룹의 백분위수 값을 반환합니다. |
take_any() | 그룹에 대해 비어 있지 않은 임의의 값을 반환합니다. |
stdev() | 그룹 전체의 표준 편차를 반환합니다. |
sum() | 그룹 내 요소의 합계를 반환합니다. |
sumif() | 그룹에 대한 조건자를 사용하여 요소의 합계를 반환합니다. |
variance() | 그룹 전체의 분산을 반환합니다. |
계열 분석 함수 목록
기능 | 설명 |
---|---|
series_fir() | 유한 임펄스 응답 필터를 적용합니다. |
series_iir() | 무한 임펄스 응답 필터를 적용합니다. |
series_fit_line() | 입력에 가장 근접한 직선을 찾습니다. |
series_fit_line_dynamic() | 입력에 가장 근접한 직선을 찾아서 동적 개체를 반환합니다. |
series_fit_2lines() | 입력에 가장 근접한 두 직선을 찾습니다. |
series_fit_2lines_dynamic() | 입력에 가장 근접한 두 직선을 찾아서 동적 개체를 반환합니다. |
series_outliers() | 계열의 변칙 요소에 대한 점수를 계산합니다. |
series_periods_detect() | 시계열에 있는 가장 중요한 기간을 찾습니다. |
series_periods_validate() | 시계열에 지정된 길이의 정기적 패턴이 포함되어 있는지 여부를 확인합니다. |
series_stats_dynamic() | 일반 통계(min/max/variance/stdev/average)를 사용하여 여러 열을 반환합니다. |
series_stats() | 일반 통계(min/max/variance/stdev/average)를 사용하여 동적 값을 생성합니다. |
시리즈 분석 함수의 전체 목록은 계 열 처리 함수를 참조하세요.
계열 보간 함수 목록
기능 | 설명 |
---|---|
series_fill_backward() | 계열의 누락 값에 대한 역방향 채우기 보간을 수행합니다. |
series_fill_const() | 계열의 누락 값을 지정된 상수 값으로 바꿉니다. |
series_fill_forward() | 계열의 누락 값에 대한 정방향 채우기 보간을 수행합니다. |
series_fill_linear() | 계열의 누락 값에 대한 선형 보간을 수행합니다. |
- 참고: 보간 함수는 기본적으로
null
을 누락 값으로 간주합니다. 따라서 보간 함수를 계열에 사용하려면make-series
에서default=
double(null
)을 지정합니다.
예제
지정된 범위의 타임스탬프를 기준으로 정렬된 각 공급자의 각 과일에 대한 개수 및 평균 가격의 배열을 보여 주는 테이블입니다. 출력에는 과일 및 공급자의 각 고유 조합에 대한 행이 있습니다. 출력 열에는 과일, 공급자 및 배열(개수, 평균 및 전체 타임라인(2016-01-01부터 2016-01-10까지))이 표시됩니다. 모든 배열이 해당 타임스탬프를 기준으로 정렬되고, 모든 간격이 기본값(다음 예제의 경우 0)으로 채워집니다. 모든 다른 입력된 열은 무시됩니다.
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 | 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" ] |
에 대한 입력 make-series
이 비어 있으면 의 make-series
기본 동작은 빈 결과를 생성합니다.
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
출력
개수 |
---|
0 |
make-series
에서 kind=nonempty
를 사용하면 기본값의 비어 있지 않은 결과가 생성됩니다.
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
출력
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" ] |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기