make-series 연산자
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
지정된 축을 따라 지정된 집계 값의 계열을 만듭니다.
구문
T | make-series
[MakeSeriesParameters] [Column =
] Aggregation [default
=
DefaultValue] [,
...] on
AxisColumn [from
start] [to
end] step
step [by
[Column =
] GroupExpression [,
...]]
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
열 | string |
결과 열의 이름입니다. 기본적으로 식에서 파생된 이름입니다. | |
DefaultValue | scalar | 없는 값 대신 사용할 기본값입니다. AxisColumn 및 GroupExpression의 특정 값을 가진 행이 없으면 배열의 해당 요소에 DefaultValue가 할당됩니다. 기본값은 0입니다. | |
집계 | string |
✔️ | 열 이름을 인수로 사용하는 집계 함수(예: count() 또는avg() )에 대한 호출입니다. 집계 함수 목록을 참조하세요. 숫자 결과를 반환하는 집계 함수만 make-series 연산자와 함께 사용할 수 있습니다. |
AxisColumn | string |
✔️ | 계열을 정렬할 열입니다. 일반적으로 열 값은 형식 datetime 이거나 timespan 모든 숫자 형식이 허용됩니다. |
start | scalar | ✔️ | 작성할 각 계열에 대한 AxisColumn 의 낮은 바인딩된 값입니다. 시작이 지정되지 않은 경우 각 계열에 데이터가 있는 첫 번째 bin 또는 단계가 됩니다. |
end | scalar | ✔️ | AxisColumn의 하이바운드 비클루시브 값입니다. 시계열의 마지막 인덱스는 이 값보다 작으며 시작 및 끝보다 작은 단계의 정수 배수가 됩니다. 끝을 지정하지 않으면 각 계열당 데이터가 있는 마지막 bin 또는 단계의 상한이 됩니다. |
step | scalar | ✔️ | AxisColumn 배열의 두 연속 요소 간의 차이 또는 bin 크기입니다. 가능한 시간 간격 목록은 시간 범위를 참조 하세요. |
GroupExpression | 고유 값 집합을 제공하는 열에 대한 식입니다. 일반적으로 제한된 값 집합을 이미 제공하는 열 이름입니다. | ||
MakeSeriesParameters | 동작을 제어하는 이름 = 값 형식의 공백으로 구분된 매개 변수가 0개 이상입니다. 지원되는 계열 매개 변수 만들기를 참조하세요. |
참고 항목
시작, 끝 및 단계 매개 변수는 AxisColumn 값의 배열을 작성하는 데 사용됩니다. 배열은 시작과 끝 사이의 값으로 구성되며, 단계 값은 한 배열 요소와 다음 배열 요소의 차이를 나타냅니다. 모든 집계 값은 이 배열에 각각 정렬됩니다.
지원되는 계열 매개 변수 만들기
속성 | 설명 |
---|---|
kind |
메이크 계열 연산자의 입력이 비어 있으면 기본 결과를 생성합니다. 값: nonempty |
hint.shufflekey=<key> |
쿼리는 shufflekey 키를 사용하여 데이터를 분할하는 클러스터 노드의 쿼리 부하를 공유합니다. 순서 섞기 쿼리 참조 |
참고 항목
메이크 계열에서 생성된 배열은 1048576 값(2^20)으로 제한됩니다. make-series로 더 큰 배열을 생성하려고 하면 오류가 발생하거나 배열이 잘립니다.
대체 구문
T | make-series
[열=
] 집계 [ =
default
DefaultValue] [,
...] on
AxisColumn range(
in
시작,
중지,
단계)
[by
[열 =
] GroupExpression [,
...]]
대체 구문에서 생성된 계열은 두 가지 측면의 기본 구문과 다릅니다.
- 중지 값은 포함됩니다.
- 인덱스 축 범주화는 bin_at()이 아닌 bin()을 통해 생성됩니다. 즉, start가 생성된 계열에 포함되지 않을 수 있습니다.
대체 구문이 아닌 메이크 시리즈의 기본 구문을 사용하는 것이 좋습니다.
반품
입력 행은 식과 AxisColumn,
단계,
시작)
식의 by
값이 동일한 그룹으로 정렬됩니다.bin_at(
그런 다음, 지정된 집계 함수가 각 그룹에 대해 계산되어 각 그룹에 대해 행을 생성합니다. 결과에는 열, AxisColumn 열 및 계산된 각 집계에 대해 하나 이상의 열이 포함 by
됩니다. (여러 열 또는 숫자가 아닌 결과에 대한 집계는 지원되지 않습니다.)
이 중간 결과에는 고유한 조합과 AxisColumn,
단계,
시작)
값이 있는 만큼 많은 by
행이 있습니다.bin_at(
마지막으로 중간 결과의 행이 식의 by
값이 동일한 그룹으로 정렬되고 집계된 모든 값이 배열(형식 값 dynamic
)로 정렬됩니다. 각 집계에 대해 동일한 이름의 배열을 포함하는 하나의 열이 있습니다. 마지막 열은 지정된 단계에 따라 범주화된 AxisColumn 값을 포함하는 배열입니다.
참고 항목
집계 및 그룹화 식 모두에 대해 임의 식을 제공할 수 있지만, 단순 열 이름을 사용하는 것이 더 효율적입니다.
집계 함수 목록
함수 | 설명 |
---|---|
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
보간 함수를 사용하려는 경우 double(null
)을 지정default=
합니다.
예제
지정된 범위의 타임스탬프에서 정렬한 각 공급업체의 각 과일의 숫자 및 평균 가격 배열을 보여 주는 테이블입니다. 출력에는 과일 및 공급자의 각 고유 조합에 대한 행이 있습니다. 출력 열에는 개수, 평균 및 전체 타임라인(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
출력
Count |
---|
0 |
in을 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.00000000Z", "2017-01-09T00:00:00.00000000Z" ] |