blob: 022b4378d098e22f5a2e86a8fe226dc4c034afbf [file] [log] [blame]
import{_ as p,c as l,b as e,d as s,e as n,o as i}from"./app-C-fAkKj6.js";const t={},r={class:"MathJax",jax:"SVG",style:{position:"relative"}},o={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.037ex",height:"1.731ex",role:"img",focusable:"false",viewBox:"0 -683 3110.4 765","aria-hidden":"true"},d={class:"MathJax",jax:"SVG",style:{position:"relative"}},c={style:{"vertical-align":"-0.798ex"},xmlns:"http://www.w3.org/2000/svg",width:"23.285ex",height:"2.756ex",role:"img",focusable:"false",viewBox:"0 -865.4 10291.9 1218.2","aria-hidden":"true"},T={class:"MathJax",jax:"SVG",style:{position:"relative"}},m={style:{"vertical-align":"-0.798ex"},xmlns:"http://www.w3.org/2000/svg",width:"17.628ex",height:"2.756ex",role:"img",focusable:"false",viewBox:"0 -865.4 7791.4 1218.2","aria-hidden":"true"},u={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},Q={style:{"vertical-align":"-1.552ex"},xmlns:"http://www.w3.org/2000/svg",width:"89.496ex",height:"4.588ex",role:"img",focusable:"false",viewBox:"0 -1342 39557.1 2028","aria-hidden":"true"},v={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},h={style:{"vertical-align":"-1.602ex"},xmlns:"http://www.w3.org/2000/svg",width:"95.655ex",height:"4.638ex",role:"img",focusable:"false",viewBox:"0 -1342 42279.6 2050","aria-hidden":"true"},b={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},g={style:{"vertical-align":"-1.552ex"},xmlns:"http://www.w3.org/2000/svg",width:"92.889ex",height:"4.588ex",role:"img",focusable:"false",viewBox:"0 -1342 41057.1 2028","aria-hidden":"true"},y={class:"MathJax",jax:"SVG",style:{position:"relative"}},f={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"20.492ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 9057.3 1000","aria-hidden":"true"},B={class:"MathJax",jax:"SVG",style:{position:"relative"}},D={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"20.492ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 9057.3 1000","aria-hidden":"true"},H={class:"MathJax",jax:"SVG",style:{position:"relative"}},L={style:{"vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.197ex",height:"1.02ex",role:"img",focusable:"false",viewBox:"0 -441 529 451","aria-hidden":"true"},A={class:"MathJax",jax:"SVG",style:{position:"relative"}},k={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.971ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 429 705","aria-hidden":"true"},q={class:"MathJax",jax:"SVG",style:{position:"relative"}},x={style:{"vertical-align":"-0.312ex"},xmlns:"http://www.w3.org/2000/svg",width:"17.444ex",height:"1.882ex",role:"img",focusable:"false",viewBox:"0 -694 7710.1 832","aria-hidden":"true"},F={class:"MathJax",jax:"SVG",style:{position:"relative"}},w={style:{"vertical-align":"-0.581ex"},xmlns:"http://www.w3.org/2000/svg",width:"20.845ex",height:"2.278ex",role:"img",focusable:"false",viewBox:"0 -750 9213.6 1006.9","aria-hidden":"true"},V={class:"MathJax",jax:"SVG",style:{position:"relative"}},M={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},C={class:"MathJax",jax:"SVG",style:{position:"relative"}},Z={style:{"vertical-align":"-0.439ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.281ex",height:"2.032ex",role:"img",focusable:"false",viewBox:"0 -704 1892.2 898","aria-hidden":"true"},O={class:"MathJax",jax:"SVG",style:{position:"relative"}},I={style:{"vertical-align":"-0.439ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.281ex",height:"2.032ex",role:"img",focusable:"false",viewBox:"0 -704 1892.2 898","aria-hidden":"true"},N={class:"MathJax",jax:"SVG",style:{position:"relative"}},S={style:{"vertical-align":"-0.439ex"},xmlns:"http://www.w3.org/2000/svg",width:"15.984ex",height:"2.032ex",role:"img",focusable:"false",viewBox:"0 -704 7065.1 898","aria-hidden":"true"},E={class:"MathJax",jax:"SVG",style:{position:"relative"}},U={style:{"vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.951ex",height:"2.034ex",role:"img",focusable:"false",viewBox:"0 -694 3956.4 899","aria-hidden":"true"},R={class:"MathJax",jax:"SVG",style:{position:"relative"}},_={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"28.941ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 12792 1000","aria-hidden":"true"},j={class:"MathJax",jax:"SVG",style:{position:"relative"}},P={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.327ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 2354.6 776","aria-hidden":"true"},W={class:"MathJax",jax:"SVG",style:{position:"relative"}},z={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.327ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 2354.6 776","aria-hidden":"true"},G={class:"MathJax",jax:"SVG",style:{position:"relative"}},J={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"28.941ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 12792 1000","aria-hidden":"true"},X={class:"MathJax",jax:"SVG",style:{position:"relative"}},K={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.585ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 6446.6 1000","aria-hidden":"true"},Y={class:"MathJax",jax:"SVG",style:{position:"relative"}},$={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"28.941ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 12792 1000","aria-hidden":"true"},s0={class:"MathJax",jax:"SVG",style:{position:"relative"}},a0={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"15.716ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 6946.6 1000","aria-hidden":"true"},n0={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},e0={style:{"vertical-align":"-2.819ex"},xmlns:"http://www.w3.org/2000/svg",width:"32.14ex",height:"6.74ex",role:"img",focusable:"false",viewBox:"0 -1733 14206 2978.9","aria-hidden":"true"},l0={class:"MathJax",jax:"SVG",style:{position:"relative"}},i0={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.037ex",height:"1.731ex",role:"img",focusable:"false",viewBox:"0 -683 3110.4 765","aria-hidden":"true"},p0={class:"MathJax",jax:"SVG",style:{position:"relative"}},t0={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.328ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2797 1000","aria-hidden":"true"},r0={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},o0={style:{"vertical-align":"-2.819ex"},xmlns:"http://www.w3.org/2000/svg",width:"62.266ex",height:"6.704ex",role:"img",focusable:"false",viewBox:"0 -1717.4 27521.6 2963.3","aria-hidden":"true"},d0={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},c0={style:{"vertical-align":"-2.819ex"},xmlns:"http://www.w3.org/2000/svg",width:"59.314ex",height:"6.74ex",role:"img",focusable:"false",viewBox:"0 -1733 26216.7 2978.9","aria-hidden":"true"};function T0(m0,a){return i(),l("div",null,[a[121]||(a[121]=e(`<h1 id="udf-libraries" tabindex="-1"><a class="header-anchor" href="#udf-libraries"><span>UDF Libraries</span></a></h1><p>Based on the ability of user-defined functions, IoTDB provides a series of functions for temporal data processing, including data quality, data profiling, anomaly detection, frequency domain analysis, data matching, data repairing, sequence discovery, machine learning, etc., which can meet the needs of industrial fields for temporal data processing.</p><blockquote><p>Note: The functions in the current UDF library only support millisecond level timestamp accuracy.</p></blockquote><h2 id="_1-installation-steps" tabindex="-1"><a class="header-anchor" href="#_1-installation-steps"><span>1. Installation steps</span></a></h2><ol><li><p>Please obtain the compressed file of the UDF library JAR package that is compatible with the IoTDB version.</p><table><thead><tr><th>UDF installation package</th><th>Supported IoTDB versions</th><th>Download link</th></tr></thead><tbody><tr><td>apache-UDF-1.3.3.zip</td><td>V1.3.3 and above</td><td>Please contact Timecho for assistance</td></tr><tr><td>apache-UDF-1.3.2.zip</td><td>V1.0.0~V1.3.2</td><td>Please contact Timecho for assistance</td></tr></tbody></table></li><li><p>Place the library-udf.jar file in the compressed file obtained in the directory <code>/ext/udf </code> of all nodes in the IoTDB cluster</p></li><li><p>In the SQL operation interface of IoTDB&#39;s SQL command line terminal (CLI), execute the corresponding function registration statement as follows.</p></li><li><p>Batch registration: Two registration methods: registration script or SQL full statement</p></li></ol><ul><li><p>Register Script</p><ul><li>Copy the registration script (<a href="http://register-UDF.sh" target="_blank" rel="noopener noreferrer">register-UDF.sh</a> or register-UDF.bat) from the compressed package to the <code>tools</code> directory of IoTDB as needed, and modify the parameters in the script (default is host=127.0.0.1, rpcPort=6667, user=root, pass=root);</li><li>Start IoTDB service, run registration script to batch register UDF</li></ul></li><li><p>All SQL statements</p><ul><li>Open the SQl file in the compressed package, copy all SQL statements, and in the SQL operation interface of IoTDB&#39;s SQL command line terminal (CLI), execute all SQl statements to batch register UDFs</li></ul></li></ul><h2 id="_2-data-quality" tabindex="-1"><a class="header-anchor" href="#_2-data-quality"><span>2. Data Quality</span></a></h2><h3 id="_2-1-completeness" tabindex="-1"><a class="header-anchor" href="#_2-1-completeness"><span>2.1 Completeness</span></a></h3><h4 id="registration-statement" tabindex="-1"><a class="header-anchor" href="#registration-statement"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> completeness</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dquality.UDTFCompleteness&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage" tabindex="-1"><a class="header-anchor" href="#usage"><span>Usage</span></a></h4><p>This function is used to calculate the completeness of time series. The input series are divided into several continuous and non overlapping windows. The timestamp of the first data point and the completeness of each window will be output.</p><p><strong>Name:</strong> COMPLETENESS</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>window</code>: The size of each window. It is a positive integer or a positive number with an unit. The former is the number of data points in each window. The number of data points in the last window may be less than it. The latter is the time of the window. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. By default, all input data belongs to the same window.</li><li><code>downtime</code>: Whether the downtime exception is considered in the calculation of completeness. It is &#39;true&#39; or &#39;false&#39; (default). When considering the downtime exception, long-term missing data will be considered as downtime exception without any influence on completeness.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. The range of each value is [0,1].</p><p><strong>Note:</strong> Only when the number of data points in the window exceeds 10, the calculation will be performed. Otherwise, the window will be ignored and nothing will be output.</p><h4 id="examples" tabindex="-1"><a class="header-anchor" href="#examples"><span>Examples</span></a></h4><h5 id="default-parameters" tabindex="-1"><a class="header-anchor" href="#default-parameters"><span>Default Parameters</span></a></h5><p>With default parameters, this function will regard all input data as the same window.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> completeness(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------+</span></span>
<span class="line"><span>| Time|completeness(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.875|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="specific-window-size" tabindex="-1"><a class="header-anchor" href="#specific-window-size"><span>Specific Window Size</span></a></h5><p>When the window size is given, this function will divide the input data as multiple windows.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:32.000+08:00| 130.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:34.000+08:00| 132.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:36.000+08:00| 134.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:38.000+08:00| 136.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:40.000+08:00| 138.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:42.000+08:00| 140.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:44.000+08:00| 142.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:46.000+08:00| 144.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:48.000+08:00| 146.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:50.000+08:00| 148.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:52.000+08:00| 150.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:54.000+08:00| 152.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:56.000+08:00| 154.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:58.000+08:00| 156.0|</span></span>
<span class="line"><span>|2020-01-01T00:01:00.000+08:00| 158.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> completeness(s1,</span><span style="color:#98C379;">&quot;window&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;15&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------+</span></span>
<span class="line"><span>| Time|completeness(root.test.d1.s1, &quot;window&quot;=&quot;15&quot;)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.875|</span></span>
<span class="line"><span>|2020-01-01T00:00:32.000+08:00| 1.0|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_2-2-consistency" tabindex="-1"><a class="header-anchor" href="#_2-2-consistency"><span>2.2 Consistency</span></a></h3><h4 id="registration-statement-1" tabindex="-1"><a class="header-anchor" href="#registration-statement-1"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> consistency</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dquality.UDTFConsistency&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-1" tabindex="-1"><a class="header-anchor" href="#usage-1"><span>Usage</span></a></h4><p>This function is used to calculate the consistency of time series. The input series are divided into several continuous and non overlapping windows. The timestamp of the first data point and the consistency of each window will be output.</p><p><strong>Name:</strong> CONSISTENCY</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>window</code>: The size of each window. It is a positive integer or a positive number with an unit. The former is the number of data points in each window. The number of data points in the last window may be less than it. The latter is the time of the window. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. By default, all input data belongs to the same window.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. The range of each value is [0,1].</p><p><strong>Note:</strong> Only when the number of data points in the window exceeds 10, the calculation will be performed. Otherwise, the window will be ignored and nothing will be output.</p><h4 id="examples-1" tabindex="-1"><a class="header-anchor" href="#examples-1"><span>Examples</span></a></h4><h5 id="default-parameters-1" tabindex="-1"><a class="header-anchor" href="#default-parameters-1"><span>Default Parameters</span></a></h5><p>With default parameters, this function will regard all input data as the same window.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consistency(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------+</span></span>
<span class="line"><span>| Time|consistency(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+----------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.9333333333333333|</span></span>
<span class="line"><span>+-----------------------------+----------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="specific-window-size-1" tabindex="-1"><a class="header-anchor" href="#specific-window-size-1"><span>Specific Window Size</span></a></h5><p>When the window size is given, this function will divide the input data as multiple windows.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:32.000+08:00| 130.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:34.000+08:00| 132.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:36.000+08:00| 134.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:38.000+08:00| 136.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:40.000+08:00| 138.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:42.000+08:00| 140.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:44.000+08:00| 142.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:46.000+08:00| 144.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:48.000+08:00| 146.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:50.000+08:00| 148.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:52.000+08:00| 150.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:54.000+08:00| 152.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:56.000+08:00| 154.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:58.000+08:00| 156.0|</span></span>
<span class="line"><span>|2020-01-01T00:01:00.000+08:00| 158.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consistency(s1,</span><span style="color:#98C379;">&quot;window&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;15&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------+</span></span>
<span class="line"><span>| Time|consistency(root.test.d1.s1, &quot;window&quot;=&quot;15&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.9333333333333333|</span></span>
<span class="line"><span>|2020-01-01T00:00:32.000+08:00| 1.0|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_2-3-timeliness" tabindex="-1"><a class="header-anchor" href="#_2-3-timeliness"><span>2.3 Timeliness</span></a></h3><h4 id="registration-statement-2" tabindex="-1"><a class="header-anchor" href="#registration-statement-2"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> timeliness</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dquality.UDTFTimeliness&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-2" tabindex="-1"><a class="header-anchor" href="#usage-2"><span>Usage</span></a></h4><p>This function is used to calculate the timeliness of time series. The input series are divided into several continuous and non overlapping windows. The timestamp of the first data point and the timeliness of each window will be output.</p><p><strong>Name:</strong> TIMELINESS</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>window</code>: The size of each window. It is a positive integer or a positive number with an unit. The former is the number of data points in each window. The number of data points in the last window may be less than it. The latter is the time of the window. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. By default, all input data belongs to the same window.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. The range of each value is [0,1].</p><p><strong>Note:</strong> Only when the number of data points in the window exceeds 10, the calculation will be performed. Otherwise, the window will be ignored and nothing will be output.</p><h4 id="examples-2" tabindex="-1"><a class="header-anchor" href="#examples-2"><span>Examples</span></a></h4><h5 id="default-parameters-2" tabindex="-1"><a class="header-anchor" href="#default-parameters-2"><span>Default Parameters</span></a></h5><p>With default parameters, this function will regard all input data as the same window.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> timeliness(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------+</span></span>
<span class="line"><span>| Time|timeliness(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.9333333333333333|</span></span>
<span class="line"><span>+-----------------------------+---------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="specific-window-size-2" tabindex="-1"><a class="header-anchor" href="#specific-window-size-2"><span>Specific Window Size</span></a></h5><p>When the window size is given, this function will divide the input data as multiple windows.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:32.000+08:00| 130.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:34.000+08:00| 132.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:36.000+08:00| 134.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:38.000+08:00| 136.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:40.000+08:00| 138.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:42.000+08:00| 140.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:44.000+08:00| 142.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:46.000+08:00| 144.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:48.000+08:00| 146.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:50.000+08:00| 148.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:52.000+08:00| 150.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:54.000+08:00| 152.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:56.000+08:00| 154.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:58.000+08:00| 156.0|</span></span>
<span class="line"><span>|2020-01-01T00:01:00.000+08:00| 158.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> timeliness(s1,</span><span style="color:#98C379;">&quot;window&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;15&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------+</span></span>
<span class="line"><span>| Time|timeliness(root.test.d1.s1, &quot;window&quot;=&quot;15&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.9333333333333333|</span></span>
<span class="line"><span>|2020-01-01T00:00:32.000+08:00| 1.0|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_2-4-validity" tabindex="-1"><a class="header-anchor" href="#_2-4-validity"><span>2.4 Validity</span></a></h3><h4 id="registration-statement-3" tabindex="-1"><a class="header-anchor" href="#registration-statement-3"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> validity</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dquality.UDTFValidity&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-3" tabindex="-1"><a class="header-anchor" href="#usage-3"><span>Usage</span></a></h4><p>This function is used to calculate the Validity of time series. The input series are divided into several continuous and non overlapping windows. The timestamp of the first data point and the Validity of each window will be output.</p><p><strong>Name:</strong> VALIDITY</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>window</code>: The size of each window. It is a positive integer or a positive number with an unit. The former is the number of data points in each window. The number of data points in the last window may be less than it. The latter is the time of the window. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. By default, all input data belongs to the same window.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. The range of each value is [0,1].</p><p><strong>Note:</strong> Only when the number of data points in the window exceeds 10, the calculation will be performed. Otherwise, the window will be ignored and nothing will be output.</p><h4 id="examples-3" tabindex="-1"><a class="header-anchor" href="#examples-3"><span>Examples</span></a></h4><h5 id="default-parameters-3" tabindex="-1"><a class="header-anchor" href="#default-parameters-3"><span>Default Parameters</span></a></h5><p>With default parameters, this function will regard all input data as the same window.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> Validity(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------+</span></span>
<span class="line"><span>| Time|validity(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.8833333333333333|</span></span>
<span class="line"><span>+-----------------------------+-------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="specific-window-size-3" tabindex="-1"><a class="header-anchor" href="#specific-window-size-3"><span>Specific Window Size</span></a></h5><p>When the window size is given, this function will divide the input data as multiple windows.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:32.000+08:00| 130.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:34.000+08:00| 132.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:36.000+08:00| 134.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:38.000+08:00| 136.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:40.000+08:00| 138.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:42.000+08:00| 140.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:44.000+08:00| 142.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:46.000+08:00| 144.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:48.000+08:00| 146.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:50.000+08:00| 148.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:52.000+08:00| 150.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:54.000+08:00| 152.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:56.000+08:00| 154.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:58.000+08:00| 156.0|</span></span>
<span class="line"><span>|2020-01-01T00:01:00.000+08:00| 158.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> Validity(s1,</span><span style="color:#98C379;">&quot;window&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;15&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------+</span></span>
<span class="line"><span>| Time|validity(root.test.d1.s1, &quot;window&quot;=&quot;15&quot;)|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.8833333333333333|</span></span>
<span class="line"><span>|2020-01-01T00:00:32.000+08:00| 1.0|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_3-data-profiling" tabindex="-1"><a class="header-anchor" href="#_3-data-profiling"><span>3. Data Profiling</span></a></h2><h3 id="_3-1-acf" tabindex="-1"><a class="header-anchor" href="#_3-1-acf"><span>3.1 ACF</span></a></h3><h4 id="registration-statement-4" tabindex="-1"><a class="header-anchor" href="#registration-statement-4"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> acf</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFACF&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-4" tabindex="-1"><a class="header-anchor" href="#usage-4"><span>Usage</span></a></h4><p>This function is used to calculate the auto-correlation factor of the input time series,<br> which equals to cross correlation between the same series.<br> For more information, please refer to <a href="#XCorr">XCorr</a> function.</p><p><strong>Name:</strong> ACF</p><p><strong>Input Series:</strong> Only support a single input numeric series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p>`,127)),s("p",null,[a[2]||(a[2]=s("strong",null,"Output Series:",-1)),a[3]||(a[3]=n(" Output a single series. The type is DOUBLE.")),a[4]||(a[4]=s("br",null,null,-1)),a[5]||(a[5]=n(" There are ")),s("mjx-container",r,[(i(),l("svg",o,a[0]||(a[0]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mn"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(500,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(1610.2,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mn" transform="translate(2610.4,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g></g>',1)]))),a[1]||(a[1]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mn",null,"2"),s("mi",null,"N"),s("mo",null,"−"),s("mn",null,"1")])],-1))]),a[6]||(a[6]=n(" data points in the series, and the values are interpreted in details in ")),a[7]||(a[7]=s("a",{href:"#XCorr"},"XCorr",-1)),a[8]||(a[8]=n(" function."))]),a[122]||(a[122]=e(`<p><strong>Note:</strong></p><ul><li><code>null</code> and <code>NaN</code> values in the input series will be ignored and treated as 0.</li></ul><h4 id="examples-4" tabindex="-1"><a class="header-anchor" href="#examples-4"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| null|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> acf(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">05</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>| Time|acf(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 3.6|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 3.6|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 1.0|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-2-distinct" tabindex="-1"><a class="header-anchor" href="#_3-2-distinct"><span>3.2 Distinct</span></a></h3><h4 id="registration-statement-5" tabindex="-1"><a class="header-anchor" href="#registration-statement-5"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> distinct</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFDistinct&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-5" tabindex="-1"><a class="header-anchor" href="#usage-5"><span>Usage</span></a></h4><p>This function returns all unique values in time series.</p><p><strong>Name:</strong> DISTINCT</p><p><strong>Input Series:</strong> Only support a single input series. The type is arbitrary.</p><p><strong>Output Series:</strong> Output a single series. The type is the same as the input.</p><p><strong>Note:</strong></p><ul><li>The timestamp of the output series is meaningless. The output order is arbitrary.</li><li>Missing points and null points in the input series will be ignored, but <code>NaN</code> will not.</li><li>Case Sensitive.</li></ul><h4 id="examples-5" tabindex="-1"><a class="header-anchor" href="#examples-5"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T08:00:00.001+08:00| Hello|</span></span>
<span class="line"><span>|2020-01-01T08:00:00.002+08:00| hello|</span></span>
<span class="line"><span>|2020-01-01T08:00:00.003+08:00| Hello|</span></span>
<span class="line"><span>|2020-01-01T08:00:00.004+08:00| World|</span></span>
<span class="line"><span>|2020-01-01T08:00:00.005+08:00| World|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select distinct</span><span style="color:#ABB2BF;">(s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------+</span></span>
<span class="line"><span>| Time|distinct(root.test.d2.s2)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| Hello|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| hello|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| World|</span></span>
<span class="line"><span>+-----------------------------+-------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-3-histogram" tabindex="-1"><a class="header-anchor" href="#_3-3-histogram"><span>3.3 Histogram</span></a></h3><h4 id="registration-statement-6" tabindex="-1"><a class="header-anchor" href="#registration-statement-6"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> histogram</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFHistogram&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-6" tabindex="-1"><a class="header-anchor" href="#usage-6"><span>Usage</span></a></h4><p>This function is used to calculate the distribution histogram of a single column of numerical data.</p><p><strong>Name:</strong> HISTOGRAM</p><p><strong>Input Series:</strong> Only supports a single input sequence, the type is INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>Parameters:</strong></p><ul><li><code>min</code>: The lower limit of the requested data range, the default value is -Double.MAX_VALUE.</li><li><code>max</code>: The upper limit of the requested data range, the default value is Double.MAX_VALUE, and the value of start must be less than or equal to end.</li><li><code>count</code>: The number of buckets of the histogram, the default value is 1. It must be a positive integer.</li></ul>`,35)),s("p",null,[a[13]||(a[13]=s("strong",null,"Output Series:",-1)),a[14]||(a[14]=n(" The value of the bucket of the histogram, where the lower bound represented by the i-th bucket (index starts from 1) is ")),s("mjx-container",d,[(i(),l("svg",c,a[9]||(a[9]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(878,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1223,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2045.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(3045.4,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(3434.4,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(4001.7,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mn" transform="translate(5001.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(5501.9,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6113.1,0)"><path data-c="22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path></g><g data-mml-node="mfrac" transform="translate(6613.3,0)"><g data-mml-node="mrow" transform="translate(220,398) scale(0.707)"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(878,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g><g data-mml-node="mi" transform="translate(1407,0)"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mo" transform="translate(1979,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(2757,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3635,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3980,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g></g><g data-mml-node="mrow" transform="translate(972.7,-345) scale(0.707)"><g data-mml-node="mi"><path data-c="1D450" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"></path></g><g data-mml-node="mi" transform="translate(433,0)"><path data-c="1D45C" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path></g><g data-mml-node="mi" transform="translate(918,0)"><path data-c="1D462" d="M21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1490,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2090,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g></g><rect width="3438.5" height="60" x="120" y="220"></rect></g></g></g>',1)]))),a[10]||(a[10]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"m"),s("mi",null,"i"),s("mi",null,"n"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mi",null,"i"),s("mo",null,"−"),s("mn",null,"1"),s("mo",{stretchy:"false"},")"),s("mo",null,"⋅"),s("mfrac",null,[s("mrow",null,[s("mi",null,"m"),s("mi",null,"a"),s("mi",null,"x"),s("mo",null,"−"),s("mi",null,"m"),s("mi",null,"i"),s("mi",null,"n")]),s("mrow",null,[s("mi",null,"c"),s("mi",null,"o"),s("mi",null,"u"),s("mi",null,"n"),s("mi",null,"t")])])])],-1))]),a[15]||(a[15]=n(" and the upper bound is ")),s("mjx-container",T,[(i(),l("svg",m,a[11]||(a[11]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(878,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1223,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2045.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(3045.4,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3612.7,0)"><path data-c="22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path></g><g data-mml-node="mfrac" transform="translate(4112.9,0)"><g data-mml-node="mrow" transform="translate(220,398) scale(0.707)"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(878,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g><g data-mml-node="mi" transform="translate(1407,0)"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mo" transform="translate(1979,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(2757,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3635,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3980,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g></g><g data-mml-node="mrow" transform="translate(972.7,-345) scale(0.707)"><g data-mml-node="mi"><path data-c="1D450" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"></path></g><g data-mml-node="mi" transform="translate(433,0)"><path data-c="1D45C" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path></g><g data-mml-node="mi" transform="translate(918,0)"><path data-c="1D462" d="M21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1490,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2090,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g></g><rect width="3438.5" height="60" x="120" y="220"></rect></g></g></g>',1)]))),a[12]||(a[12]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"m"),s("mi",null,"i"),s("mi",null,"n"),s("mo",null,"+"),s("mi",null,"i"),s("mo",null,"⋅"),s("mfrac",null,[s("mrow",null,[s("mi",null,"m"),s("mi",null,"a"),s("mi",null,"x"),s("mo",null,"−"),s("mi",null,"m"),s("mi",null,"i"),s("mi",null,"n")]),s("mrow",null,[s("mi",null,"c"),s("mi",null,"o"),s("mi",null,"u"),s("mi",null,"n"),s("mi",null,"t")])])])],-1))]),a[16]||(a[16]=n("."))]),a[123]||(a[123]=e(`<p><strong>Note:</strong></p><ul><li>If the value is lower than <code>min</code>, it will be put into the 1st bucket. If the value is larger than <code>max</code>, it will be put into the last bucket.</li><li>Missing points, null points and <code>NaN</code> in the input series will be ignored.</li></ul><h4 id="examples-6" tabindex="-1"><a class="header-anchor" href="#examples-6"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:00.000+08:00| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 4.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 5.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 6.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 7.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:07.000+08:00| 8.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 9.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 11.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:11.000+08:00| 12.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:12.000+08:00| 13.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:13.000+08:00| 14.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 15.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 16.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 17.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:17.000+08:00| 18.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 19.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:19.000+08:00| 20.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> histogram</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">&quot;min&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;max&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;20&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;count&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;10&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|histogram(root.test.d1.s1, &quot;min&quot;=&quot;1&quot;, &quot;max&quot;=&quot;20&quot;, &quot;count&quot;=&quot;10&quot;)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 2|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-4-integral" tabindex="-1"><a class="header-anchor" href="#_3-4-integral"><span>3.4 Integral</span></a></h3><h4 id="registration-statement-7" tabindex="-1"><a class="header-anchor" href="#registration-statement-7"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> integral</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFIntegral&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-7" tabindex="-1"><a class="header-anchor" href="#usage-7"><span>Usage</span></a></h4><p>This function is used to calculate the integration of time series,<br> which equals to the area under the curve with time as X-axis and values as Y-axis.</p><p><strong>Name:</strong> INTEGRAL</p><p><strong>Input Series:</strong> Only support a single input numeric series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>unit</code>: The unit of time used when computing the integral.<br> The value should be chosen from &quot;1S&quot;, &quot;1s&quot;, &quot;1m&quot;, &quot;1H&quot;, &quot;1d&quot;(case-sensitive),<br> and each represents taking one millisecond / second / minute / hour / day as 1.0 while calculating the area and integral.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the integration.</p><p><strong>Note:</strong></p><ul><li><p>The integral value equals to the sum of the areas of right-angled trapezoids consisting of each two adjacent points and the time-axis.<br> Choosing different <code>unit</code> implies different scaling of time axis, thus making it apparent to convert the value among those results with constant coefficient.</p></li><li><p><code>NaN</code> values in the input series will be ignored. The curve or trapezoids will skip these points and use the next valid point.</p></li></ul><h4 id="examples-7" tabindex="-1"><a class="header-anchor" href="#examples-7"><span>Examples</span></a></h4><h5 id="default-parameters-4" tabindex="-1"><a class="header-anchor" href="#default-parameters-4"><span>Default Parameters</span></a></h5><p>With default parameters, this function will take one second as 1.0.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 5|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 6|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 7|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 8|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> integral(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">10</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------+</span></span>
<span class="line"><span>| Time|integral(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 57.5|</span></span>
<span class="line"><span>+-----------------------------+-------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Calculation expression:</p>`,31)),s("mjx-container",u,[(i(),l("svg",Q,a[17]||(a[17]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mn" transform="translate(220,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mn" transform="translate(220,-686)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><rect width="700" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(940,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mo" transform="translate(1218,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(1607,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(2329.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(3329.4,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(3829.4,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(4440.7,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(5440.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(6163.1,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(7163.3,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(7552.3,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(8274.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(9274.8,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(9774.8,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(10386,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(11386.2,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(12108.4,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(13108.7,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(13497.7,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(14219.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(15220.1,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(15720.1,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(16331.3,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(17331.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(18053.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(19054,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(19443,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(20165.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(21165.4,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(21665.4,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(22276.7,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(23276.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(23999.1,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(24999.3,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(25388.3,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(26110.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(27110.8,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(27610.8,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(28222,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(29222.2,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(29944.4,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(30944.7,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(31333.7,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(32055.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(33056.1,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="mo" transform="translate(34056.1,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(34667.3,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(35667.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(36167.6,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(36723.3,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(37779.1,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z" transform="translate(500,0)"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(1000,0)"></path><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z" transform="translate(1278,0)"></path></g></g></g>',1)]))),a[18]||(a[18]=s("mjx-assistive-mml",{unselectable:"on",display:"block"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mn",null,"1"),s("mn",null,"2")]),s("mo",{stretchy:"false"},"["),s("mo",{stretchy:"false"},"("),s("mn",null,"1"),s("mo",null,"+"),s("mn",null,"2"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mo",null,"+"),s("mn",null,"5"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"5"),s("mo",null,"+"),s("mn",null,"6"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"6"),s("mo",null,"+"),s("mn",null,"7"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"7"),s("mo",null,"+"),s("mn",null,"8"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"3"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"8"),s("mo",null,"+"),s("mn",null,"10"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"2"),s("mo",{stretchy:"false"},"]"),s("mo",null,"="),s("mn",null,"57.5")])],-1))]),a[124]||(a[124]=e(`<h5 id="specific-time-unit" tabindex="-1"><a class="header-anchor" href="#specific-time-unit"><span>Specific time unit</span></a></h5><p>With time unit specified as &quot;1m&quot;, this function will take one minute as 1.0.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> integral(s1, </span><span style="color:#98C379;">&quot;unit&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1m&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">10</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------+</span></span>
<span class="line"><span>| Time|integral(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.958|</span></span>
<span class="line"><span>+-----------------------------+-------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Calculation expression:</p>`,7)),s("mjx-container",v,[(i(),l("svg",h,a[19]||(a[19]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mn" transform="translate(1331.2,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mrow" transform="translate(220,-686)"><g data-mml-node="mn"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(722.2,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(1722.4,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g></g><rect width="2922.4" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(3162.4,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mo" transform="translate(3440.4,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3829.4,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(4551.7,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(5551.9,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(6051.9,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6663.1,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(7663.3,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(8385.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(9385.8,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(9774.8,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(10497,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(11497.2,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(11997.2,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(12608.4,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(13608.7,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(14330.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(15331.1,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(15720.1,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(16442.3,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(17442.6,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(17942.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(18553.8,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(19554,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(20276.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(21276.4,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(21665.4,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(22387.7,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(23387.9,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(23887.9,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(24499.1,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(25499.3,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(26221.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(27221.8,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(27610.8,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(28333,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(29333.2,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(29833.2,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(30444.4,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(31444.7,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(32166.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(33167.1,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(33556.1,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(34278.3,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(35278.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="mo" transform="translate(36278.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(36889.8,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(37890,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(38390,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(38945.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(40001.6,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="39" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z" transform="translate(778,0)"></path><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z" transform="translate(1278,0)"></path><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z" transform="translate(1778,0)"></path></g></g></g>',1)]))),a[20]||(a[20]=s("mjx-assistive-mml",{unselectable:"on",display:"block"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mn",null,"1"),s("mrow",null,[s("mn",null,"2"),s("mo",null,"×"),s("mn",null,"60")])]),s("mo",{stretchy:"false"},"["),s("mo",{stretchy:"false"},"("),s("mn",null,"1"),s("mo",null,"+"),s("mn",null,"2"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mo",null,"+"),s("mn",null,"5"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"5"),s("mo",null,"+"),s("mn",null,"6"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"6"),s("mo",null,"+"),s("mn",null,"7"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"7"),s("mo",null,"+"),s("mn",null,"8"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"3"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"8"),s("mo",null,"+"),s("mn",null,"10"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"2"),s("mo",{stretchy:"false"},"]"),s("mo",null,"="),s("mn",null,"0.958")])],-1))]),a[125]||(a[125]=e(`<h3 id="_3-5-integralavg" tabindex="-1"><a class="header-anchor" href="#_3-5-integralavg"><span>3.5 IntegralAvg</span></a></h3><h4 id="registration-statement-8" tabindex="-1"><a class="header-anchor" href="#registration-statement-8"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> integralavg</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFIntegralAvg&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-8" tabindex="-1"><a class="header-anchor" href="#usage-8"><span>Usage</span></a></h4><p>This function is used to calculate the function average of time series.<br> The output equals to the area divided by the time interval using the same time <code>unit</code>.<br> For more information of the area under the curve, please refer to <code>Integral</code> function.</p><p><strong>Name:</strong> INTEGRALAVG</p><p><strong>Input Series:</strong> Only support a single input numeric series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the time-weighted average.</p><p><strong>Note:</strong></p><ul><li><p>The time-weighted value equals to the integral value with any <code>unit</code> divided by the time interval of input series.<br> The result is irrelevant to the time unit used in integral, and it&#39;s consistent with the timestamp precision of IoTDB by default.</p></li><li><p><code>NaN</code> values in the input series will be ignored. The curve or trapezoids will skip these points and use the next valid point.</p></li><li><p>If the input series is empty, the output value will be 0.0, but if there is only one data point, the value will equal to the input value.</p></li></ul><h4 id="examples-8" tabindex="-1"><a class="header-anchor" href="#examples-8"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 5|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 6|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 7|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 8|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> integralavg(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">10</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------+</span></span>
<span class="line"><span>| Time|integralavg(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+----------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 5.75|</span></span>
<span class="line"><span>+-----------------------------+----------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Calculation expression:</p>`,18)),s("mjx-container",b,[(i(),l("svg",g,a[21]||(a[21]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mn" transform="translate(220,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mn" transform="translate(220,-686)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><rect width="700" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(940,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mo" transform="translate(1218,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(1607,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(2329.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(3329.4,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(3829.4,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(4440.7,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(5440.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(6163.1,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(7163.3,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(7552.3,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(8274.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(9274.8,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(9774.8,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(10386,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(11386.2,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(12108.4,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(13108.7,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(13497.7,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(14219.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(15220.1,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(15720.1,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(16331.3,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(17331.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(18053.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(19054,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(19443,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(20165.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(21165.4,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(21665.4,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(22276.7,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(23276.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(23999.1,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(24999.3,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(25388.3,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(26110.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(27110.8,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(27610.8,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(28222,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(29222.2,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(29944.4,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(30944.7,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(31333.7,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(32055.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(33056.1,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="mo" transform="translate(34056.1,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(34667.3,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(35667.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(36167.6,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(36445.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(36945.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="mo" transform="translate(38223.3,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(39279.1,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z" transform="translate(778,0)"></path><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z" transform="translate(1278,0)"></path></g></g></g>',1)]))),a[22]||(a[22]=s("mjx-assistive-mml",{unselectable:"on",display:"block"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mn",null,"1"),s("mn",null,"2")]),s("mo",{stretchy:"false"},"["),s("mo",{stretchy:"false"},"("),s("mn",null,"1"),s("mo",null,"+"),s("mn",null,"2"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mo",null,"+"),s("mn",null,"5"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"5"),s("mo",null,"+"),s("mn",null,"6"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"6"),s("mo",null,"+"),s("mn",null,"7"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"1"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"7"),s("mo",null,"+"),s("mn",null,"8"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"3"),s("mo",null,"+"),s("mo",{stretchy:"false"},"("),s("mn",null,"8"),s("mo",null,"+"),s("mn",null,"10"),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mn",null,"2"),s("mo",{stretchy:"false"},"]"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"10"),s("mo",null,"="),s("mn",null,"5.75")])],-1))]),a[126]||(a[126]=e('<h3 id="_3-6-mad" tabindex="-1"><a class="header-anchor" href="#_3-6-mad"><span>3.6 Mad</span></a></h3><h4 id="registration-statement-9" tabindex="-1"><a class="header-anchor" href="#registration-statement-9"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> mad</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFMad&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-9" tabindex="-1"><a class="header-anchor" href="#usage-9"><span>Usage</span></a></h4><p>The function is used to compute the exact or approximate median absolute deviation (MAD) of a numeric time series. MAD is the median of the deviation of each element from the elements&#39; median.</p>',5)),s("p",null,[a[27]||(a[27]=n("Take a dataset ")),s("mjx-container",y,[(i(),l("svg",f,a[23]||(a[23]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><path data-c="7B" d="M434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231Z"></path></g><g data-mml-node="mn" transform="translate(500,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(1000,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(1444.7,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(1944.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(2389.3,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(2889.3,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(3334,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(3834,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(4278.7,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(4778.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(5223.3,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(5723.3,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(6168,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(6668,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(7112.7,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(7612.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(8057.3,0)"><path data-c="39" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z"></path></g><g data-mml-node="mo" transform="translate(8557.3,0)"><path data-c="7D" d="M65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731Z"></path></g></g></g>',1)]))),a[24]||(a[24]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mo",{fence:"false",stretchy:"false"},"{"),s("mn",null,"1"),s("mo",null,","),s("mn",null,"3"),s("mo",null,","),s("mn",null,"3"),s("mo",null,","),s("mn",null,"5"),s("mo",null,","),s("mn",null,"5"),s("mo",null,","),s("mn",null,"6"),s("mo",null,","),s("mn",null,"7"),s("mo",null,","),s("mn",null,"8"),s("mo",null,","),s("mn",null,"9"),s("mo",{fence:"false",stretchy:"false"},"}")])],-1))]),a[28]||(a[28]=n(" as an instance. Its median is 5 and the deviation of each element from the median is ")),s("mjx-container",B,[(i(),l("svg",D,a[25]||(a[25]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><path data-c="7B" d="M434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231Z"></path></g><g data-mml-node="mn" transform="translate(500,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path></g><g data-mml-node="mo" transform="translate(1000,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(1444.7,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path></g><g data-mml-node="mo" transform="translate(1944.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(2389.3,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(2889.3,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(3334,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(3834,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(4278.7,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(4778.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(5223.3,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(5723.3,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(6168,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(6668,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(7112.7,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(7612.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(8057.3,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(8557.3,0)"><path data-c="7D" d="M65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731Z"></path></g></g></g>',1)]))),a[26]||(a[26]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mo",{fence:"false",stretchy:"false"},"{"),s("mn",null,"0"),s("mo",null,","),s("mn",null,"0"),s("mo",null,","),s("mn",null,"1"),s("mo",null,","),s("mn",null,"2"),s("mo",null,","),s("mn",null,"2"),s("mo",null,","),s("mn",null,"2"),s("mo",null,","),s("mn",null,"3"),s("mo",null,","),s("mn",null,"4"),s("mo",null,","),s("mn",null,"4"),s("mo",{fence:"false",stretchy:"false"},"}")])],-1))]),a[29]||(a[29]=n(", whose median is 2. Therefore, the MAD of the original dataset is 2."))]),a[127]||(a[127]=s("p",null,[s("strong",null,"Name:"),n(" MAD")],-1)),a[128]||(a[128]=s("p",null,[s("strong",null,"Input Series:"),n(" Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE.")],-1)),a[129]||(a[129]=s("p",null,[s("strong",null,"Parameter:")],-1)),s("ul",null,[s("li",null,[a[36]||(a[36]=s("code",null,"error",-1)),a[37]||(a[37]=n(": The relative error of the approximate MAD. It should be within [0,1) and the default value is 0. Taking ")),a[38]||(a[38]=s("code",null,"error",-1)),a[39]||(a[39]=n("=0.01 as an instance, suppose the exact MAD is ")),s("mjx-container",H,[(i(),l("svg",L,a[30]||(a[30]=[s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D44E",d:"M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"})])])],-1)]))),a[31]||(a[31]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"a")])],-1))]),a[40]||(a[40]=n(" and the approximate MAD is ")),s("mjx-container",A,[(i(),l("svg",k,a[32]||(a[32]=[s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D44F",d:"M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"})])])],-1)]))),a[33]||(a[33]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"b")])],-1))]),a[41]||(a[41]=n(", we have ")),s("mjx-container",q,[(i(),l("svg",x,a[34]||(a[34]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mn"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="39" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z" transform="translate(778,0)"></path><path data-c="39" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z" transform="translate(1278,0)"></path></g><g data-mml-node="mi" transform="translate(1778,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g><g data-mml-node="mo" transform="translate(2584.8,0)"><path data-c="2264" d="M674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118Z"></path></g><g data-mml-node="mi" transform="translate(3640.6,0)"><path data-c="1D44F" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"></path></g><g data-mml-node="mo" transform="translate(4347.3,0)"><path data-c="2264" d="M674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118Z"></path></g><g data-mml-node="mn" transform="translate(5403.1,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(778,0)"></path><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z" transform="translate(1278,0)"></path></g><g data-mml-node="mi" transform="translate(7181.1,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g></g></g>',1)]))),a[35]||(a[35]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mn",null,"0.99"),s("mi",null,"a"),s("mo",null,"≤"),s("mi",null,"b"),s("mo",null,"≤"),s("mn",null,"1.01"),s("mi",null,"a")])],-1))]),a[42]||(a[42]=n(". With ")),a[43]||(a[43]=s("code",null,"error",-1)),a[44]||(a[44]=n("=0, the output is the exact MAD."))])]),a[130]||(a[130]=e(`<p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the MAD.</p><p><strong>Note:</strong> Missing points, null points and <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-9" tabindex="-1"><a class="header-anchor" href="#examples-9"><span>Examples</span></a></h4><h5 id="exact-query" tabindex="-1"><a class="header-anchor" href="#exact-query"><span>Exact Query</span></a></h5><p>With the default <code>error</code>(<code>error</code>=0), the function queries the exact MAD.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>............</span></span>
<span class="line"><span>Total line number = 20</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> mad(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------+</span></span>
<span class="line"><span>| Time|median(root.test.s1, &quot;error&quot;=&quot;0&quot;)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="approximate-query" tabindex="-1"><a class="header-anchor" href="#approximate-query"><span>Approximate Query</span></a></h5><p>By setting <code>error</code> within (0,1), the function queries the approximate MAD.</p><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> mad(s1, </span><span style="color:#98C379;">&quot;error&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.01&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------+</span></span>
<span class="line"><span>| Time|mad(root.test.s1, &quot;error&quot;=&quot;0.01&quot;)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.9900000000000001|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-7-median" tabindex="-1"><a class="header-anchor" href="#_3-7-median"><span>3.7 Median</span></a></h3><h4 id="registration-statement-10" tabindex="-1"><a class="header-anchor" href="#registration-statement-10"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> median</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFMedian&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-10" tabindex="-1"><a class="header-anchor" href="#usage-10"><span>Usage</span></a></h4><p>The function is used to compute the exact or approximate median of a numeric time series. Median is the value separating the higher half from the lower half of a data sample.</p><p><strong>Name:</strong> MEDIAN</p><p><strong>Input Series:</strong> Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameter:</strong></p><ul><li><code>error</code>: The rank error of the approximate median. It should be within [0,1) and the default value is 0. For instance, a median with <code>error</code>=0.01 is the value of the element with rank percentage 0.49~0.51. With <code>error</code>=0, the output is the exact median.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the median.</p><h4 id="examples-10" tabindex="-1"><a class="header-anchor" href="#examples-10"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>Total line number = 20</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> median(s1, </span><span style="color:#98C379;">&quot;error&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.01&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------+</span></span>
<span class="line"><span>| Time|median(root.test.s1, &quot;error&quot;=&quot;0.01&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-8-minmax" tabindex="-1"><a class="header-anchor" href="#_3-8-minmax"><span>3.8 MinMax</span></a></h3><h4 id="registration-statement-11" tabindex="-1"><a class="header-anchor" href="#registration-statement-11"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> minmax</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFMinMax&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-11" tabindex="-1"><a class="header-anchor" href="#usage-11"><span>Usage</span></a></h4><p>This function is used to standardize the input series with min-max. Minimum value is transformed to 0; maximum value is transformed to 1.</p><p><strong>Name:</strong> MINMAX</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>compute</code>: When set to &quot;batch&quot;, anomaly test is conducted after importing all data points; when set to &quot;stream&quot;, it is required to provide minimum and maximum values. The default method is &quot;batch&quot;.</li><li><code>min</code>: The maximum value when method is set to &quot;stream&quot;.</li><li><code>max</code>: The minimum value when method is set to &quot;stream&quot;.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE.</p><h4 id="examples-11" tabindex="-1"><a class="header-anchor" href="#examples-11"><span>Examples</span></a></h4><h5 id="batch-computing" tabindex="-1"><a class="header-anchor" href="#batch-computing"><span>Batch computing</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> minmax(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>| Time|minmax(root.test.s1)|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 0.25|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 0.08333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 0.3333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 0.25|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 0.08333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| 0.08333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 0.25|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 0.3333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.16666666666666666|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-9-mvavg" tabindex="-1"><a class="header-anchor" href="#_3-9-mvavg"><span>3.9 MvAvg</span></a></h3><h4 id="registration-statement-12" tabindex="-1"><a class="header-anchor" href="#registration-statement-12"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> mvavg</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFMvAvg&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-12" tabindex="-1"><a class="header-anchor" href="#usage-12"><span>Usage</span></a></h4><p>This function is used to calculate moving average of input series.</p><p><strong>Name:</strong> MVAVG</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>window</code>: Length of the moving window. Default value is 10.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE.</p><h4 id="examples-12" tabindex="-1"><a class="header-anchor" href="#examples-12"><span>Examples</span></a></h4><h5 id="batch-computing-1" tabindex="-1"><a class="header-anchor" href="#batch-computing-1"><span>Batch computing</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> mvavg(s1, </span><span style="color:#98C379;">&quot;window&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;3&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------+</span></span>
<span class="line"><span>| Time|mvavg(root.test.s1, &quot;window&quot;=&quot;3&quot;)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 0.3333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| -0.3333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -0.6666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.6666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 0.3333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -0.6666666666666666|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.3333333333333333|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 3.3333333333333335|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 4.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| -0.6666666666666666|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-10-pacf" tabindex="-1"><a class="header-anchor" href="#_3-10-pacf"><span>3.10 PACF</span></a></h3><h4 id="registration-statement-13" tabindex="-1"><a class="header-anchor" href="#registration-statement-13"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> pacf</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFPACF&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-13" tabindex="-1"><a class="header-anchor" href="#usage-13"><span>Usage</span></a></h4><p>This function is used to calculate partial autocorrelation of input series by solving Yule-Walker equation. For some cases, the equation may not be solved, and NaN will be output.</p><p><strong>Name:</strong> PACF</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p>`,75)),s("ul",null,[s("li",null,[a[49]||(a[49]=s("code",null,"lag",-1)),a[50]||(a[50]=n(": Maximum lag of pacf to calculate. The default value is ")),s("mjx-container",F,[(i(),l("svg",w,a[45]||(a[45]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><path data-c="6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path data-c="69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z" transform="translate(833,0)"></path><path data-c="6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z" transform="translate(1111,0)"></path></g><g data-mml-node="mo" transform="translate(1667,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(2056,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="msub" transform="translate(3222.7,0)"><g data-mml-node="mi"><path data-c="6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path data-c="6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z" transform="translate(278,0)"></path><path data-c="67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z" transform="translate(778,0)"></path></g><g data-mml-node="TeXAtom" transform="translate(1311,-241.4) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g></g></g><g data-mml-node="mo" transform="translate(5290.8,0)"><path data-c="2061" d=""></path></g><g data-mml-node="mi" transform="translate(5457.4,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(6057.4,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mi" transform="translate(6502.1,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(7324.3,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mn" transform="translate(8324.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(8824.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g>',1)]))),a[46]||(a[46]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mo",{"data-mjx-texclass":"OP",movablelimits:"true"},"min"),s("mo",{stretchy:"false"},"("),s("mn",null,"10"),s("msub",null,[s("mi",null,"log"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mn",null,"10")])]),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mi",null,"n"),s("mo",null,","),s("mi",null,"n"),s("mo",null,"−"),s("mn",null,"1"),s("mo",{stretchy:"false"},")")])],-1))]),a[51]||(a[51]=n(", where ")),s("mjx-container",V,[(i(),l("svg",M,a[47]||(a[47]=[s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"})])])],-1)]))),a[48]||(a[48]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1))]),a[52]||(a[52]=n(" is the number of data points."))])]),a[131]||(a[131]=e(`<p><strong>Output Series:</strong> Output a single series. The type is DOUBLE.</p><h4 id="examples-13" tabindex="-1"><a class="header-anchor" href="#examples-13"><span>Examples</span></a></h4><h5 id="assigning-maximum-lag" tabindex="-1"><a class="header-anchor" href="#assigning-maximum-lag"><span>Assigning maximum lag</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pacf(s1, </span><span style="color:#98C379;">&quot;lag&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;5&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------+</span></span>
<span class="line"><span>| Time|pacf(root.test.d1.s1, &quot;lag&quot;=&quot;5&quot;)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| -0.5744680851063829|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 0.3172297297297296|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| -0.2977686586304181|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| -2.0609033521065867|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-11-percentile" tabindex="-1"><a class="header-anchor" href="#_3-11-percentile"><span>3.11 Percentile</span></a></h3><h4 id="registration-statement-14" tabindex="-1"><a class="header-anchor" href="#registration-statement-14"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> percentile</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFPercentile&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-14" tabindex="-1"><a class="header-anchor" href="#usage-14"><span>Usage</span></a></h4><p>The function is used to compute the exact or approximate percentile of a numeric time series. A percentile is value of element in the certain rank of the sorted series.</p><p><strong>Name:</strong> PERCENTILE</p><p><strong>Input Series:</strong> Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameter:</strong></p><ul><li><code>rank</code>: The rank percentage of the percentile. It should be (0,1] and the default value is 0.5. For instance, a percentile with <code>rank</code>=0.5 is the median.</li><li><code>error</code>: The rank error of the approximate percentile. It should be within [0,1) and the default value is 0. For instance, a 0.5-percentile with <code>error</code>=0.01 is the value of the element with rank percentage 0.49~0.51. With <code>error</code>=0, the output is the exact percentile.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as input series. If <code>error</code>=0, there is only one data point in the series, whose timestamp is the same has which the first percentile value has, and value is the percentile, otherwise the timestamp of the only data point is 0.</p><p><strong>Note:</strong> Missing points, null points and <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-14" tabindex="-1"><a class="header-anchor" href="#examples-14"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------+</span></span>
<span class="line"><span>| Time|root.test2.s1|</span></span>
<span class="line"><span>+-----------------------------+-------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+-------------+</span></span>
<span class="line"><span>Total line number = 20</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> percentile(s0, </span><span style="color:#98C379;">&quot;rank&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.2&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;error&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.01&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span>
<span class="line"><span>| Time|percentile(root.test2.s1, &quot;rank&quot;=&quot;0.2&quot;, &quot;error&quot;=&quot;0.01&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| -1.0|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-12-quantile" tabindex="-1"><a class="header-anchor" href="#_3-12-quantile"><span>3.12 Quantile</span></a></h3><h4 id="registration-statement-15" tabindex="-1"><a class="header-anchor" href="#registration-statement-15"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> quantile</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFQuantile&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-15" tabindex="-1"><a class="header-anchor" href="#usage-15"><span>Usage</span></a></h4><p>The function is used to compute the approximate quantile of a numeric time series. A quantile is value of element in the certain rank of the sorted series.</p><p><strong>Name:</strong> QUANTILE</p><p><strong>Input Series:</strong> Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameter:</strong></p><ul><li><code>rank</code>: The rank of the quantile. It should be (0,1] and the default value is 0.5. For instance, a quantile with <code>rank</code>=0.5 is the median.</li><li><code>K</code>: The size of KLL sketch maintained in the query. It should be within [100,+inf) and the default value is 800. For instance, the 0.5-quantile computed by a KLL sketch with K=800 items is a value with rank quantile 0.49~0.51 with a confidence of at least 99%. The result will be more accurate as K increases.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as input series. The timestamp of the only data point is 0.</p><p><strong>Note:</strong> Missing points, null points and <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-15" tabindex="-1"><a class="header-anchor" href="#examples-15"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------+</span></span>
<span class="line"><span>| Time|root.test1.s1|</span></span>
<span class="line"><span>+-----------------------------+-------------+</span></span>
<span class="line"><span>|2021-03-17T10:32:17.054+08:00| 7|</span></span>
<span class="line"><span>|2021-03-17T10:32:18.054+08:00| 15|</span></span>
<span class="line"><span>|2021-03-17T10:32:19.054+08:00| 36|</span></span>
<span class="line"><span>|2021-03-17T10:32:20.054+08:00| 39|</span></span>
<span class="line"><span>|2021-03-17T10:32:21.054+08:00| 40|</span></span>
<span class="line"><span>|2021-03-17T10:32:22.054+08:00| 41|</span></span>
<span class="line"><span>|2021-03-17T10:32:23.054+08:00| 20|</span></span>
<span class="line"><span>|2021-03-17T10:32:24.054+08:00| 18|</span></span>
<span class="line"><span>+-----------------------------+-------------+</span></span>
<span class="line"><span>............</span></span>
<span class="line"><span>Total line number = 8</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> quantile(s1, </span><span style="color:#98C379;">&quot;rank&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.2&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;K&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;800&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------+</span></span>
<span class="line"><span>| Time|quantile(root.test1.s1, &quot;rank&quot;=&quot;0.2&quot;, &quot;K&quot;=&quot;800&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 7.000000000000001|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-13-period" tabindex="-1"><a class="header-anchor" href="#_3-13-period"><span>3.13 Period</span></a></h3><h4 id="registration-statement-16" tabindex="-1"><a class="header-anchor" href="#registration-statement-16"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> period</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFPeriod&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-16" tabindex="-1"><a class="header-anchor" href="#usage-16"><span>Usage</span></a></h4><p>The function is used to compute the period of a numeric time series.</p><p><strong>Name:</strong> PERIOD</p><p><strong>Input Series:</strong> Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Output Series:</strong> Output a single series. The type is INT32. There is only one data point in the series, whose timestamp is 0 and value is the period.</p><h4 id="examples-16" tabindex="-1"><a class="header-anchor" href="#examples-16"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d3.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 3.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 3.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 3.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> period</span><span style="color:#ABB2BF;">(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d3</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------+</span></span>
<span class="line"><span>| Time|period(root.test.d3.s1)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 3|</span></span>
<span class="line"><span>+-----------------------------+-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-14-qlb" tabindex="-1"><a class="header-anchor" href="#_3-14-qlb"><span>3.14 QLB</span></a></h3><h4 id="registration-statement-17" tabindex="-1"><a class="header-anchor" href="#registration-statement-17"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> qlb</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFQLB&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-17" tabindex="-1"><a class="header-anchor" href="#usage-17"><span>Usage</span></a></h4>`,64)),s("p",null,[a[55]||(a[55]=n("This function is used to calculate Ljung-Box statistics ")),s("mjx-container",C,[(i(),l("svg",Z,a[53]||(a[53]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><path data-c="1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path></g><g data-mml-node="TeXAtom" transform="translate(824,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D43F" d="M228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637Z"></path></g><g data-mml-node="mi" transform="translate(681,0)"><path data-c="1D435" d="M231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229Z"></path></g></g></g></g></g>',1)]))),a[54]||(a[54]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("msub",null,[s("mi",null,"Q"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"L"),s("mi",null,"B")])])])],-1))]),a[56]||(a[56]=n(" for time series, and convert it to p value."))]),a[132]||(a[132]=e("<p><strong>Name:</strong> QLB</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters</strong>:</p><p><code>lag</code>: max lag to calculate. Legal input shall be integer from 1 to n-2, where n is the sample number. Default value is n-2.</p><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. The output series is p value, and timestamp means lag.</p>",5)),s("p",null,[a[59]||(a[59]=s("strong",null,"Note:",-1)),a[60]||(a[60]=n(" If you want to calculate Ljung-Box statistics ")),s("mjx-container",O,[(i(),l("svg",I,a[57]||(a[57]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><path data-c="1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path></g><g data-mml-node="TeXAtom" transform="translate(824,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D43F" d="M228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637Z"></path></g><g data-mml-node="mi" transform="translate(681,0)"><path data-c="1D435" d="M231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229Z"></path></g></g></g></g></g>',1)]))),a[58]||(a[58]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("msub",null,[s("mi",null,"Q"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"L"),s("mi",null,"B")])])])],-1))]),a[61]||(a[61]=n(" instead of p value, you may use ACF function."))]),a[133]||(a[133]=e(`<h4 id="examples-17" tabindex="-1"><a class="header-anchor" href="#examples-17"><span>Examples</span></a></h4><h5 id="using-default-parameter" tabindex="-1"><a class="header-anchor" href="#using-default-parameter"><span>Using Default Parameter</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T00:00:00.100+08:00| 1.22|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.200+08:00| -2.78|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.300+08:00| 1.53|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.400+08:00| 0.70|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.500+08:00| 0.75|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.600+08:00| -0.72|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.700+08:00| -0.22|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.800+08:00| 0.28|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.900+08:00| 0.57|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.000+08:00| -0.22|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.100+08:00| -0.72|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.200+08:00| 1.34|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.300+08:00| -0.25|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.400+08:00| 0.17|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.500+08:00| 2.51|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.600+08:00| 1.42|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.700+08:00| -1.34|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.800+08:00| -0.01|</span></span>
<span class="line"><span>|1970-01-01T00:00:01.900+08:00| -0.49|</span></span>
<span class="line"><span>|1970-01-01T00:00:02.000+08:00| 1.63|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> QLB(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>| Time|QLB(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>|1970-01-01T00:00:00.001+08:00| 0.2168702295315677|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.002+08:00| 0.3068948509261751|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.003+08:00| 0.4217859150918444|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.004+08:00| 0.5114539874276656|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.005+08:00| 0.6560619525616759|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.006+08:00| 0.7722398654053280|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.007+08:00| 0.8532491661465290|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.008+08:00| 0.9028575017542528|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.009+08:00| 0.9434989988192729|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.010+08:00| 0.8950280161464689|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.011+08:00| 0.7701048398839656|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.012+08:00| 0.7845536060001281|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.013+08:00| 0.5943030981705825|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.014+08:00| 0.4618413512531093|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.015+08:00| 0.2645948244673964|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.016+08:00| 0.3167530476666645|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.017+08:00| 0.2330010780351453|</span></span>
<span class="line"><span>|1970-01-01T00:00:00.018+08:00| 0.0666611237622325|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-15-resample" tabindex="-1"><a class="header-anchor" href="#_3-15-resample"><span>3.15 Resample</span></a></h3><h4 id="registration-statement-18" tabindex="-1"><a class="header-anchor" href="#registration-statement-18"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> re_sample</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFResample&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-18" tabindex="-1"><a class="header-anchor" href="#usage-18"><span>Usage</span></a></h4><p>This function is used to resample the input series according to a given frequency,<br> including up-sampling and down-sampling.<br> Currently, the supported up-sampling methods are<br> NaN (filling with <code>NaN</code>),<br> FFill (filling with previous value),<br> BFill (filling with next value) and<br> Linear (filling with linear interpolation).<br> Down-sampling relies on group aggregation,<br> which supports Max, Min, First, Last, Mean and Median.</p><p><strong>Name:</strong> RESAMPLE</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>every</code>: The frequency of resampling, which is a positive number with an unit. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. This parameter cannot be lacked.</li><li><code>interp</code>: The interpolation method of up-sampling, which is &#39;NaN&#39;, &#39;FFill&#39;, &#39;BFill&#39; or &#39;Linear&#39;. By default, NaN is used.</li><li><code>aggr</code>: The aggregation method of down-sampling, which is &#39;Max&#39;, &#39;Min&#39;, &#39;First&#39;, &#39;Last&#39;, &#39;Mean&#39; or &#39;Median&#39;. By default, Mean is used.</li><li><code>start</code>: The start time (inclusive) of resampling with the format &#39;yyyy-MM-dd HH:mm:ss&#39;. By default, it is the timestamp of the first valid data point.</li><li><code>end</code>: The end time (exclusive) of resampling with the format &#39;yyyy-MM-dd HH:mm:ss&#39;. By default, it is the timestamp of the last valid data point.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. It is strictly equispaced with the frequency <code>every</code>.</p><p><strong>Note:</strong> <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-18" tabindex="-1"><a class="header-anchor" href="#examples-18"><span>Examples</span></a></h4><h5 id="up-sampling" tabindex="-1"><a class="header-anchor" href="#up-sampling"><span>Up-sampling</span></a></h5><p>When the frequency of resampling is higher than the original frequency, up-sampling starts.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2021-03-06T16:00:00.000+08:00| 3.09|</span></span>
<span class="line"><span>|2021-03-06T16:15:00.000+08:00| 3.53|</span></span>
<span class="line"><span>|2021-03-06T16:30:00.000+08:00| 3.5|</span></span>
<span class="line"><span>|2021-03-06T16:45:00.000+08:00| 3.51|</span></span>
<span class="line"><span>|2021-03-06T17:00:00.000+08:00| 3.41|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> resample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">&#39;every&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;5m&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;interp&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;linear&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------------------------+</span></span>
<span class="line"><span>| Time|resample(root.test.d1.s1, &quot;every&quot;=&quot;5m&quot;, &quot;interp&quot;=&quot;linear&quot;)|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------------------------+</span></span>
<span class="line"><span>|2021-03-06T16:00:00.000+08:00| 3.0899999141693115|</span></span>
<span class="line"><span>|2021-03-06T16:05:00.000+08:00| 3.2366665999094644|</span></span>
<span class="line"><span>|2021-03-06T16:10:00.000+08:00| 3.3833332856496177|</span></span>
<span class="line"><span>|2021-03-06T16:15:00.000+08:00| 3.5299999713897705|</span></span>
<span class="line"><span>|2021-03-06T16:20:00.000+08:00| 3.5199999809265137|</span></span>
<span class="line"><span>|2021-03-06T16:25:00.000+08:00| 3.509999990463257|</span></span>
<span class="line"><span>|2021-03-06T16:30:00.000+08:00| 3.5|</span></span>
<span class="line"><span>|2021-03-06T16:35:00.000+08:00| 3.503333330154419|</span></span>
<span class="line"><span>|2021-03-06T16:40:00.000+08:00| 3.506666660308838|</span></span>
<span class="line"><span>|2021-03-06T16:45:00.000+08:00| 3.509999990463257|</span></span>
<span class="line"><span>|2021-03-06T16:50:00.000+08:00| 3.4766666889190674|</span></span>
<span class="line"><span>|2021-03-06T16:55:00.000+08:00| 3.443333387374878|</span></span>
<span class="line"><span>|2021-03-06T17:00:00.000+08:00| 3.4100000858306885|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="down-sampling" tabindex="-1"><a class="header-anchor" href="#down-sampling"><span>Down-sampling</span></a></h5><p>When the frequency of resampling is lower than the original frequency, down-sampling starts.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> resample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">&#39;every&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;30m&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;aggr&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;first&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span>
<span class="line"><span>| Time|resample(root.test.d1.s1, &quot;every&quot;=&quot;30m&quot;, &quot;aggr&quot;=&quot;first&quot;)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span>
<span class="line"><span>|2021-03-06T16:00:00.000+08:00| 3.0899999141693115|</span></span>
<span class="line"><span>|2021-03-06T16:30:00.000+08:00| 3.5|</span></span>
<span class="line"><span>|2021-03-06T17:00:00.000+08:00| 3.4100000858306885|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="specify-the-time-period" tabindex="-1"><a class="header-anchor" href="#specify-the-time-period"><span>Specify the time period</span></a></h5><p>The time period of resampling can be specified with <code>start</code> and <code>end</code>.<br> The period outside the actual time range will be interpolated.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> resample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">&#39;every&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;30m&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;start&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;2021-03-06 15:00:00&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|resample(root.test.d1.s1, &quot;every&quot;=&quot;30m&quot;, &quot;start&quot;=&quot;2021-03-06 15:00:00&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------------------------------------------------+</span></span>
<span class="line"><span>|2021-03-06T15:00:00.000+08:00| NaN|</span></span>
<span class="line"><span>|2021-03-06T15:30:00.000+08:00| NaN|</span></span>
<span class="line"><span>|2021-03-06T16:00:00.000+08:00| 3.309999942779541|</span></span>
<span class="line"><span>|2021-03-06T16:30:00.000+08:00| 3.5049999952316284|</span></span>
<span class="line"><span>|2021-03-06T17:00:00.000+08:00| 3.4100000858306885|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-16-sample" tabindex="-1"><a class="header-anchor" href="#_3-16-sample"><span>3.16 Sample</span></a></h3><h4 id="registration-statement-19" tabindex="-1"><a class="header-anchor" href="#registration-statement-19"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> sample</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFSample&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-19" tabindex="-1"><a class="header-anchor" href="#usage-19"><span>Usage</span></a></h4><p>This function is used to sample the input series,<br> that is, select a specified number of data points from the input series and output them.<br> Currently, three sampling methods are supported:<br><strong>Reservoir sampling</strong> randomly selects data points.<br> All of the points have the same probability of being sampled.<br><strong>Isometric sampling</strong> selects data points at equal index intervals.<br><strong>Triangle sampling</strong> assigns data points to the buckets based on the number of sampling.<br> Then it calculates the area of the triangle based on these points inside the bucket and selects the point with the largest area of the triangle.<br> For more detail, please read <a href="http://skemman.is/stream/get/1946/15343/37285/3/SS_MSthesis.pdf" target="_blank" rel="noopener noreferrer">paper</a></p><p><strong>Name:</strong> SAMPLE</p><p><strong>Input Series:</strong> Only support a single input series. The type is arbitrary.</p><p><strong>Parameters:</strong></p><ul><li><code>method</code>: The method of sampling, which is &#39;reservoir&#39;, &#39;isometric&#39; or &#39;triangle&#39;. By default, reservoir sampling is used.</li><li><code>k</code>: The number of sampling, which is a positive integer. By default, it&#39;s 1.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input. The length of the output series is <code>k</code>. Each data point in the output series comes from the input series.</p><p><strong>Note:</strong> If <code>k</code> is greater than the length of input series, all data points in the input series will be output.</p><h4 id="examples-19" tabindex="-1"><a class="header-anchor" href="#examples-19"><span>Examples</span></a></h4><h5 id="reservoir-sampling" tabindex="-1"><a class="header-anchor" href="#reservoir-sampling"><span>Reservoir Sampling</span></a></h5><p>When <code>method</code> is &#39;reservoir&#39; or the default, reservoir sampling is used.<br> Due to the randomness of this method, the output series shown below is only a possible result.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 4.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 6.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:07.000+08:00| 7.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 8.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| 9.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> sample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">&#39;method&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;reservoir&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;k&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;5&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span>
<span class="line"><span>| Time|sample(root.test.d1.s1, &quot;method&quot;=&quot;reservoir&quot;, &quot;k&quot;=&quot;5&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 8.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="isometric-sampling" tabindex="-1"><a class="header-anchor" href="#isometric-sampling"><span>Isometric Sampling</span></a></h5><p>When <code>method</code> is &#39;isometric&#39;, isometric sampling is used.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> sample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">&#39;method&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;isometric&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;k&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;5&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span>
<span class="line"><span>| Time|sample(root.test.d1.s1, &quot;method&quot;=&quot;isometric&quot;, &quot;k&quot;=&quot;5&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:07.000+08:00| 7.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| 9.0|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-17-segment" tabindex="-1"><a class="header-anchor" href="#_3-17-segment"><span>3.17 Segment</span></a></h3><h4 id="registration-statement-20" tabindex="-1"><a class="header-anchor" href="#registration-statement-20"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> segment</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFSegment&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-20" tabindex="-1"><a class="header-anchor" href="#usage-20"><span>Usage</span></a></h4><p>This function is used to segment a time series into subsequences according to linear trend, and returns linear fitted values of first values in each subsequence or every data point.</p><p><strong>Name:</strong> SEGMENT</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><p><code>output</code> :&quot;all&quot; to output all fitted points; &quot;first&quot; to output first fitted points in each subsequence.</p></li><li><p><code>error</code>: error allowed at linear regression. It is defined as mean absolute error of a subsequence.</p></li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE.</p><p><strong>Note:</strong> This function treat input series as equal-interval sampled. All data are loaded, so downsample input series first if there are too many data points.</p><h4 id="examples-20" tabindex="-1"><a class="header-anchor" href="#examples-20"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 5.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 3.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 4.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 5.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 6.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 8.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 9.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 9.1|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 9.2|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| 9.3|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 9.4|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 9.5|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 9.6|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 9.7|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 9.8|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| 9.9|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.100+08:00| 8.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.200+08:00| 6.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.300+08:00| 4.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.400+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.600+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.700+08:00| -4.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.800+08:00| -6.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.900+08:00| -8.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| -10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.100+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.200+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.300+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.400+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.500+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.600+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.700+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.800+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.900+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> segment(s1, </span><span style="color:#98C379;">&quot;error&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.1&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------+</span></span>
<span class="line"><span>| Time|segment(root.test.s1, &quot;error&quot;=&quot;0.1&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 5.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 9.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| -10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.200+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-18-skew" tabindex="-1"><a class="header-anchor" href="#_3-18-skew"><span>3.18 Skew</span></a></h3><h4 id="registration-statement-21" tabindex="-1"><a class="header-anchor" href="#registration-statement-21"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> skew</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFSkew&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-21" tabindex="-1"><a class="header-anchor" href="#usage-21"><span>Usage</span></a></h4><p>This function is used to calculate the population skewness.</p><p><strong>Name:</strong> SKEW</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the population skewness.</p><p><strong>Note:</strong> Missing points, null points and <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-21" tabindex="-1"><a class="header-anchor" href="#examples-21"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:00.000+08:00| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| 2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 4.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 5.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 6.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 7.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:07.000+08:00| 8.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 9.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:11.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:12.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:13.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:17.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 10.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:19.000+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> skew(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------+</span></span>
<span class="line"><span>| Time| skew(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| -0.9998427402292644|</span></span>
<span class="line"><span>+-----------------------------+-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-19-spline" tabindex="-1"><a class="header-anchor" href="#_3-19-spline"><span>3.19 Spline</span></a></h3><h4 id="registration-statement-22" tabindex="-1"><a class="header-anchor" href="#registration-statement-22"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> spline</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFSpline&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-22" tabindex="-1"><a class="header-anchor" href="#usage-22"><span>Usage</span></a></h4><p>This function is used to calculate cubic spline interpolation of input series.</p><p><strong>Name:</strong> SPLINE</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>points</code>: Number of resampling points.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE.</p><p><strong>Note</strong>: Output series retains the first and last timestamps of input series. Interpolation points are selected at equal intervals. The function tries to calculate only when there are no less than 4 points in input series.</p><h4 id="examples-22" tabindex="-1"><a class="header-anchor" href="#examples-22"><span>Examples</span></a></h4><h5 id="assigning-number-of-interpolation-points" tabindex="-1"><a class="header-anchor" href="#assigning-number-of-interpolation-points"><span>Assigning number of interpolation points</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 1.7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 2.1|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 1.8|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| 1.2|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 1.6|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> spline(s1, </span><span style="color:#98C379;">&quot;points&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;151&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------+</span></span>
<span class="line"><span>| Time|spline(root.test.s1, &quot;points&quot;=&quot;151&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.010+08:00| 0.04870000251134237|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.020+08:00| 0.09680000495910646|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.030+08:00| 0.14430000734329226|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.040+08:00| 0.19120000966389972|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.050+08:00| 0.23750001192092896|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.060+08:00| 0.2832000141143799|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.070+08:00| 0.32830001624425253|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.080+08:00| 0.3728000183105469|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.090+08:00| 0.416700020313263|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.4600000222524008|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.110+08:00| 0.5027000241279602|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.120+08:00| 0.5448000259399414|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.130+08:00| 0.5863000276883443|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.140+08:00| 0.627200029373169|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.150+08:00| 0.6675000309944153|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.160+08:00| 0.7072000325520833|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.170+08:00| 0.7463000340461731|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.180+08:00| 0.7848000354766846|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.190+08:00| 0.8227000368436178|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.8600000381469728|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.210+08:00| 0.8967000393867494|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.220+08:00| 0.9328000405629477|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.230+08:00| 0.9683000416755676|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.240+08:00| 1.0032000427246095|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.250+08:00| 1.037500043710073|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.260+08:00| 1.071200044631958|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.270+08:00| 1.1043000454902647|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.280+08:00| 1.1368000462849934|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.290+08:00| 1.1687000470161437|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.2000000476837158|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.310+08:00| 1.2307000483103594|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.320+08:00| 1.2608000489139557|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.330+08:00| 1.2903000494873524|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.340+08:00| 1.3192000500233967|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.350+08:00| 1.3475000505149364|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.360+08:00| 1.3752000509548186|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.370+08:00| 1.402300051335891|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.380+08:00| 1.4288000516510009|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.390+08:00| 1.4547000518929958|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 1.480000052054723|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.410+08:00| 1.5047000521290301|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.420+08:00| 1.5288000521087646|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.430+08:00| 1.5523000519867738|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.440+08:00| 1.575200051755905|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.450+08:00| 1.597500051409006|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.460+08:00| 1.619200050938924|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.470+08:00| 1.6403000503385066|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.480+08:00| 1.660800049600601|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.490+08:00| 1.680700048718055|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 1.7000000476837158|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.510+08:00| 1.7188475466453037|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.520+08:00| 1.7373800457262996|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.530+08:00| 1.7555825448831923|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.540+08:00| 1.7734400440724702|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.550+08:00| 1.790937543250622|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.560+08:00| 1.8080600423741364|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.570+08:00| 1.8247925413995016|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.580+08:00| 1.8411200402832066|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.590+08:00| 1.8570275389817397|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 1.8725000374515897|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.610+08:00| 1.8875225356492449|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.620+08:00| 1.902080033531194|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.630+08:00| 1.9161575310539258|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.640+08:00| 1.9297400281739288|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.650+08:00| 1.9428125248476913|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.660+08:00| 1.9553600210317021|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.670+08:00| 1.96736751668245|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.680+08:00| 1.9788200117564232|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.690+08:00| 1.9897025062101101|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.710+08:00| 2.0097024933913334|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.720+08:00| 2.0188199867081615|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.730+08:00| 2.027367479995188|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.740+08:00| 2.0353599732971155|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.750+08:00| 2.0428124666586482|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.760+08:00| 2.049739960124489|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.770+08:00| 2.056157453739342|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.780+08:00| 2.06207994754791|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.790+08:00| 2.067522441594897|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.072499935925006|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.810+08:00| 2.07702743058294|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.820+08:00| 2.081119925613404|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.830+08:00| 2.0847924210611|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.840+08:00| 2.0880599169707317|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.850+08:00| 2.0909374133870027|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.860+08:00| 2.0934399103546166|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.870+08:00| 2.0955824079182768|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.880+08:00| 2.0973799061226863|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.890+08:00| 2.098847405012549|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 2.0999999046325684|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.910+08:00| 2.1005574051201332|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.920+08:00| 2.1002599065303778|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.930+08:00| 2.0991524087846245|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.940+08:00| 2.0972799118041947|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.950+08:00| 2.0946874155104105|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.960+08:00| 2.0914199198245944|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.970+08:00| 2.0875224246680673|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.980+08:00| 2.083039929962151|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.990+08:00| 2.0780174356281687|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 2.0724999415874406|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.010+08:00| 2.06653244776129|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.020+08:00| 2.060159954071038|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.030+08:00| 2.053427460438006|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.040+08:00| 2.046379966783517|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.050+08:00| 2.0390624730288924|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.060+08:00| 2.031519979095454|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.070+08:00| 2.0237974849045237|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.080+08:00| 2.015939990377423|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.090+08:00| 2.0079924954354746|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.110+08:00| 1.9907018211101906|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.120+08:00| 1.9788509124245144|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.130+08:00| 1.9645127287932083|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.140+08:00| 1.9477527250665083|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.150+08:00| 1.9286363560946513|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.160+08:00| 1.9072290767278735|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.170+08:00| 1.8835963418164114|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.180+08:00| 1.8578036062105014|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.190+08:00| 1.8299163247603802|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 1.7999999523162842|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.210+08:00| 1.7623635841923329|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.220+08:00| 1.7129696477516976|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.230+08:00| 1.6543635959181928|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.240+08:00| 1.5890908816156328|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.250+08:00| 1.5196969577678319|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.260+08:00| 1.4487272772986044|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.270+08:00| 1.3787272931317647|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.280+08:00| 1.3122424581911272|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.290+08:00| 1.251818225400506|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| 1.2000000476837158|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.310+08:00| 1.1548000470995912|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.320+08:00| 1.1130667107899999|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.330+08:00| 1.0756000393033045|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.340+08:00| 1.043200033187868|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.350+08:00| 1.016666692992053|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.360+08:00| 0.9968000192642223|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.370+08:00| 0.9844000125527389|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.380+08:00| 0.9802666734059655|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.390+08:00| 0.9852000023722649|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.410+08:00| 1.023999999165535|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.420+08:00| 1.0559999990463256|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.430+08:00| 1.0959999996423722|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.440+08:00| 1.1440000009536744|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.450+08:00| 1.2000000029802322|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.460+08:00| 1.264000005722046|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.470+08:00| 1.3360000091791153|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.480+08:00| 1.4160000133514405|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.490+08:00| 1.5040000182390214|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 1.600000023841858|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-20-spread" tabindex="-1"><a class="header-anchor" href="#_3-20-spread"><span>3.20 Spread</span></a></h3><h4 id="registration-statement-23" tabindex="-1"><a class="header-anchor" href="#registration-statement-23"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> spread</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDAFSpread&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-23" tabindex="-1"><a class="header-anchor" href="#usage-23"><span>Usage</span></a></h4><p>This function is used to calculate the spread of time series, that is, the maximum value minus the minimum value.</p><p><strong>Name:</strong> SPREAD</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Output Series:</strong> Output a single series. The type is the same as the input. There is only one data point in the series, whose timestamp is 0 and value is the spread.</p><p><strong>Note:</strong> Missing points, null points and <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-23" tabindex="-1"><a class="header-anchor" href="#examples-23"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> spread(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------+</span></span>
<span class="line"><span>| Time|spread(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 26.0|</span></span>
<span class="line"><span>+-----------------------------+-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-21-zscore" tabindex="-1"><a class="header-anchor" href="#_3-21-zscore"><span>3.21 ZScore</span></a></h3><h4 id="registration-statement-24" tabindex="-1"><a class="header-anchor" href="#registration-statement-24"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> zscore</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dprofile.UDTFZScore&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-24" tabindex="-1"><a class="header-anchor" href="#usage-24"><span>Usage</span></a></h4><p>This function is used to standardize the input series with z-score.</p><p><strong>Name:</strong> ZSCORE</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>compute</code>: When set to &quot;batch&quot;, anomaly test is conducted after importing all data points; when set to &quot;stream&quot;, it is required to provide mean and standard deviation. The default method is &quot;batch&quot;.</li><li><code>avg</code>: Mean value when method is set to &quot;stream&quot;.</li><li><code>sd</code>: Standard deviation when method is set to &quot;stream&quot;.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE.</p><h4 id="examples-24" tabindex="-1"><a class="header-anchor" href="#examples-24"><span>Examples</span></a></h4><h5 id="batch-computing-2" tabindex="-1"><a class="header-anchor" href="#batch-computing-2"><span>Batch computing</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> zscore(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>| Time|zscore(root.test.s1)|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| -0.6201736729460423|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -1.033622788243404|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 0.6201736729460423|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| -0.6201736729460423|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -0.6201736729460423|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 3.9277665953249348|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 0.6201736729460423|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| -1.033622788243404|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00|-0.20672455764868078|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_4-anomaly-detection" tabindex="-1"><a class="header-anchor" href="#_4-anomaly-detection"><span>4. Anomaly Detection</span></a></h2><h3 id="_4-1-iqr" tabindex="-1"><a class="header-anchor" href="#_4-1-iqr"><span>4.1 IQR</span></a></h3><h4 id="registration-statement-25" tabindex="-1"><a class="header-anchor" href="#registration-statement-25"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> iqr</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.anomaly.UDTFIQR&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-25" tabindex="-1"><a class="header-anchor" href="#usage-25"><span>Usage</span></a></h4><p>This function is used to detect anomalies based on IQR. Points distributing beyond 1.5 times IQR are selected.</p><p><strong>Name:</strong> IQR</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>method</code>: When set to &quot;batch&quot;, anomaly test is conducted after importing all data points; when set to &quot;stream&quot;, it is required to provide upper and lower quantiles. The default method is &quot;batch&quot;.</li><li><code>q1</code>: The lower quantile when method is set to &quot;stream&quot;.</li><li><code>q3</code>: The upper quantile when method is set to &quot;stream&quot;.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE.</p>`,161)),s("p",null,[a[64]||(a[64]=s("strong",null,"Note:",-1)),a[65]||(a[65]=n()),s("mjx-container",N,[(i(),l("svg",S,a[62]||(a[62]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D43C" d="M43 1Q26 1 26 10Q26 12 29 24Q34 43 39 45Q42 46 54 46H60Q120 46 136 53Q137 53 138 54Q143 56 149 77T198 273Q210 318 216 344Q286 624 286 626Q284 630 284 631Q274 637 213 637H193Q184 643 189 662Q193 677 195 680T209 683H213Q285 681 359 681Q481 681 487 683H497Q504 676 504 672T501 655T494 639Q491 637 471 637Q440 637 407 634Q393 631 388 623Q381 609 337 432Q326 385 315 341Q245 65 245 59Q245 52 255 50T307 46H339Q345 38 345 37T342 19Q338 6 332 0H316Q279 2 179 2Q143 2 113 2T65 2T43 1Z"></path></g><g data-mml-node="mi" transform="translate(504,0)"><path data-c="1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path></g><g data-mml-node="mi" transform="translate(1295,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(2331.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="msub" transform="translate(3387.6,0)"><g data-mml-node="mi"><path data-c="1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path></g><g data-mml-node="mn" transform="translate(824,-150) scale(0.707)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g></g><g data-mml-node="mo" transform="translate(4837.3,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="msub" transform="translate(5837.6,0)"><g data-mml-node="mi"><path data-c="1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path></g><g data-mml-node="mn" transform="translate(824,-150) scale(0.707)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g></g></g>',1)]))),a[63]||(a[63]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"I"),s("mi",null,"Q"),s("mi",null,"R"),s("mo",null,"="),s("msub",null,[s("mi",null,"Q"),s("mn",null,"3")]),s("mo",null,"−"),s("msub",null,[s("mi",null,"Q"),s("mn",null,"1")])])],-1))])]),a[134]||(a[134]=e(`<h4 id="examples-25" tabindex="-1"><a class="header-anchor" href="#examples-25"><span>Examples</span></a></h4><h5 id="batch-computing-3" tabindex="-1"><a class="header-anchor" href="#batch-computing-3"><span>Batch computing</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> iqr(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------+</span></span>
<span class="line"><span>| Time|iqr(root.test.s1)|</span></span>
<span class="line"><span>+-----------------------------+-----------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+-----------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-2-ksigma" tabindex="-1"><a class="header-anchor" href="#_4-2-ksigma"><span>4.2 KSigma</span></a></h3><h4 id="registration-statement-26" tabindex="-1"><a class="header-anchor" href="#registration-statement-26"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> ksigma</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.anomaly.UDTFKSigma&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-26" tabindex="-1"><a class="header-anchor" href="#usage-26"><span>Usage</span></a></h4><p>This function is used to detect anomalies based on the Dynamic K-Sigma Algorithm.<br> Within a sliding window, the input value with a deviation of more than k times the standard deviation from the average will be output as anomaly.</p><p><strong>Name:</strong> KSIGMA</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>k</code>: How many times to multiply on standard deviation to define anomaly, the default value is 3.</li><li><code>window</code>: The window size of Dynamic K-Sigma Algorithm, the default value is 10000.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is same as input series.</p><p><strong>Note:</strong> Only when is larger than 0, the anomaly detection will be performed. Otherwise, nothing will be output.</p><h4 id="examples-26" tabindex="-1"><a class="header-anchor" href="#examples-26"><span>Examples</span></a></h4><h5 id="assigning-k" tabindex="-1"><a class="header-anchor" href="#assigning-k"><span>Assigning k</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 50.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 150.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 200.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 200.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 200.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 200.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 200.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 200.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 150.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 50.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 0.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> ksigma(s1,</span><span style="color:#98C379;">&quot;k&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1.0&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------+</span></span>
<span class="line"><span>|Time |ksigma(root.test.d1.s1,&quot;k&quot;=&quot;3.0&quot;)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 50.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 50.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-3-lof" tabindex="-1"><a class="header-anchor" href="#_4-3-lof"><span>4.3 LOF</span></a></h3><h4 id="registration-statement-27" tabindex="-1"><a class="header-anchor" href="#registration-statement-27"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> LOF</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.anomaly.UDTFLOF&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-27" tabindex="-1"><a class="header-anchor" href="#usage-27"><span>Usage</span></a></h4><p>This function is used to detect density anomaly of time series. According to k-th distance calculation parameter and local outlier factor (lof) threshold, the function judges if a set of input values is an density anomaly, and a bool mark of anomaly values will be output.</p><p><strong>Name:</strong> LOF</p><p><strong>Input Series:</strong> Multiple input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>method</code>:assign a detection method. The default value is &quot;default&quot;, when input data has multiple dimensions. The alternative is &quot;series&quot;, when a input series will be transformed to high dimension.</li><li><code>k</code>:use the k-th distance to calculate lof. Default value is 3.</li><li><code>window</code>: size of window to split origin data points. Default value is 10000.</li><li><code>windowsize</code>:dimension that will be transformed into when method is &quot;series&quot;. The default value is 5.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE.</p><p><strong>Note:</strong> Incomplete rows will be ignored. They are neither calculated nor marked as anomaly.</p><h4 id="examples-27" tabindex="-1"><a class="header-anchor" href="#examples-27"><span>Examples</span></a></h4><h5 id="using-default-parameters" tabindex="-1"><a class="header-anchor" href="#using-default-parameters"><span>Using default parameters</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|root.test.d1.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 1.0| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| -1.0| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| -1.0| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0| null|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> lof(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;">&lt;</span><span style="color:#D19A66;">1000</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------+</span></span>
<span class="line"><span>| Time|lof(root.test.d1.s1, root.test.d1.s2)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 3.8274824267668244|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 3.0117631741126156|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 2.838155437762879|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 3.0117631741126156|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 2.73518261244453|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 2.371440975708148|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 2.73518261244453|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 1.7561416374270742|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="diagnosing-1d-timeseries" tabindex="-1"><a class="header-anchor" href="#diagnosing-1d-timeseries"><span>Diagnosing 1d timeseries</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 3.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 4.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 5.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 6.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 8.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 9.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 10.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 11.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 12.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| 13.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 14.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 15.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 16.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.700+08:00| 17.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.800+08:00| 18.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.900+08:00| 19.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 20.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> lof(s1, </span><span style="color:#98C379;">&quot;method&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;series&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;">&lt;</span><span style="color:#D19A66;">1000</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>| Time|lof(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 3.77777777777778|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 4.32727272727273|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 4.85714285714286|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 5.40909090909091|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 5.94999999999999|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 6.43243243243243|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 6.79999999999999|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 6.79999999999999|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 6.43243243243243|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 5.94999999999999|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| 5.40909090909091|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 4.85714285714286|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 4.32727272727273|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.600+08:00| 3.77777777777778|</span></span>
<span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-4-missdetect" tabindex="-1"><a class="header-anchor" href="#_4-4-missdetect"><span>4.4 MissDetect</span></a></h3><h4 id="registration-statement-28" tabindex="-1"><a class="header-anchor" href="#registration-statement-28"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> missdetect</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.anomaly.UDTFMissDetect&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-28" tabindex="-1"><a class="header-anchor" href="#usage-28"><span>Usage</span></a></h4><p>This function is used to detect missing anomalies.<br> In some datasets, missing values are filled by linear interpolation.<br> Thus, there are several long perfect linear segments.<br> By discovering these perfect linear segments,<br> missing anomalies are detected.</p><p><strong>Name:</strong> MISSDETECT</p><p><strong>Input Series:</strong> Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameter:</strong></p><p><code>error</code>: The minimum length of the detected missing anomalies, which is an integer greater than or equal to 10. By default, it is 10.</p><p><strong>Output Series:</strong> Output a single series. The type is BOOLEAN. Each data point which is miss anomaly will be labeled as true.</p><h4 id="examples-28" tabindex="-1"><a class="header-anchor" href="#examples-28"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2021-07-01T12:00:00.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:01.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:02.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:03.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:04.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:05.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:06.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:07.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:08.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:09.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:10.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:11.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:12.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:13.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:14.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:15.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:16.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:17.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:18.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:19.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:20.000+08:00| 1.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> missdetect(s2,</span><span style="color:#98C379;">&#39;minlen&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;10&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------+</span></span>
<span class="line"><span>| Time|missdetect(root.test.d2.s2, &quot;minlen&quot;=&quot;10&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------+</span></span>
<span class="line"><span>|2021-07-01T12:00:00.000+08:00| false|</span></span>
<span class="line"><span>|2021-07-01T12:00:01.000+08:00| false|</span></span>
<span class="line"><span>|2021-07-01T12:00:02.000+08:00| false|</span></span>
<span class="line"><span>|2021-07-01T12:00:03.000+08:00| false|</span></span>
<span class="line"><span>|2021-07-01T12:00:04.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:05.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:06.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:07.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:08.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:09.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:10.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:11.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:12.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:13.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:14.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:15.000+08:00| true|</span></span>
<span class="line"><span>|2021-07-01T12:00:16.000+08:00| false|</span></span>
<span class="line"><span>|2021-07-01T12:00:17.000+08:00| false|</span></span>
<span class="line"><span>|2021-07-01T12:00:18.000+08:00| false|</span></span>
<span class="line"><span>|2021-07-01T12:00:19.000+08:00| false|</span></span>
<span class="line"><span>|2021-07-01T12:00:20.000+08:00| false|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-5-range" tabindex="-1"><a class="header-anchor" href="#_4-5-range"><span>4.5 Range</span></a></h3><h4 id="registration-statement-29" tabindex="-1"><a class="header-anchor" href="#registration-statement-29"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> range</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.anomaly.UDTFRange&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-29" tabindex="-1"><a class="header-anchor" href="#usage-29"><span>Usage</span></a></h4><p>This function is used to detect range anomaly of time series. According to upper bound and lower bound parameters, the function judges if a input value is beyond range, aka range anomaly, and a new time series of anomaly will be output.</p><p><strong>Name:</strong> RANGE</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>lower_bound</code>:lower bound of range anomaly detection.</li><li><code>upper_bound</code>:upper bound of range anomaly detection.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input.</p><p><strong>Note:</strong> Only when <code>upper_bound</code> is larger than <code>lower_bound</code>, the anomaly detection will be performed. Otherwise, nothing will be output.</p><h4 id="examples-29" tabindex="-1"><a class="header-anchor" href="#examples-29"><span>Examples</span></a></h4><h5 id="assigning-lower-and-upper-bound" tabindex="-1"><a class="header-anchor" href="#assigning-lower-and-upper-bound"><span>Assigning Lower and Upper Bound</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> range</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">&quot;lower_bound&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;101.0&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;upper_bound&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;125.0&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span>
<span class="line"><span>|Time |range(root.test.d1.s1,&quot;lower_bound&quot;=&quot;101.0&quot;,&quot;upper_bound&quot;=&quot;125.0&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-6-twosidedfilter" tabindex="-1"><a class="header-anchor" href="#_4-6-twosidedfilter"><span>4.6 TwoSidedFilter</span></a></h3><h4 id="registration-statement-30" tabindex="-1"><a class="header-anchor" href="#registration-statement-30"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> twosidedfilter</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.anomaly.UDTFTwoSidedFilter&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-30" tabindex="-1"><a class="header-anchor" href="#usage-30"><span>Usage</span></a></h4><p>The function is used to filter anomalies of a numeric time series based on two-sided window detection.</p><p><strong>Name:</strong> TWOSIDEDFILTER</p><p><strong>Input Series:</strong> Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>Output Series:</strong> Output a single series. The type is the same as the input. It is the input without anomalies.</p><p><strong>Parameter:</strong></p><ul><li><p><code>len</code>: The size of the window, which is a positive integer. By default, it&#39;s 5. When <code>len</code>=3, the algorithm detects forward window and backward window with length 3 and calculates the outlierness of the current point.</p></li><li><p><code>threshold</code>: The threshold of outlierness, which is a floating number in (0,1). By default, it&#39;s 0.3. The strict standard of detecting anomalies is in proportion to the threshold.</p></li></ul><h4 id="examples-30" tabindex="-1"><a class="header-anchor" href="#examples-30"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2002.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1946.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 1958.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| 2012.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:04.000+08:00| 2051.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1898.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:06.000+08:00| 2014.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:07.000+08:00| 2052.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:08.000+08:00| 1935.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:09.000+08:00| 1901.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:10.000+08:00| 1972.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1969.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:12.000+08:00| 1984.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:13.000+08:00| 2018.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:37.000+08:00| 1484.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:38.000+08:00| 1055.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:39.000+08:00| 1050.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:05.000+08:00| 1023.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:06.000+08:00| 1056.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:07.000+08:00| 978.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:08.000+08:00| 1050.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:09.000+08:00| 1123.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:10.000+08:00| 1150.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:11.000+08:00| 1034.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:12.000+08:00| 950.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:13.000+08:00| 1059.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> TwoSidedFilter(s0, </span><span style="color:#98C379;">&#39;len&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;5&#39;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&#39;threshold&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;0.3&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2002.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1946.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| 1958.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| 2012.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:04.000+08:00| 2051.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1898.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:06.000+08:00| 2014.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:07.000+08:00| 2052.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:08.000+08:00| 1935.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:09.000+08:00| 1901.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:10.000+08:00| 1972.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1969.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:12.000+08:00| 1984.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:13.000+08:00| 2018.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:05.000+08:00| 1023.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:06.000+08:00| 1056.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:07.000+08:00| 978.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:08.000+08:00| 1050.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:09.000+08:00| 1123.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:10.000+08:00| 1150.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:11.000+08:00| 1034.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:12.000+08:00| 950.0|</span></span>
<span class="line"><span>|1970-01-01T08:01:13.000+08:00| 1059.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-7-outlier" tabindex="-1"><a class="header-anchor" href="#_4-7-outlier"><span>4.7 Outlier</span></a></h3><h4 id="registration-statement-31" tabindex="-1"><a class="header-anchor" href="#registration-statement-31"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> outlier</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.anomaly.UDTFOutlier&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-31" tabindex="-1"><a class="header-anchor" href="#usage-31"><span>Usage</span></a></h4><p>This function is used to detect distance-based outliers. For each point in the current window, if the number of its neighbors within the distance of neighbor distance threshold is less than the neighbor count threshold, the point in detected as an outlier.</p><p><strong>Name:</strong> OUTLIER</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><ul><li><code>r</code>:the neighbor distance threshold.</li><li><code>k</code>:the neighbor count threshold.</li><li><code>w</code>:the window size.</li><li><code>s</code>:the slide size.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input.</p><h4 id="examples-31" tabindex="-1"><a class="header-anchor" href="#examples-31"><span>Examples</span></a></h4><h5 id="assigning-parameters-of-queries" tabindex="-1"><a class="header-anchor" href="#assigning-parameters-of-queries"><span>Assigning Parameters of Queries</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>| Time|root.test.s1|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span>
<span class="line"><span>|2020-01-04T23:59:55.000+08:00| 56.0|</span></span>
<span class="line"><span>|2020-01-04T23:59:56.000+08:00| 55.1|</span></span>
<span class="line"><span>|2020-01-04T23:59:57.000+08:00| 54.2|</span></span>
<span class="line"><span>|2020-01-04T23:59:58.000+08:00| 56.3|</span></span>
<span class="line"><span>|2020-01-04T23:59:59.000+08:00| 59.0|</span></span>
<span class="line"><span>|2020-01-05T00:00:00.000+08:00| 60.0|</span></span>
<span class="line"><span>|2020-01-05T00:00:01.000+08:00| 60.5|</span></span>
<span class="line"><span>|2020-01-05T00:00:02.000+08:00| 64.5|</span></span>
<span class="line"><span>|2020-01-05T00:00:03.000+08:00| 69.0|</span></span>
<span class="line"><span>|2020-01-05T00:00:04.000+08:00| 64.2|</span></span>
<span class="line"><span>|2020-01-05T00:00:05.000+08:00| 62.3|</span></span>
<span class="line"><span>|2020-01-05T00:00:06.000+08:00| 58.0|</span></span>
<span class="line"><span>|2020-01-05T00:00:07.000+08:00| 58.9|</span></span>
<span class="line"><span>|2020-01-05T00:00:08.000+08:00| 52.0|</span></span>
<span class="line"><span>|2020-01-05T00:00:09.000+08:00| 62.3|</span></span>
<span class="line"><span>|2020-01-05T00:00:10.000+08:00| 61.0|</span></span>
<span class="line"><span>|2020-01-05T00:00:11.000+08:00| 64.2|</span></span>
<span class="line"><span>|2020-01-05T00:00:12.000+08:00| 61.8|</span></span>
<span class="line"><span>|2020-01-05T00:00:13.000+08:00| 64.0|</span></span>
<span class="line"><span>|2020-01-05T00:00:14.000+08:00| 63.0|</span></span>
<span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> outlier(s1,</span><span style="color:#98C379;">&quot;r&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;5.0&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;k&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;4&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;w&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;10&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;s&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;5&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span>
<span class="line"><span>| Time|outlier(root.test.s1,&quot;r&quot;=&quot;5.0&quot;,&quot;k&quot;=&quot;4&quot;,&quot;w&quot;=&quot;10&quot;,&quot;s&quot;=&quot;5&quot;)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-05T00:00:03.000+08:00| 69.0|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-05T00:00:08.000+08:00| 52.0|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-8-mastertrain" tabindex="-1"><a class="header-anchor" href="#_4-8-mastertrain"><span>4.8 MasterTrain</span></a></h3><h4 id="usage-32" tabindex="-1"><a class="header-anchor" href="#usage-32"><span>Usage</span></a></h4><p>This function is used to train the VAR model based on master data. The model is trained on learning samples consisting of p+1 consecutive non-error points.</p><p><strong>Name:</strong> MasterTrain</p><p><strong>Input Series:</strong> Support multiple input series. The types are are in INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>p</code>: The order of the model.</li><li><code>eta</code>: The distance threshold. By default, it will be estimated based on the 3-sigma rule.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input.</p><p><strong>Installation</strong></p><ul><li>Install IoTDB from branch <code>research/master-detector</code>.</li><li>Run <code>mvn spotless:apply</code>.</li><li>Run <code>mvn clean package -pl library-udf -DskipTests -am -P get-jar-with-dependencies</code>.</li><li>Copy <code>./library-UDF/target/library-udf-1.2.0-SNAPSHOT-jar-with-dependencies.jar</code> to <code>./ext/udf/</code>.</li><li>Start IoTDB server and run <code>create function MasterTrain as &#39;org.apache.iotdb.library.anomaly.UDTFMasterTrain&#39;</code> in client.</li></ul><h4 id="examples-32" tabindex="-1"><a class="header-anchor" href="#examples-32"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+</span></span>
<span class="line"><span>| Time|root.test.lo|root.test.la|root.test.m_la|root.test.m_lo|</span></span>
<span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 39.99982556| 116.327274| 116.3271939| 39.99984748|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 39.99983865| 116.327305| 116.3272269| 39.99984748|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 40.00019038| 116.3273291| 116.3272634| 39.99984769|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 39.99982556| 116.327342| 116.3273015| 39.9998483|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 39.99982991| 116.3273744| 116.327339| 39.99984892|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 39.99982716| 116.3274117| 116.3273759| 39.99984892|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 39.9998259| 116.3274396| 116.3274163| 39.99984953|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 39.99982597| 116.3274668| 116.3274525| 39.99985014|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 39.99982226| 116.3275026| 116.3274915| 39.99985076|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.010+08:00| 39.99980988| 116.3274967| 116.3275235| 39.99985137|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.011+08:00| 39.99984873| 116.3274929| 116.3275611| 39.99985199|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.012+08:00| 39.99981589| 116.3274745| 116.3275974| 39.9998526|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.013+08:00| 39.9998259| 116.3275095| 116.3276338| 39.99985384|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.014+08:00| 39.99984873| 116.3274787| 116.3276695| 39.99985446|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.015+08:00| 39.9998343| 116.3274693| 116.3277045| 39.99985569|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.016+08:00| 39.99983316| 116.3274941| 116.3277389| 39.99985631|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.017+08:00| 39.99983311| 116.3275401| 116.3277747| 39.99985693|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.018+08:00| 39.99984113| 116.3275713| 116.3278041| 39.99985756|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.019+08:00| 39.99983602| 116.3276003| 116.3278379| 39.99985818|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.020+08:00| 39.9998355| 116.3276308| 116.3278723| 39.9998588|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.021+08:00| 40.00012176| 116.3276107| 116.3279026| 39.99985942|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.022+08:00| 39.9998404| 116.3276684| null| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.023+08:00| 39.99983942| 116.3277016| null| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.024+08:00| 39.99984113| 116.3277284| null| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.025+08:00| 39.99984283| 116.3277562| null| null|</span></span>
<span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> MasterTrain(lo,la,m_lo,m_la,</span><span style="color:#98C379;">&#39;p&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;3&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;eta&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;1.0&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|MasterTrain(root.test.lo, root.test.la, root.test.m_lo, root.test.m_la, &quot;p&quot;=&quot;3&quot;, &quot;eta&quot;=&quot;1.0&quot;)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.13656607660463288|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 0.8291884323013894|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 0.05012816073171693|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| -0.5495287787485761|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 0.03740486307345578|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 1.0500132150475212|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 0.04583944643116993|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| -0.07863708480736269|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-9-masterdetect" tabindex="-1"><a class="header-anchor" href="#_4-9-masterdetect"><span>4.9 MasterDetect</span></a></h3><h4 id="usage-33" tabindex="-1"><a class="header-anchor" href="#usage-33"><span>Usage</span></a></h4><p>This function is used to detect time series and repair errors based on master data. The VAR model is trained by MasterTrain.</p><p><strong>Name:</strong> MasterDetect</p><p><strong>Input Series:</strong> Support multiple input series. The types are are in INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>p</code>: The order of the model.</li><li><code>k</code>: The number of neighbors in master data. It is a positive integer. By default, it will be estimated according to the tuple distance of the k-th nearest neighbor in the master data.</li><li><code>eta</code>: The distance threshold. By default, it will be estimated based on the 3-sigma rule.</li><li><code>eta</code>: The detection threshold. By default, it will be estimated based on the 3-sigma rule.</li><li><code>output_type</code>: The type of output. &#39;repair&#39; for repairing and &#39;anomaly&#39; for anomaly detection.</li><li><code>output_column</code>: The repaired column to output, defaults to 1 which means output the repair result of the first column.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input.</p><p><strong>Installation</strong></p><ul><li>Install IoTDB from branch <code>research/master-detector</code>.</li><li>Run <code>mvn spotless:apply</code>.</li><li>Run <code>mvn clean package -pl library-udf -DskipTests -am -P get-jar-with-dependencies</code>.</li><li>Copy <code>./library-UDF/target/library-udf-1.2.0-SNAPSHOT-jar-with-dependencies.jar</code> to <code>./ext/udf/</code>.</li><li>Start IoTDB server and run <code>create function MasterDetect as &#39;org.apache.iotdb.library.anomaly.UDTFMasterDetect&#39;</code> in client.</li></ul><h4 id="examples-33" tabindex="-1"><a class="header-anchor" href="#examples-33"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+--------------------+</span></span>
<span class="line"><span>| Time|root.test.lo|root.test.la|root.test.m_la|root.test.m_lo| root.test.model|</span></span>
<span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+--------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 39.99982556| 116.327274| 116.3271939| 39.99984748| 0.13656607660463288|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 39.99983865| 116.327305| 116.3272269| 39.99984748| 0.8291884323013894|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 40.00019038| 116.3273291| 116.3272634| 39.99984769| 0.05012816073171693|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 39.99982556| 116.327342| 116.3273015| 39.9998483| -0.5495287787485761|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 39.99982991| 116.3273744| 116.327339| 39.99984892| 0.03740486307345578|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 39.99982716| 116.3274117| 116.3273759| 39.99984892| 1.0500132150475212|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 39.9998259| 116.3274396| 116.3274163| 39.99984953| 0.04583944643116993|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 39.99982597| 116.3274668| 116.3274525| 39.99985014|-0.07863708480736269|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 39.99982226| 116.3275026| 116.3274915| 39.99985076| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.010+08:00| 39.99980988| 116.3274967| 116.3275235| 39.99985137| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.011+08:00| 39.99984873| 116.3274929| 116.3275611| 39.99985199| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.012+08:00| 39.99981589| 116.3274745| 116.3275974| 39.9998526| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.013+08:00| 39.9998259| 116.3275095| 116.3276338| 39.99985384| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.014+08:00| 39.99984873| 116.3274787| 116.3276695| 39.99985446| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.015+08:00| 39.9998343| 116.3274693| 116.3277045| 39.99985569| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.016+08:00| 39.99983316| 116.3274941| 116.3277389| 39.99985631| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.017+08:00| 39.99983311| 116.3275401| 116.3277747| 39.99985693| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.018+08:00| 39.99984113| 116.3275713| 116.3278041| 39.99985756| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.019+08:00| 39.99983602| 116.3276003| 116.3278379| 39.99985818| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.020+08:00| 39.9998355| 116.3276308| 116.3278723| 39.9998588| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.021+08:00| 40.00012176| 116.3276107| 116.3279026| 39.99985942| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.022+08:00| 39.9998404| 116.3276684| null| null| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.023+08:00| 39.99983942| 116.3277016| null| null| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.024+08:00| 39.99984113| 116.3277284| null| null| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.025+08:00| 39.99984283| 116.3277562| null| null| null|</span></span>
<span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="repairing" tabindex="-1"><a class="header-anchor" href="#repairing"><span>Repairing</span></a></h5><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> MasterDetect(lo,la,m_lo,m_la,model,</span><span style="color:#98C379;">&#39;output_type&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;repair&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;p&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;3&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;k&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;3&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;eta&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;1.0&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|MasterDetect(lo,la,m_lo,m_la,model,&#39;output_type&#39;=&#39;repair&#39;,&#39;p&#39;=&#39;3&#39;,&#39;k&#39;=&#39;3&#39;,&#39;eta&#39;=&#39;1.0&#39;)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 116.327274|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 116.327305|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 116.3273291|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 116.327342|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 116.3273744|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 116.3274117|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 116.3274396|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 116.3274668|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 116.3275026|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.010+08:00| 116.3274967|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.011+08:00| 116.3274929|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.012+08:00| 116.3274745|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.013+08:00| 116.3275095|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.014+08:00| 116.3274787|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.015+08:00| 116.3274693|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.016+08:00| 116.3274941|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.017+08:00| 116.3275401|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.018+08:00| 116.3275713|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.019+08:00| 116.3276003|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.020+08:00| 116.3276308|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.021+08:00| 116.3276338|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.022+08:00| 116.3276684|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.023+08:00| 116.3277016|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.024+08:00| 116.3277284|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.025+08:00| 116.3277562|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="anomaly-detection" tabindex="-1"><a class="header-anchor" href="#anomaly-detection"><span>Anomaly Detection</span></a></h5><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> MasterDetect(lo,la,m_lo,m_la,model,</span><span style="color:#98C379;">&#39;output_type&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;anomaly&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;p&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;3&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;k&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;3&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;eta&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;1.0&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|MasterDetect(lo,la,m_lo,m_la,model,&#39;output_type&#39;=&#39;anomaly&#39;,&#39;p&#39;=&#39;3&#39;,&#39;k&#39;=&#39;3&#39;,&#39;eta&#39;=&#39;1.0&#39;)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| true|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| true|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.010+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.011+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.012+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.013+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.014+08:00| true|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.015+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.016+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.017+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.018+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.019+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.020+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.021+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.022+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.023+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.024+08:00| false|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.025+08:00| false|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_5-frequency-domain-analysis" tabindex="-1"><a class="header-anchor" href="#_5-frequency-domain-analysis"><span>5. Frequency Domain Analysis</span></a></h2><h3 id="_5-1-conv" tabindex="-1"><a class="header-anchor" href="#_5-1-conv"><span>5.1 Conv</span></a></h3><h4 id="registration-statement-32" tabindex="-1"><a class="header-anchor" href="#registration-statement-32"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> conv</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.frequency.UDTFConv&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-34" tabindex="-1"><a class="header-anchor" href="#usage-34"><span>Usage</span></a></h4><p>This function is used to calculate the convolution, i.e. polynomial multiplication.</p><p><strong>Name:</strong> CONV</p><p><strong>Input:</strong> Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Output:</strong> Output a single series. The type is DOUBLE. It is the result of convolution whose timestamps starting from 0 only indicate the order.</p><p><strong>Note:</strong> <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-34" tabindex="-1"><a class="header-anchor" href="#examples-34"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s1|root.test.d2.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 1.0| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 1.0| null|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> conv(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------+</span></span>
<span class="line"><span>| Time|conv(root.test.d2.s1, root.test.d2.s2)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 2.0|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_5-2-deconv" tabindex="-1"><a class="header-anchor" href="#_5-2-deconv"><span>5.2 Deconv</span></a></h3><h4 id="registration-statement-33" tabindex="-1"><a class="header-anchor" href="#registration-statement-33"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> deconv</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.frequency.UDTFDeconv&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-35" tabindex="-1"><a class="header-anchor" href="#usage-35"><span>Usage</span></a></h4><p>This function is used to calculate the deconvolution, i.e. polynomial division.</p><p><strong>Name:</strong> DECONV</p><p><strong>Input:</strong> Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>result</code>: The result of deconvolution, which is &#39;quotient&#39; or &#39;remainder&#39;. By default, the quotient will be output.</li></ul><p><strong>Output:</strong> Output a single series. The type is DOUBLE. It is the result of deconvolving the second series from the first series (dividing the first series by the second series) whose timestamps starting from 0 only indicate the order.</p><p><strong>Note:</strong> <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-35" tabindex="-1"><a class="header-anchor" href="#examples-35"><span>Examples</span></a></h4><h5 id="calculate-the-quotient" tabindex="-1"><a class="header-anchor" href="#calculate-the-quotient"><span>Calculate the quotient</span></a></h5><p>When <code>result</code> is &#39;quotient&#39; or the default, this function calculates the quotient of the deconvolution.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s3|root.test.d2.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 8.0| 7.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 2.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 7.0| null|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 2.0| null|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> deconv(s3,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------+</span></span>
<span class="line"><span>| Time|deconv(root.test.d2.s3, root.test.d2.s2)|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 1.0|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="calculate-the-remainder" tabindex="-1"><a class="header-anchor" href="#calculate-the-remainder"><span>Calculate the remainder</span></a></h5><p>When <code>result</code> is &#39;remainder&#39;, this function calculates the remainder of the deconvolution.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> deconv(s3,s2,</span><span style="color:#98C379;">&#39;result&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;remainder&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|deconv(root.test.d2.s3, root.test.d2.s2, &quot;result&quot;=&quot;remainder&quot;)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_5-3-dwt" tabindex="-1"><a class="header-anchor" href="#_5-3-dwt"><span>5.3 DWT</span></a></h3><h4 id="registration-statement-34" tabindex="-1"><a class="header-anchor" href="#registration-statement-34"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> dwt</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.frequency.UDTFDWT&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-36" tabindex="-1"><a class="header-anchor" href="#usage-36"><span>Usage</span></a></h4><p>This function is used to calculate 1d discrete wavelet transform of a numerical series.</p><p><strong>Name:</strong> DWT</p><p><strong>Input:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p>`,211)),s("ul",null,[a[71]||(a[71]=s("li",null,[s("code",null,"method"),n(": The type of wavelet. May select 'Haar', 'DB4', 'DB6', 'DB8', where DB means Daubechies. User may offer coefficients of wavelet transform and ignore this parameter. Case ignored.")],-1)),a[72]||(a[72]=s("li",null,[s("code",null,"coef"),n(": Coefficients of wavelet transform. When providing this parameter, use comma ',' to split them, and leave no spaces or other punctuations.")],-1)),s("li",null,[a[68]||(a[68]=s("code",null,"layer",-1)),a[69]||(a[69]=n(": Times to transform. The number of output vectors equals ")),s("mjx-container",E,[(i(),l("svg",U,a[66]||(a[66]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D459" d="M117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59Z"></path></g><g data-mml-node="mi" transform="translate(298,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g><g data-mml-node="mi" transform="translate(827,0)"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1317,0)"><path data-c="1D452" d="M39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353Z"></path></g><g data-mml-node="mi" transform="translate(1783,0)"><path data-c="1D45F" d="M21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q161 442 183 430T214 408T225 388Q227 382 228 382T236 389Q284 441 347 441H350Q398 441 422 400Q430 381 430 363Q430 333 417 315T391 292T366 288Q346 288 334 299T322 328Q322 376 378 392Q356 405 342 405Q286 405 239 331Q229 315 224 298T190 165Q156 25 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2456.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(3456.4,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g></g>',1)]))),a[67]||(a[67]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"l"),s("mi",null,"a"),s("mi",null,"y"),s("mi",null,"e"),s("mi",null,"r"),s("mo",null,"+"),s("mn",null,"1")])],-1))]),a[70]||(a[70]=n(". Default is 1."))])]),a[135]||(a[135]=e(`<p><strong>Output:</strong> Output a single series. The type is DOUBLE. The length is the same as the input.</p><p><strong>Note:</strong> The length of input series must be an integer number power of 2.</p><h4 id="examples-36" tabindex="-1"><a class="header-anchor" href="#examples-36"><span>Examples</span></a></h4><h5 id="haar-wavelet-transform" tabindex="-1"><a class="header-anchor" href="#haar-wavelet-transform"><span>Haar wavelet transform</span></a></h5><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 1.5|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 0.6|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 1.7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.5|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 2.1|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 1.8|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| 1.2|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| 1.6|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> dwt(s1,</span><span style="color:#98C379;">&quot;method&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;haar&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------+</span></span>
<span class="line"><span>| Time|dwt(root.test.d1.s1, &quot;method&quot;=&quot;haar&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.14142135834465192|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.100+08:00| 1.909188342921157|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.200+08:00| 1.6263456473052773|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.9798989957517026|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.400+08:00| 3.252691126023161|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.500+08:00| 1.414213562373095|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.600+08:00| 2.1213203435596424|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.700+08:00| 1.8384776479437628|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.800+08:00| -0.14142135834465192|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.21213200063848547|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| -0.7778174761639416|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.100+08:00| -0.8485281289944873|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.200+08:00| 0.2828427799095765|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.414213562373095|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.400+08:00| 0.42426400127697095|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.500+08:00| -0.42426408557066786|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_5-4-fft" tabindex="-1"><a class="header-anchor" href="#_5-4-fft"><span>5.4 FFT</span></a></h3><h4 id="registration-statement-35" tabindex="-1"><a class="header-anchor" href="#registration-statement-35"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> fft</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.frequency.UDTFFFT&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-37" tabindex="-1"><a class="header-anchor" href="#usage-37"><span>Usage</span></a></h4><p>This function is used to calculate the fast Fourier transform (FFT) of a numerical series.</p><p><strong>Name:</strong> FFT</p><p><strong>Input:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>method</code>: The type of FFT, which is &#39;uniform&#39; (by default) or &#39;nonuniform&#39;. If the value is &#39;uniform&#39;, the timestamps will be ignored and all data points will be regarded as equidistant. Thus, the equidistant fast Fourier transform algorithm will be applied. If the value is &#39;nonuniform&#39; (TODO), the non-equidistant fast Fourier transform algorithm will be applied based on timestamps.</li><li><code>result</code>: The result of FFT, which is &#39;real&#39;, &#39;imag&#39;, &#39;abs&#39; or &#39;angle&#39;, corresponding to the real part, imaginary part, magnitude and phase angle. By default, the magnitude will be output.</li><li><code>compress</code>: The parameter of compression, which is within (0,1]. It is the reserved energy ratio of lossy compression. By default, there is no compression.</li></ul><p><strong>Output:</strong> Output a single series. The type is DOUBLE. The length is the same as the input. The timestamps starting from 0 only indicate the order.</p><p><strong>Note:</strong> <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-37" tabindex="-1"><a class="header-anchor" href="#examples-37"><span>Examples</span></a></h4><h5 id="uniform-fft" tabindex="-1"><a class="header-anchor" href="#uniform-fft"><span>Uniform FFT</span></a></h5><p>With the default <code>type</code>, uniform FFT is applied.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| -2.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| -1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:04.000+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:06.000+08:00| 0.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:07.000+08:00| -1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:08.000+08:00| -0.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:09.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:10.000+08:00| 0.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:12.000+08:00| -0.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:13.000+08:00| -1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:14.000+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:15.000+08:00| 1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:16.000+08:00| 2.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:18.000+08:00| -2.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:19.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> fft(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------+</span></span>
<span class="line"><span>| Time| fft(root.test.d1.s1)|</span></span>
<span class="line"><span>+-----------------------------+----------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.2727111142703152E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 2.385520799101839E-7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 8.723291723972645E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 19.999999960195904|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 9.999999850988388|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 3.2260694930700566E-7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 8.723291605373329E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 1.108657103979944E-7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 1.2727110997246171E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.010+08:00|1.9852334701272664E-23|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.011+08:00| 1.2727111194499847E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.012+08:00| 1.108657103979944E-7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.013+08:00| 8.723291785769131E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.014+08:00| 3.226069493070057E-7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.015+08:00| 9.999999850988388|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.016+08:00| 19.999999960195904|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.017+08:00| 8.723291747109068E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.018+08:00| 2.3855207991018386E-7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.019+08:00| 1.2727112069910878E-8|</span></span>
<span class="line"><span>+-----------------------------+----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,30)),s("p",null,[a[79]||(a[79]=n("Note: The input is ")),s("mjx-container",R,[(i(),l("svg",_,a[73]||(a[73]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(1823.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2292.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2637.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3237.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3626.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4126.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(4696.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5057.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(5557.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(6057.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6668.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(7669,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(8169,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(8638,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(8983,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(9583,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(9972,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(10472,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(11042,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(11403,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(11903,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(12403,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g>',1)]))),a[74]||(a[74]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"4"),s("mo",{stretchy:"false"},")"),s("mo",null,"+"),s("mn",null,"2"),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"5"),s("mo",{stretchy:"false"},")")])],-1))]),a[80]||(a[80]=n(" with a length of 20. Thus, there are peaks in ")),s("mjx-container",j,[(i(),l("svg",P,a[75]||(a[75]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D458" d="M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z"></path></g><g data-mml-node="mo" transform="translate(798.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1854.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g></g></g>',1)]))),a[76]||(a[76]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"k"),s("mo",null,"="),s("mn",null,"4")])],-1))]),a[81]||(a[81]=n(" and ")),s("mjx-container",W,[(i(),l("svg",z,a[77]||(a[77]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D458" d="M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z"></path></g><g data-mml-node="mo" transform="translate(798.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1854.6,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g></g></g>',1)]))),a[78]||(a[78]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"k"),s("mo",null,"="),s("mn",null,"5")])],-1))]),a[82]||(a[82]=n(" of the output."))]),a[136]||(a[136]=e(`<h5 id="uniform-fft-with-compression" tabindex="-1"><a class="header-anchor" href="#uniform-fft-with-compression"><span>Uniform FFT with Compression</span></a></h5><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> fft(s1, </span><span style="color:#98C379;">&#39;result&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;real&#39;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&#39;compress&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;0.99&#39;</span><span style="color:#ABB2BF;">), fft(s1, </span><span style="color:#98C379;">&#39;result&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;imag&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;compress&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;0.99&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span>
<span class="line"><span>| Time| fft(root.test.d1.s1,| fft(root.test.d1.s1,|</span></span>
<span class="line"><span>| | &quot;result&quot;=&quot;real&quot;,| &quot;result&quot;=&quot;imag&quot;,|</span></span>
<span class="line"><span>| | &quot;compress&quot;=&quot;0.99&quot;)| &quot;compress&quot;=&quot;0.99&quot;)|</span></span>
<span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| -3.932894010461041E-9| 1.2104201863039066E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00|-1.4021739447490164E-7| 1.9299268669082926E-7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| -7.057291240286645E-8| 5.127422242345858E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 19.021130288047125| -6.180339875198807|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 9.999999850988388| 3.501852745067114E-16|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.019+08:00| -3.932894898639461E-9|-1.2104202549376264E-8|</span></span>
<span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Note: Based on the conjugation of the Fourier transform result, only the first half of the compression result is reserved.<br> According to the given parameter, data points are reserved from low frequency to high frequency until the reserved energy ratio exceeds it.<br> The last data point is reserved to indicate the length of the series.</p><h3 id="_5-5-highpass" tabindex="-1"><a class="header-anchor" href="#_5-5-highpass"><span>5.5 HighPass</span></a></h3><h4 id="registration-statement-36" tabindex="-1"><a class="header-anchor" href="#registration-statement-36"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> highpass</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.frequency.UDTFHighPass&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-38" tabindex="-1"><a class="header-anchor" href="#usage-38"><span>Usage</span></a></h4><p>This function performs low-pass filtering on the input series and extracts components above the cutoff frequency.<br> The timestamps of input will be ignored and all data points will be regarded as equidistant.</p><p><strong>Name:</strong> HIGHPASS</p><p><strong>Input:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>wpass</code>: The normalized cutoff frequency which values (0,1). This parameter cannot be lacked.</li></ul><p><strong>Output:</strong> Output a single series. The type is DOUBLE. It is the input after filtering. The length and timestamps of output are the same as the input.</p><p><strong>Note:</strong> <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-38" tabindex="-1"><a class="header-anchor" href="#examples-38"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| -2.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| -1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:04.000+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:06.000+08:00| 0.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:07.000+08:00| -1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:08.000+08:00| -0.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:09.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:10.000+08:00| 0.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:12.000+08:00| -0.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:13.000+08:00| -1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:14.000+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:15.000+08:00| 1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:16.000+08:00| 2.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:18.000+08:00| -2.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:19.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> highpass(s1,</span><span style="color:#98C379;">&#39;wpass&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;0.45&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------------------+</span></span>
<span class="line"><span>| Time|highpass(root.test.d1.s1, &quot;wpass&quot;=&quot;0.45&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.9999999534830373|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.7462829277628608E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| -0.9999999593178128|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| -4.1115269056426626E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:04.000+08:00| 0.9999999925494194|</span></span>
<span class="line"><span>|1970-01-01T08:00:05.000+08:00| 3.328126513330016E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:06.000+08:00| -1.0000000183304454|</span></span>
<span class="line"><span>|1970-01-01T08:00:07.000+08:00| 6.260191433311374E-10|</span></span>
<span class="line"><span>|1970-01-01T08:00:08.000+08:00| 1.0000000018134796|</span></span>
<span class="line"><span>|1970-01-01T08:00:09.000+08:00| -3.097210911744423E-17|</span></span>
<span class="line"><span>|1970-01-01T08:00:10.000+08:00| -1.0000000018134794|</span></span>
<span class="line"><span>|1970-01-01T08:00:11.000+08:00| -6.260191627862097E-10|</span></span>
<span class="line"><span>|1970-01-01T08:00:12.000+08:00| 1.0000000183304454|</span></span>
<span class="line"><span>|1970-01-01T08:00:13.000+08:00| -3.328126501424346E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:14.000+08:00| -0.9999999925494196|</span></span>
<span class="line"><span>|1970-01-01T08:00:15.000+08:00| 4.111526915498874E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:16.000+08:00| 0.9999999593178128|</span></span>
<span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.7462829341296528E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:18.000+08:00| -0.9999999534830369|</span></span>
<span class="line"><span>|1970-01-01T08:00:19.000+08:00| -1.035237222742873E-16|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,24)),s("p",null,[a[87]||(a[87]=n("Note: The input is ")),s("mjx-container",G,[(i(),l("svg",J,a[83]||(a[83]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(1823.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2292.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2637.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3237.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3626.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4126.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(4696.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5057.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(5557.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(6057.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6668.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(7669,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(8169,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(8638,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(8983,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(9583,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(9972,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(10472,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(11042,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(11403,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(11903,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(12403,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g>',1)]))),a[84]||(a[84]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"4"),s("mo",{stretchy:"false"},")"),s("mo",null,"+"),s("mn",null,"2"),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"5"),s("mo",{stretchy:"false"},")")])],-1))]),a[88]||(a[88]=n(" with a length of 20. Thus, the output is ")),s("mjx-container",X,[(i(),l("svg",K,a[85]||(a[85]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(1823.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2292.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2637.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3237.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3626.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4126.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(4696.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5057.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(5557.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(6057.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g>',1)]))),a[86]||(a[86]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"4"),s("mo",{stretchy:"false"},")")])],-1))]),a[89]||(a[89]=n(" after high-pass filtering."))]),a[137]||(a[137]=e(`<h3 id="_5-6-ifft" tabindex="-1"><a class="header-anchor" href="#_5-6-ifft"><span>5.6 IFFT</span></a></h3><h4 id="registration-statement-37" tabindex="-1"><a class="header-anchor" href="#registration-statement-37"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> ifft</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.frequency.UDTFIFFT&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-39" tabindex="-1"><a class="header-anchor" href="#usage-39"><span>Usage</span></a></h4><p>This function treats the two input series as the real and imaginary part of a complex series, performs an inverse fast Fourier transform (IFFT), and outputs the real part of the result.<br> For the input format, please refer to the output format of <code>FFT</code> function.<br> Moreover, the compressed output of <code>FFT</code> function is also supported.</p><p><strong>Name:</strong> IFFT</p><p><strong>Input:</strong> Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>start</code>: The start time of the output series with the format &#39;yyyy-MM-dd HH:mm:ss&#39;. By default, it is &#39;1970-01-01 08:00:00&#39;.</li><li><code>interval</code>: The interval of the output series, which is a positive number with an unit. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. By default, it is 1s.</li></ul><p><strong>Output:</strong> Output a single series. The type is DOUBLE. It is strictly equispaced. The values are the results of IFFT.</p><p><strong>Note:</strong> If a row contains null points or <code>NaN</code>, it will be ignored.</p><h4 id="examples-39" tabindex="-1"><a class="header-anchor" href="#examples-39"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span>
<span class="line"><span>| Time| root.test.d1.re| root.test.d1.im|</span></span>
<span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| -3.932894010461041E-9| 1.2104201863039066E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00|-1.4021739447490164E-7| 1.9299268669082926E-7|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| -7.057291240286645E-8| 5.127422242345858E-8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 19.021130288047125| -6.180339875198807|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 9.999999850988388| 3.501852745067114E-16|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.019+08:00| -3.932894898639461E-9|-1.2104202549376264E-8|</span></span>
<span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> ifft(re, im, </span><span style="color:#98C379;">&#39;interval&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;1m&#39;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&#39;start&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;2021-01-01 00:00:00&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span>
<span class="line"><span>| Time|ifft(root.test.d1.re, root.test.d1.im, &quot;interval&quot;=&quot;1m&quot;,|</span></span>
<span class="line"><span>| | &quot;start&quot;=&quot;2021-01-01 00:00:00&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span>
<span class="line"><span>|2021-01-01T00:00:00.000+08:00| 2.902112992431231|</span></span>
<span class="line"><span>|2021-01-01T00:01:00.000+08:00| 1.1755704705132448|</span></span>
<span class="line"><span>|2021-01-01T00:02:00.000+08:00| -2.175570513757101|</span></span>
<span class="line"><span>|2021-01-01T00:03:00.000+08:00| -1.9021130389094498|</span></span>
<span class="line"><span>|2021-01-01T00:04:00.000+08:00| 0.9999999925494194|</span></span>
<span class="line"><span>|2021-01-01T00:05:00.000+08:00| 1.902113046743454|</span></span>
<span class="line"><span>|2021-01-01T00:06:00.000+08:00| 0.17557053610884188|</span></span>
<span class="line"><span>|2021-01-01T00:07:00.000+08:00| -1.1755704886020932|</span></span>
<span class="line"><span>|2021-01-01T00:08:00.000+08:00| -0.9021130371347148|</span></span>
<span class="line"><span>|2021-01-01T00:09:00.000+08:00| 3.552713678800501E-16|</span></span>
<span class="line"><span>|2021-01-01T00:10:00.000+08:00| 0.9021130371347154|</span></span>
<span class="line"><span>|2021-01-01T00:11:00.000+08:00| 1.1755704886020932|</span></span>
<span class="line"><span>|2021-01-01T00:12:00.000+08:00| -0.17557053610884144|</span></span>
<span class="line"><span>|2021-01-01T00:13:00.000+08:00| -1.902113046743454|</span></span>
<span class="line"><span>|2021-01-01T00:14:00.000+08:00| -0.9999999925494196|</span></span>
<span class="line"><span>|2021-01-01T00:15:00.000+08:00| 1.9021130389094498|</span></span>
<span class="line"><span>|2021-01-01T00:16:00.000+08:00| 2.1755705137571004|</span></span>
<span class="line"><span>|2021-01-01T00:17:00.000+08:00| -1.1755704705132448|</span></span>
<span class="line"><span>|2021-01-01T00:18:00.000+08:00| -2.902112992431231|</span></span>
<span class="line"><span>|2021-01-01T00:19:00.000+08:00| -3.552713678800501E-16|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_5-7-lowpass" tabindex="-1"><a class="header-anchor" href="#_5-7-lowpass"><span>5.7 LowPass</span></a></h3><h4 id="registration-statement-38" tabindex="-1"><a class="header-anchor" href="#registration-statement-38"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> lowpass</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.frequency.UDTFLowPass&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-40" tabindex="-1"><a class="header-anchor" href="#usage-40"><span>Usage</span></a></h4><p>This function performs low-pass filtering on the input series and extracts components below the cutoff frequency.<br> The timestamps of input will be ignored and all data points will be regarded as equidistant.</p><p><strong>Name:</strong> LOWPASS</p><p><strong>Input:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>wpass</code>: The normalized cutoff frequency which values (0,1). This parameter cannot be lacked.</li></ul><p><strong>Output:</strong> Output a single series. The type is DOUBLE. It is the input after filtering. The length and timestamps of output are the same as the input.</p><p><strong>Note:</strong> <code>NaN</code> in the input series will be ignored.</p><h4 id="examples-40" tabindex="-1"><a class="header-anchor" href="#examples-40"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| -2.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| -1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:04.000+08:00| 1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:06.000+08:00| 0.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:07.000+08:00| -1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:08.000+08:00| -0.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:09.000+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:10.000+08:00| 0.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:12.000+08:00| -0.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:13.000+08:00| -1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:14.000+08:00| -1.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:15.000+08:00| 1.9021131|</span></span>
<span class="line"><span>|1970-01-01T08:00:16.000+08:00| 2.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.1755705|</span></span>
<span class="line"><span>|1970-01-01T08:00:18.000+08:00| -2.902113|</span></span>
<span class="line"><span>|1970-01-01T08:00:19.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> lowpass(s1,</span><span style="color:#98C379;">&#39;wpass&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;0.45&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------+</span></span>
<span class="line"><span>| Time|lowpass(root.test.d1.s1, &quot;wpass&quot;=&quot;0.45&quot;)|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 1.9021130073323922|</span></span>
<span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.1755704705132448|</span></span>
<span class="line"><span>|1970-01-01T08:00:02.000+08:00| -1.1755705286582614|</span></span>
<span class="line"><span>|1970-01-01T08:00:03.000+08:00| -1.9021130389094498|</span></span>
<span class="line"><span>|1970-01-01T08:00:04.000+08:00| 7.450580419288145E-9|</span></span>
<span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1.902113046743454|</span></span>
<span class="line"><span>|1970-01-01T08:00:06.000+08:00| 1.1755705212076808|</span></span>
<span class="line"><span>|1970-01-01T08:00:07.000+08:00| -1.1755704886020932|</span></span>
<span class="line"><span>|1970-01-01T08:00:08.000+08:00| -1.9021130222335536|</span></span>
<span class="line"><span>|1970-01-01T08:00:09.000+08:00| 3.552713678800501E-16|</span></span>
<span class="line"><span>|1970-01-01T08:00:10.000+08:00| 1.9021130222335536|</span></span>
<span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1.1755704886020932|</span></span>
<span class="line"><span>|1970-01-01T08:00:12.000+08:00| -1.1755705212076801|</span></span>
<span class="line"><span>|1970-01-01T08:00:13.000+08:00| -1.902113046743454|</span></span>
<span class="line"><span>|1970-01-01T08:00:14.000+08:00| -7.45058112983088E-9|</span></span>
<span class="line"><span>|1970-01-01T08:00:15.000+08:00| 1.9021130389094498|</span></span>
<span class="line"><span>|1970-01-01T08:00:16.000+08:00| 1.1755705286582616|</span></span>
<span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.1755704705132448|</span></span>
<span class="line"><span>|1970-01-01T08:00:18.000+08:00| -1.9021130073323924|</span></span>
<span class="line"><span>|1970-01-01T08:00:19.000+08:00| -2.664535259100376E-16|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,36)),s("p",null,[a[94]||(a[94]=n("Note: The input is ")),s("mjx-container",Y,[(i(),l("svg",$,a[90]||(a[90]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(1823.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2292.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2637.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3237.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3626.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4126.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(4696.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5057.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(5557.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(6057.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6668.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(7669,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(8169,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(8638,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(8983,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(9583,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(9972,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(10472,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(11042,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(11403,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(11903,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(12403,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g>',1)]))),a[91]||(a[91]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"4"),s("mo",{stretchy:"false"},")"),s("mo",null,"+"),s("mn",null,"2"),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"5"),s("mo",{stretchy:"false"},")")])],-1))]),a[95]||(a[95]=n(" with a length of 20. Thus, the output is ")),s("mjx-container",s0,[(i(),l("svg",a0,a[92]||(a[92]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1823.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(2323.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2792.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3137.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3737.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(4126.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4626.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(5196.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5557.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(6057.6,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(6557.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g>',1)]))),a[93]||(a[93]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"2"),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mo",null,"/")]),s("mn",null,"5"),s("mo",{stretchy:"false"},")")])],-1))]),a[96]||(a[96]=n(" after low-pass filtering."))]),a[138]||(a[138]=e(`<h2 id="_6-data-matching" tabindex="-1"><a class="header-anchor" href="#_6-data-matching"><span>6. Data Matching</span></a></h2><h3 id="_6-1-cov" tabindex="-1"><a class="header-anchor" href="#_6-1-cov"><span>6.1 Cov</span></a></h3><h4 id="registration-statement-39" tabindex="-1"><a class="header-anchor" href="#registration-statement-39"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> cov</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dmatch.UDAFCov&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-41" tabindex="-1"><a class="header-anchor" href="#usage-41"><span>Usage</span></a></h4><p>This function is used to calculate the population covariance.</p><p><strong>Name:</strong> COV</p><p><strong>Input Series:</strong> Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the population covariance.</p><p><strong>Note:</strong></p><ul><li>If a row contains missing points, null points or <code>NaN</code>, it will be ignored;</li><li>If all rows are ignored, <code>NaN</code> will be output.</li></ul><h4 id="examples-41" tabindex="-1"><a class="header-anchor" href="#examples-41"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s1|root.test.d2.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0| null|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0| 103.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:12.000+08:00| null| 103.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0| null|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0| 105.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0| 105.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 100.0| 106.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN| 108.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> cov(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------+</span></span>
<span class="line"><span>| Time|cov(root.test.d2.s1, root.test.d2.s2)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 12.291666666666666|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-2-dtw" tabindex="-1"><a class="header-anchor" href="#_6-2-dtw"><span>6.2 DTW</span></a></h3><h4 id="registration-statement-40" tabindex="-1"><a class="header-anchor" href="#registration-statement-40"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> dtw</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dmatch.UDAFDtw&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-42" tabindex="-1"><a class="header-anchor" href="#usage-42"><span>Usage</span></a></h4><p>This function is used to calculate the DTW distance between two input series.</p><p><strong>Name:</strong> DTW</p><p><strong>Input Series:</strong> Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the DTW distance.</p><p><strong>Note:</strong></p><ul><li>If a row contains missing points, null points or <code>NaN</code>, it will be ignored;</li><li>If all rows are ignored, <code>0</code> will be output.</li></ul><h4 id="examples-42" tabindex="-1"><a class="header-anchor" href="#examples-42"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s1|root.test.d2.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.010+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.011+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.012+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.013+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.014+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.015+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.016+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.017+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.018+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.019+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.020+08:00| 1.0| 2.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> dtw(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------+</span></span>
<span class="line"><span>| Time|dtw(root.test.d2.s1, root.test.d2.s2)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 20.0|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-3-pearson" tabindex="-1"><a class="header-anchor" href="#_6-3-pearson"><span>6.3 Pearson</span></a></h3><h4 id="registration-statement-41" tabindex="-1"><a class="header-anchor" href="#registration-statement-41"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> pearson</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dmatch.UDAFPearson&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-43" tabindex="-1"><a class="header-anchor" href="#usage-43"><span>Usage</span></a></h4><p>This function is used to calculate the Pearson Correlation Coefficient.</p><p><strong>Name:</strong> PEARSON</p><p><strong>Input Series:</strong> Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the Pearson Correlation Coefficient.</p><p><strong>Note:</strong></p><ul><li>If a row contains missing points, null points or <code>NaN</code>, it will be ignored;</li><li>If all rows are ignored, <code>NaN</code> will be output.</li></ul><h4 id="examples-43" tabindex="-1"><a class="header-anchor" href="#examples-43"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s1|root.test.d2.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0| null|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0| 103.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:12.000+08:00| null| 103.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0| null|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0| 105.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0| 105.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 100.0| 106.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN| 108.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pearson(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------------------+</span></span>
<span class="line"><span>| Time|pearson(root.test.d2.s1, root.test.d2.s2)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.5630881927754872|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-4-ptnsym" tabindex="-1"><a class="header-anchor" href="#_6-4-ptnsym"><span>6.4 PtnSym</span></a></h3><h4 id="registration-statement-42" tabindex="-1"><a class="header-anchor" href="#registration-statement-42"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> ptnsym</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dmatch.UDTFPtnSym&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-44" tabindex="-1"><a class="header-anchor" href="#usage-44"><span>Usage</span></a></h4><p>This function is used to find all symmetric subseries in the input whose degree of symmetry is less than the threshold.<br> The degree of symmetry is calculated by DTW.<br> The smaller the degree, the more symmetrical the series is.</p><p><strong>Name:</strong> PATTERNSYMMETRIC</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>Parameter:</strong></p><ul><li><code>window</code>: The length of the symmetric subseries. It&#39;s a positive integer and the default value is 10.</li><li><code>threshold</code>: The threshold of the degree of symmetry. It&#39;s non-negative. Only the subseries whose degree of symmetry is below it will be output. By default, all subseries will be output.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. Each data point in the output series corresponds to a symmetric subseries. The output timestamp is the starting timestamp of the subseries and the output value is the degree of symmetry.</p><h4 id="example" tabindex="-1"><a class="header-anchor" href="#example"><span>Example</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s4|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2021-01-01T12:00:00.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:01.000+08:00| 2.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:02.000+08:00| 3.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:03.000+08:00| 2.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:04.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:05.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:06.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:07.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:08.000+08:00| 2.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:09.000+08:00| 3.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:10.000+08:00| 2.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:11.000+08:00| 1.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> ptnsym(s4, </span><span style="color:#98C379;">&#39;window&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;5&#39;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&#39;threshold&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;0&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span>
<span class="line"><span>| Time|ptnsym(root.test.d1.s4, &quot;window&quot;=&quot;5&quot;, &quot;threshold&quot;=&quot;0&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span>
<span class="line"><span>|2021-01-01T12:00:00.000+08:00| 0.0|</span></span>
<span class="line"><span>|2021-01-01T12:00:07.000+08:00| 0.0|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-5-xcorr" tabindex="-1"><a class="header-anchor" href="#_6-5-xcorr"><span>6.5 XCorr</span></a></h3><h4 id="registration-statement-43" tabindex="-1"><a class="header-anchor" href="#registration-statement-43"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> xcorr</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dmatch.UDTFXCorr&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-45" tabindex="-1"><a class="header-anchor" href="#usage-45"><span>Usage</span></a></h4><p>This function is used to calculate the cross correlation function of given two time series.<br> For discrete time series, cross correlation is given by</p>`,74)),s("mjx-container",n0,[(i(),l("svg",e0,a[97]||(a[97]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(760,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(1519,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(1908,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2508,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(3174.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mfrac" transform="translate(4230.6,0)"><g data-mml-node="mn" transform="translate(414,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mi" transform="translate(220,-686)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><rect width="1088" height="60" x="120" y="220"></rect></g><g data-mml-node="munderover" transform="translate(5725.2,0)"><g data-mml-node="mo" transform="translate(40.3,0)"><path data-c="2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path></g><g data-mml-node="TeXAtom" transform="translate(0,-1087.9) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(878,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1656,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="mi" transform="translate(448.3,1150) scale(0.707)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g></g><g data-mml-node="msub" transform="translate(7416.4,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="mo" transform="translate(8466,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(8744,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(9622,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="msub" transform="translate(9900,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g></g><g data-mml-node="mo" transform="translate(10949.5,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(11227.5,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(12327.7,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(13328,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(13928,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g></g></g>',1)]))),a[98]||(a[98]=s("mjx-assistive-mml",{unselectable:"on",display:"block"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"C"),s("mi",null,"R"),s("mo",{stretchy:"false"},"("),s("mi",null,"n"),s("mo",{stretchy:"false"},")"),s("mo",null,"="),s("mfrac",null,[s("mn",null,"1"),s("mi",null,"N")]),s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"m"),s("mo",null,"="),s("mn",null,"1")]),s("mi",null,"N")]),s("msub",null,[s("mi",null,"S"),s("mn",null,"1")]),s("mo",{stretchy:"false"},"["),s("mi",null,"m"),s("mo",{stretchy:"false"},"]"),s("msub",null,[s("mi",null,"S"),s("mn",null,"2")]),s("mo",{stretchy:"false"},"["),s("mi",null,"m"),s("mo",null,"+"),s("mi",null,"n"),s("mo",{stretchy:"false"},"]")])],-1))]),a[139]||(a[139]=s("p",null,"which represent the similarities between two series with different index shifts.",-1)),a[140]||(a[140]=s("p",null,[s("strong",null,"Name:"),n(" XCORR")],-1)),a[141]||(a[141]=s("p",null,[s("strong",null,"Input Series:"),n(" Only support two input numeric series. The type is INT32 / INT64 / FLOAT / DOUBLE.")],-1)),s("p",null,[a[103]||(a[103]=s("strong",null,"Output Series:",-1)),a[104]||(a[104]=n(" Output a single series with DOUBLE as datatype.")),a[105]||(a[105]=s("br",null,null,-1)),a[106]||(a[106]=n(" There are ")),s("mjx-container",l0,[(i(),l("svg",i0,a[99]||(a[99]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mn"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(500,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(1610.2,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mn" transform="translate(2610.4,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g></g>',1)]))),a[100]||(a[100]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mn",null,"2"),s("mi",null,"N"),s("mo",null,"−"),s("mn",null,"1")])],-1))]),a[107]||(a[107]=n(" data points in the series, the center of which represents the cross correlation")),a[108]||(a[108]=s("br",null,null,-1)),a[109]||(a[109]=n(" calculated with pre-aligned series(that is ")),s("mjx-container",p0,[(i(),l("svg",t0,a[101]||(a[101]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(760,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(1519,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(1908,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path></g><g data-mml-node="mo" transform="translate(2408,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g>',1)]))),a[102]||(a[102]=s("mjx-assistive-mml",{unselectable:"on",display:"inline"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"C"),s("mi",null,"R"),s("mo",{stretchy:"false"},"("),s("mn",null,"0"),s("mo",{stretchy:"false"},")")])],-1))]),a[110]||(a[110]=n(" in the formula above),")),a[111]||(a[111]=s("br",null,null,-1)),a[112]||(a[112]=n(" and the previous(or post) values represent those with shifting the latter series forward(or backward otherwise)")),a[113]||(a[113]=s("br",null,null,-1)),a[114]||(a[114]=n(" until the two series are no longer overlapped(not included).")),a[115]||(a[115]=s("br",null,null,-1)),a[116]||(a[116]=n(" In short, the values of output series are given by(index starts from 1)"))]),s("mjx-container",r0,[(i(),l("svg",o0,a[117]||(a[117]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D442" d="M740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476Z"></path></g><g data-mml-node="mi" transform="translate(763,0)"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mo" transform="translate(1408,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(1686,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2031,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(2586.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(3642.6,0)"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(4402.6,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(5161.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mo" transform="translate(5550.6,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(6328.6,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(7438.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(8439,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(8784,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(9450.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mfrac" transform="translate(10506.6,0)"><g data-mml-node="mn" transform="translate(414,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mi" transform="translate(220,-686)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><rect width="1088" height="60" x="120" y="220"></rect></g><g data-mml-node="munderover" transform="translate(12001.2,0)"><g data-mml-node="mo" transform="translate(40.3,0)"><path data-c="2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path></g><g data-mml-node="TeXAtom" transform="translate(0,-1087.9) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(878,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1656,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="TeXAtom" transform="translate(640.3,1150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g></g></g><g data-mml-node="msub" transform="translate(13692.4,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="mo" transform="translate(14742,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(15020,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(15898,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="msub" transform="translate(16176,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g></g><g data-mml-node="mo" transform="translate(17225.5,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(17503.5,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(18613.7,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(19614,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(20181.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(21181.4,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(22059.4,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(22337.4,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mtext" transform="translate(22782.1,0)"><path data-c="A0" d=""></path></g><g data-mml-node="mi" transform="translate(23032.1,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(23377.1,0)"><path data-c="1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path></g><g data-mml-node="mtext" transform="translate(23927.1,0)"><path data-c="A0" d=""></path></g><g data-mml-node="mi" transform="translate(24177.1,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(24799.9,0)"><g data-mml-node="text"><path data-c="3C" d="M694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19Z"></path></g><g data-mml-node="text" transform="translate(778,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g></g><g data-mml-node="mi" transform="translate(26633.6,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g></g></g>',1)]))),a[118]||(a[118]=s("mjx-assistive-mml",{unselectable:"on",display:"block"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"O"),s("mi",null,"S"),s("mo",{stretchy:"false"},"["),s("mi",null,"i"),s("mo",{stretchy:"false"},"]"),s("mo",null,"="),s("mi",null,"C"),s("mi",null,"R"),s("mo",{stretchy:"false"},"("),s("mo",null,"−"),s("mi",null,"N"),s("mo",null,"+"),s("mi",null,"i"),s("mo",{stretchy:"false"},")"),s("mo",null,"="),s("mfrac",null,[s("mn",null,"1"),s("mi",null,"N")]),s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"m"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i")])]),s("msub",null,[s("mi",null,"S"),s("mn",null,"1")]),s("mo",{stretchy:"false"},"["),s("mi",null,"m"),s("mo",{stretchy:"false"},"]"),s("msub",null,[s("mi",null,"S"),s("mn",null,"2")]),s("mo",{stretchy:"false"},"["),s("mi",null,"N"),s("mo",null,"−"),s("mi",null,"i"),s("mo",null,"+"),s("mi",null,"m"),s("mo",{stretchy:"false"},"]"),s("mo",null,","),s("mtext",null," "),s("mi",null,"i"),s("mi",null,"f"),s("mtext",null," "),s("mi",null,"i"),s("mo",null,"<="),s("mi",null,"N")])],-1))]),s("mjx-container",d0,[(i(),l("svg",c0,a[119]||(a[119]=[e('<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D442" d="M740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476Z"></path></g><g data-mml-node="mi" transform="translate(763,0)"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mo" transform="translate(1408,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(1686,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2031,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(2586.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(3642.6,0)"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(4402.6,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(5161.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(5550.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(6117.8,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(7118,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(8006,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(8672.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mfrac" transform="translate(9728.6,0)"><g data-mml-node="mn" transform="translate(414,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mi" transform="translate(220,-686)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><rect width="1088" height="60" x="120" y="220"></rect></g><g data-mml-node="munderover" transform="translate(11223.2,0)"><g data-mml-node="mo" transform="translate(165.8,0)"><path data-c="2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path></g><g data-mml-node="TeXAtom" transform="translate(125.5,-1087.9) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(878,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1656,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="TeXAtom" transform="translate(0,1150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(500,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(1388,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(2166,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g></g></g><g data-mml-node="msub" transform="translate(13165.4,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="mo" transform="translate(14215,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(14493,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(15060.2,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(16060.4,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(17170.7,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(18170.9,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(19048.9,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="msub" transform="translate(19326.9,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g></g><g data-mml-node="mo" transform="translate(20376.4,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(20654.4,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(21532.4,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(21810.4,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mtext" transform="translate(22255.1,0)"><path data-c="A0" d=""></path></g><g data-mml-node="mi" transform="translate(22505.1,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(22850.1,0)"><path data-c="1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path></g><g data-mml-node="mtext" transform="translate(23400.1,0)"><path data-c="A0" d=""></path></g><g data-mml-node="mi" transform="translate(23650.1,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(24272.9,0)"><path data-c="3E" d="M84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520Z"></path></g><g data-mml-node="mi" transform="translate(25328.7,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g></g></g>',1)]))),a[120]||(a[120]=s("mjx-assistive-mml",{unselectable:"on",display:"block"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"O"),s("mi",null,"S"),s("mo",{stretchy:"false"},"["),s("mi",null,"i"),s("mo",{stretchy:"false"},"]"),s("mo",null,"="),s("mi",null,"C"),s("mi",null,"R"),s("mo",{stretchy:"false"},"("),s("mi",null,"i"),s("mo",null,"−"),s("mi",null,"N"),s("mo",{stretchy:"false"},")"),s("mo",null,"="),s("mfrac",null,[s("mn",null,"1"),s("mi",null,"N")]),s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"m"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mn",null,"2"),s("mi",null,"N"),s("mo",null,"−"),s("mi",null,"i")])]),s("msub",null,[s("mi",null,"S"),s("mn",null,"1")]),s("mo",{stretchy:"false"},"["),s("mi",null,"i"),s("mo",null,"−"),s("mi",null,"N"),s("mo",null,"+"),s("mi",null,"m"),s("mo",{stretchy:"false"},"]"),s("msub",null,[s("mi",null,"S"),s("mn",null,"2")]),s("mo",{stretchy:"false"},"["),s("mi",null,"m"),s("mo",{stretchy:"false"},"]"),s("mo",null,","),s("mtext",null," "),s("mi",null,"i"),s("mi",null,"f"),s("mtext",null," "),s("mi",null,"i"),s("mo",null,">"),s("mi",null,"N")])],-1))]),a[142]||(a[142]=e(`<p><strong>Note:</strong></p><ul><li><code>null</code> and <code>NaN</code> values in the input series will be ignored and treated as 0.</li></ul><h4 id="examples-44" tabindex="-1"><a class="header-anchor" href="#examples-44"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|root.test.d1.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| null| 6|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2| 7|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 4| 9|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5| 10|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> xcorr(s1, s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> &lt;=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">05</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------------+</span></span>
<span class="line"><span>| Time|xcorr(root.test.d1.s1, root.test.d1.s2)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 4.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 9.6|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 13.4|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 20.0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 15.6|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.007+08:00| 9.2|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.008+08:00| 11.8|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.009+08:00| 6.0|</span></span>
<span class="line"><span>+-----------------------------+---------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-6-pattern-match" tabindex="-1"><a class="header-anchor" href="#_6-6-pattern-match"><span>6.6 Pattern_match</span></a></h3><h4 id="registration-statement-44" tabindex="-1"><a class="header-anchor" href="#registration-statement-44"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> pattern_match</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.match.UDAFPatternMatch&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-46" tabindex="-1"><a class="header-anchor" href="#usage-46"><span>Usage</span></a></h4><p>This function performs pattern matching between an input time series and a predefined pattern. A match is considered successful if the similarity measure (distance) is less than or equal to a specified threshold. The results are output as a JSON list.</p><p>​<strong>Name</strong>​: PATTERN_MATCH</p><p><strong>Input</strong>​​<strong>​ Series</strong>​: Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE/ BOOLEAN</p><p>​<strong>Parameter</strong>​:</p><ul><li><code>timePattern</code> : A comma-separated string of timestamps (e.g., <code>&quot;t1,t2,t3&quot;</code>). Length must be ​<strong>greater than 1</strong>​. Required.</li><li><code>valuePattern </code>: A comma-separated string of numerical values corresponding to <code>timePattern</code>. Length must <strong>match ​</strong><code>timePattern</code> and be greater than 1. Required.</li></ul><blockquote><p>For boolean values: Use <code>1</code> for <code>true</code> and <code>0</code> for <code>false</code>.</p></blockquote><ul><li><code>theshold</code>: Float-type similarity threshold. Required.</li></ul><p><strong>Output</strong>​​<strong>​ Series</strong>​: A JSON list containing all successfully matched segments. Each entry includes: start timestamp <code>startTime</code>, end timestamp <code>endTime</code>, calculated similarity value <code>distance</code>.</p><h4 id="example-1" tabindex="-1"><a class="header-anchor" href="#example-1"><span>Example</span></a></h4><ol><li>Linear Data</li></ol><p>Input series:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">&gt;</span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> s0 </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">005</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pattern_match (s0, </span><span style="color:#98C379;">&quot;timePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1,2,3&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;valuePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1.1,1.2,1.3&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;threshold&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.5&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| match_result|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{&quot;distance&quot;:0.200000,&quot;startTime&quot;:1,&quot;endTime&quot;:3}, {&quot;distance&quot;:0.000000,&quot;startTime&quot;:2,&quot;endTime&quot;:4}]</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li>Boolean Data</li></ol><p>Input series:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">&gt;</span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> s1 </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s1</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| true|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| true|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| true|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| false|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">005</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| false|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pattern_match (s1, </span><span style="color:#98C379;">&quot;timePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1,2,3&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;valuePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1,1,1&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;threshold&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.5&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| match_result|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{&quot;distance&quot;:0.000000,&quot;startTime&quot;:1,&quot;endTime&quot;:3}]</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="3"><li>V-shaped Data</li></ol><p>Input series:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">&gt;</span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> s2 </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s2</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">005</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">006</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">007</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">008</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">009</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">010</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pattern_match (s2, </span><span style="color:#98C379;">&quot;timePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1,2,3,4,5,6,7&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;valuePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.0,-1.0,-2.0,-3.0,-2.0,-1.0,-0.0&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;threshold&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;10&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------------------------------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| match_result|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------------------------------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{&quot;distance&quot;:0.53,&quot;startTime&quot;:1,&quot;endTime&quot;:10}]</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="4"><li>Multiple Matching Pattern</li></ol><p>Input series:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">&gt;</span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> s0,s1 </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s1</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+-------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">| true|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">| true|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">| true|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">| false|</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">005</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">| false|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pattern_match (s0, </span><span style="color:#98C379;">&quot;timePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1,2,3&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;valuePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1.1,1.2,1.3&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;threshold&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.5&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result1, pattern_match (s1, </span><span style="color:#98C379;">&quot;timePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1,2,3&quot;</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">&quot;valuePattern&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;1,1,1&quot;</span><span style="color:#ABB2BF;">,</span></span>
<span class="line"><span style="color:#98C379;"> &quot;threshold&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;0.5&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result2 </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>Output series:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+-------------------------------------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">| match_result1| match_result2|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+-------------------------------------------------+</span></span>
<span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{&quot;distance&quot;:0.200000,&quot;startTime&quot;:1,&quot;endTime&quot;:3}, {&quot;distance&quot;:0.000000,&quot;startTime&quot;:2,&quot;endTime&quot;:4}]</span><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{&quot;distance&quot;:0.000000,&quot;startTime&quot;:1,&quot;endTime&quot;:3}]</span><span style="color:#ABB2BF;">|</span></span>
<span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+-------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_7-data-repairing" tabindex="-1"><a class="header-anchor" href="#_7-data-repairing"><span>7. Data Repairing</span></a></h2><h3 id="_7-1-timestamprepair" tabindex="-1"><a class="header-anchor" href="#_7-1-timestamprepair"><span>7.1 TimestampRepair</span></a></h3><h4 id="registration-statement-45" tabindex="-1"><a class="header-anchor" href="#registration-statement-45"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> timestamprepair</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.drepair.UDTFTimestampRepair&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-47" tabindex="-1"><a class="header-anchor" href="#usage-47"><span>Usage</span></a></h4><p>This function is used for timestamp repair.<br> According to the given standard time interval,<br> the method of minimizing the repair cost is adopted.<br> By fine-tuning the timestamps,<br> the original data with unstable timestamp interval is repaired to strictly equispaced data.<br> If no standard time interval is given,<br> this function will use the <strong>median</strong>, <strong>mode</strong> or <strong>cluster</strong> of the time interval to estimate the standard time interval.</p><p><strong>Name:</strong> TIMESTAMPREPAIR</p><p><strong>Input Series:</strong> Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>interval</code>: The standard time interval whose unit is millisecond. It is a positive integer. By default, it will be estimated according to the given method.</li><li><code>method</code>: The method to estimate the standard time interval, which is &#39;median&#39;, &#39;mode&#39; or &#39;cluster&#39;. This parameter is only valid when <code>interval</code> is not given. By default, median will be used.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input. This series is the input after repairing.</p><h4 id="examples-45" tabindex="-1"><a class="header-anchor" href="#examples-45"><span>Examples</span></a></h4><h5 id="manually-specify-the-standard-time-interval" tabindex="-1"><a class="header-anchor" href="#manually-specify-the-standard-time-interval"><span>Manually Specify the Standard Time Interval</span></a></h5><p>When <code>interval</code> is given, this function repairs according to the given standard time interval.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2021-07-01T12:00:00.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:10.000+08:00| 2.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:19.000+08:00| 3.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:30.000+08:00| 4.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:40.000+08:00| 5.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:50.000+08:00| 6.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:01.000+08:00| 7.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:11.000+08:00| 8.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:21.000+08:00| 9.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:31.000+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> timestamprepair(s1,</span><span style="color:#98C379;">&#39;interval&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;10000&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------------------+</span></span>
<span class="line"><span>| Time|timestamprepair(root.test.d2.s1, &quot;interval&quot;=&quot;10000&quot;)|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------------------+</span></span>
<span class="line"><span>|2021-07-01T12:00:00.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:10.000+08:00| 2.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:20.000+08:00| 3.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:30.000+08:00| 4.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:40.000+08:00| 5.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:50.000+08:00| 6.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:00.000+08:00| 7.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:10.000+08:00| 8.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:20.000+08:00| 9.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:30.000+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+----------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="automatically-estimate-the-standard-time-interval" tabindex="-1"><a class="header-anchor" href="#automatically-estimate-the-standard-time-interval"><span>Automatically Estimate the Standard Time Interval</span></a></h5><p>When <code>interval</code> is default, this function estimates the standard time interval.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> timestamprepair(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------+</span></span>
<span class="line"><span>| Time|timestamprepair(root.test.d2.s1)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------+</span></span>
<span class="line"><span>|2021-07-01T12:00:00.000+08:00| 1.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:10.000+08:00| 2.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:20.000+08:00| 3.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:30.000+08:00| 4.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:40.000+08:00| 5.0|</span></span>
<span class="line"><span>|2021-07-01T12:00:50.000+08:00| 6.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:00.000+08:00| 7.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:10.000+08:00| 8.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:20.000+08:00| 9.0|</span></span>
<span class="line"><span>|2021-07-01T12:01:30.000+08:00| 10.0|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_7-2-valuefill" tabindex="-1"><a class="header-anchor" href="#_7-2-valuefill"><span>7.2 ValueFill</span></a></h3><h4 id="registration-statement-46" tabindex="-1"><a class="header-anchor" href="#registration-statement-46"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> valuefill</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.drepair.UDTFValueFill&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-48" tabindex="-1"><a class="header-anchor" href="#usage-48"><span>Usage</span></a></h4><p>This function is used to impute time series. Several methods are supported.</p><p><strong>Name</strong>: ValueFill<br><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>method</code>: {&quot;mean&quot;, &quot;previous&quot;, &quot;linear&quot;, &quot;likelihood&quot;, &quot;AR&quot;, &quot;MA&quot;, &quot;SCREEN&quot;}, default &quot;linear&quot;.<br> Method to use for imputation in series. &quot;mean&quot;: use global mean value to fill holes; &quot;previous&quot;: propagate last valid observation forward to next valid. &quot;linear&quot;: simplest interpolation method; &quot;likelihood&quot;:Maximum likelihood estimation based on the normal distribution of speed; &quot;AR&quot;: auto regression; &quot;MA&quot;: moving average; &quot;SCREEN&quot;: speed constraint.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input. This series is the input after repairing.</p><p><strong>Note:</strong> AR method use AR(1) model. Input value should be auto-correlated, or the function would output a single point (0, 0.0).</p><h4 id="examples-46" tabindex="-1"><a class="header-anchor" href="#examples-46"><span>Examples</span></a></h4><h5 id="fill-with-linear" tabindex="-1"><a class="header-anchor" href="#fill-with-linear"><span>Fill with linear</span></a></h5><p>When <code>method</code> is &quot;linear&quot; or the default, Screen method is used to impute.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> valuefill(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------+</span></span>
<span class="line"><span>| Time|valuefill(root.test.d2)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.7|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 121.3|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span>
<span class="line"><span>+-----------------------------+-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="previous-fill" tabindex="-1"><a class="header-anchor" href="#previous-fill"><span>Previous Fill</span></a></h5><p>When <code>method</code> is &quot;previous&quot;, previous method is used.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> valuefill(s1,</span><span style="color:#98C379;">&quot;method&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;previous&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------+</span></span>
<span class="line"><span>| Time|valuefill(root.test.d2,&quot;method&quot;=&quot;previous&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 110.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_7-3-valuerepair" tabindex="-1"><a class="header-anchor" href="#_7-3-valuerepair"><span>7.3 ValueRepair</span></a></h3><h4 id="registration-statement-47" tabindex="-1"><a class="header-anchor" href="#registration-statement-47"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> valuerepair</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.drepair.UDTFValueRepair&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-49" tabindex="-1"><a class="header-anchor" href="#usage-49"><span>Usage</span></a></h4><p>This function is used to repair the value of the time series.<br> Currently, two methods are supported:<br><strong>Screen</strong> is a method based on speed threshold, which makes all speeds meet the threshold requirements under the premise of minimum changes;<br><strong>LsGreedy</strong> is a method based on speed change likelihood, which models speed changes as Gaussian distribution, and uses a greedy algorithm to maximize the likelihood.</p><p><strong>Name:</strong> VALUEREPAIR</p><p><strong>Input Series:</strong> Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>method</code>: The method used to repair, which is &#39;Screen&#39; or &#39;LsGreedy&#39;. By default, Screen is used.</li><li><code>minSpeed</code>: This parameter is only valid with Screen. It is the speed threshold. Speeds below it will be regarded as outliers. By default, it is the median minus 3 times of median absolute deviation.</li><li><code>maxSpeed</code>: This parameter is only valid with Screen. It is the speed threshold. Speeds above it will be regarded as outliers. By default, it is the median plus 3 times of median absolute deviation.</li><li><code>center</code>: This parameter is only valid with LsGreedy. It is the center of the Gaussian distribution of speed changes. By default, it is 0.</li><li><code>sigma</code>: This parameter is only valid with LsGreedy. It is the standard deviation of the Gaussian distribution of speed changes. By default, it is the median absolute deviation.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input. This series is the input after repairing.</p><p><strong>Note:</strong> <code>NaN</code> will be filled with linear interpolation before repairing.</p><h4 id="examples-47" tabindex="-1"><a class="header-anchor" href="#examples-47"><span>Examples</span></a></h4><h5 id="repair-with-screen" tabindex="-1"><a class="header-anchor" href="#repair-with-screen"><span>Repair with Screen</span></a></h5><p>When <code>method</code> is &#39;Screen&#39; or the default, Screen method is used.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> valuerepair(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------+</span></span>
<span class="line"><span>| Time|valuerepair(root.test.d2.s1)|</span></span>
<span class="line"><span>+-----------------------------+----------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 106.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span>
<span class="line"><span>+-----------------------------+----------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="repair-with-lsgreedy" tabindex="-1"><a class="header-anchor" href="#repair-with-lsgreedy"><span>Repair with LsGreedy</span></a></h5><p>When <code>method</code> is &#39;LsGreedy&#39;, LsGreedy method is used.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> valuerepair(s1,</span><span style="color:#98C379;">&#39;method&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;LsGreedy&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span>
<span class="line"><span>| Time|valuerepair(root.test.d2.s1, &quot;method&quot;=&quot;LsGreedy&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 106.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_7-4-masterrepair" tabindex="-1"><a class="header-anchor" href="#_7-4-masterrepair"><span>7.4 MasterRepair</span></a></h3><h4 id="usage-50" tabindex="-1"><a class="header-anchor" href="#usage-50"><span>Usage</span></a></h4><p>This function is used to clean time series with master data.</p><p><strong>Name</strong>: MasterRepair<br><strong>Input Series:</strong> Support multiple input series. The types are are in INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>omega</code>: The window size. It is a non-negative integer whose unit is millisecond. By default, it will be estimated according to the distances of two tuples with various time differences.</li><li><code>eta</code>: The distance threshold. It is a positive number. By default, it will be estimated according to the distance distribution of tuples in windows.</li><li><code>k</code>: The number of neighbors in master data. It is a positive integer. By default, it will be estimated according to the tuple dis- tance of the k-th nearest neighbor in the master data.</li><li><code>output_column</code>: The repaired column to output, defaults to 1 which means output the repair result of the first column.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input. This series is the input after repairing.</p><h4 id="examples-48" tabindex="-1"><a class="header-anchor" href="#examples-48"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+------------+------------+------------+------------+------------+</span></span>
<span class="line"><span>| Time|root.test.t1|root.test.t2|root.test.t3|root.test.m1|root.test.m2|root.test.m3|</span></span>
<span class="line"><span>+-----------------------------+------------+------------+------------+------------+------------+------------+</span></span>
<span class="line"><span>|2021-07-01T12:00:01.000+08:00| 1704| 1154.55| 0.195| 1704| 1154.55| 0.195|</span></span>
<span class="line"><span>|2021-07-01T12:00:02.000+08:00| 1702| 1152.30| 0.193| 1702| 1152.30| 0.193|</span></span>
<span class="line"><span>|2021-07-01T12:00:03.000+08:00| 1702| 1148.65| 0.192| 1702| 1148.65| 0.192|</span></span>
<span class="line"><span>|2021-07-01T12:00:04.000+08:00| 1701| 1145.20| 0.194| 1701| 1145.20| 0.194|</span></span>
<span class="line"><span>|2021-07-01T12:00:07.000+08:00| 1703| 1150.55| 0.195| 1703| 1150.55| 0.195|</span></span>
<span class="line"><span>|2021-07-01T12:00:08.000+08:00| 1694| 1151.55| 0.193| 1704| 1151.55| 0.193|</span></span>
<span class="line"><span>|2021-07-01T12:01:09.000+08:00| 1705| 1153.55| 0.194| 1705| 1153.55| 0.194|</span></span>
<span class="line"><span>|2021-07-01T12:01:10.000+08:00| 1706| 1152.30| 0.190| 1706| 1152.30| 0.190|</span></span>
<span class="line"><span>+-----------------------------+------------+------------+------------+------------+------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> MasterRepair(t1,t2,t3,m1,m2,m3) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|MasterRepair(root.test.t1,root.test.t2,root.test.t3,root.test.m1,root.test.m2,root.test.m3)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------------------------------------------------+</span></span>
<span class="line"><span>|2021-07-01T12:00:01.000+08:00| 1704|</span></span>
<span class="line"><span>|2021-07-01T12:00:02.000+08:00| 1702|</span></span>
<span class="line"><span>|2021-07-01T12:00:03.000+08:00| 1702|</span></span>
<span class="line"><span>|2021-07-01T12:00:04.000+08:00| 1701|</span></span>
<span class="line"><span>|2021-07-01T12:00:07.000+08:00| 1703|</span></span>
<span class="line"><span>|2021-07-01T12:00:08.000+08:00| 1704|</span></span>
<span class="line"><span>|2021-07-01T12:01:09.000+08:00| 1705|</span></span>
<span class="line"><span>|2021-07-01T12:01:10.000+08:00| 1706|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_7-5-seasonalrepair" tabindex="-1"><a class="header-anchor" href="#_7-5-seasonalrepair"><span>7.5 SeasonalRepair</span></a></h3><h4 id="usage-51" tabindex="-1"><a class="header-anchor" href="#usage-51"><span>Usage</span></a></h4><p>This function is used to repair the value of the seasonal time series via decomposition. Currently, two methods are supported: <strong>Classical</strong> - detect irregular fluctuations through residual component decomposed by classical decomposition, and repair them through moving average; <strong>Improved</strong> - detect irregular fluctuations through residual component decomposed by improved decomposition, and repair them through moving median.</p><p><strong>Name:</strong> SEASONALREPAIR</p><p><strong>Input Series:</strong> Only support a single input series. The data type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>method</code>: The decomposition method used to repair, which is &#39;Classical&#39; or &#39;Improved&#39;. By default, classical decomposition is used.</li><li><code>period</code>: It is the period of the time series.</li><li><code>k</code>: It is the range threshold of residual term, which limits the degree to which the residual term is off-center. By default, it is 9.</li><li><code>max_iter</code>: It is the maximum number of iterations for the algorithm. By default, it is 10.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is the same as the input. This series is the input after repairing.</p><p><strong>Note:</strong> <code>NaN</code> will be filled with linear interpolation before repairing.</p><h4 id="examples-49" tabindex="-1"><a class="header-anchor" href="#examples-49"><span>Examples</span></a></h4><h5 id="repair-with-classical" tabindex="-1"><a class="header-anchor" href="#repair-with-classical"><span>Repair with Classical</span></a></h5><p>When <code>method</code> is &#39;Classical&#39; or default value, classical decomposition method is used.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d2.s1|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 80.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 100.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 119.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:12.000+08:00| 101.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 99.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 119.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 80.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 99.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 121.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:24.000+08:00| 79.5|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> seasonalrepair(s1,</span><span style="color:#98C379;">&#39;period&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;k&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------+</span></span>
<span class="line"><span>| Time|seasonalrepair(root.test.d2.s1, &#39;period&#39;=4, &#39;k&#39;=2)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 80.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 100.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 119.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:12.000+08:00| 87.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 99.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 119.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 80.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 99.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 121.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:24.000+08:00| 79.5|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="repair-with-improved" tabindex="-1"><a class="header-anchor" href="#repair-with-improved"><span>Repair with Improved</span></a></h5><p>When <code>method</code> is &#39;Improved&#39;, improved decomposition method is used.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> seasonalrepair(s1,</span><span style="color:#98C379;">&#39;method&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;improved&#39;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&#39;period&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|valuerepair(root.test.d2.s1, &#39;method&#39;=&#39;improved&#39;, &#39;period&#39;=3)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| 120.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 80.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 100.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:10.000+08:00| 119.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:12.000+08:00| 81.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:14.000+08:00| 99.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:16.000+08:00| 119.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:18.000+08:00| 80.5|</span></span>
<span class="line"><span>|2020-01-01T00:00:20.000+08:00| 99.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:22.000+08:00| 121.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:24.000+08:00| 79.5|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_8-series-discovery" tabindex="-1"><a class="header-anchor" href="#_8-series-discovery"><span>8. Series Discovery</span></a></h2><h3 id="_8-1-consecutivesequences" tabindex="-1"><a class="header-anchor" href="#_8-1-consecutivesequences"><span>8.1 ConsecutiveSequences</span></a></h3><h4 id="registration-statement-48" tabindex="-1"><a class="header-anchor" href="#registration-statement-48"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> consecutivesequences</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.series.UDTFConsecutiveSequences&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-52" tabindex="-1"><a class="header-anchor" href="#usage-52"><span>Usage</span></a></h4><p>This function is used to find locally longest consecutive subsequences in strictly equispaced multidimensional data.</p><p>Strictly equispaced data is the data whose time intervals are strictly equal. Missing data, including missing rows and missing values, is allowed in it, while data redundancy and timestamp drift is not allowed.</p><p>Consecutive subsequence is the subsequence that is strictly equispaced with the standard time interval without any missing data. If a consecutive subsequence is not a proper subsequence of any consecutive subsequence, it is locally longest.</p><p><strong>Name:</strong> CONSECUTIVESEQUENCES</p><p><strong>Input Series:</strong> Support multiple input series. The type is arbitrary but the data is strictly equispaced.</p><p><strong>Parameters:</strong></p><ul><li><code>gap</code>: The standard time interval which is a positive number with an unit. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. By default, it will be estimated by the mode of time intervals.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is INT32. Each data point in the output series corresponds to a locally longest consecutive subsequence. The output timestamp is the starting timestamp of the subsequence and the output value is the number of data points in the subsequence.</p><p><strong>Note:</strong> For input series that is not strictly equispaced, there is no guarantee on the output.</p><h4 id="examples-50" tabindex="-1"><a class="header-anchor" href="#examples-50"><span>Examples</span></a></h4><h5 id="manually-specify-the-standard-time-interval-1" tabindex="-1"><a class="header-anchor" href="#manually-specify-the-standard-time-interval-1"><span>Manually Specify the Standard Time Interval</span></a></h5><p>It&#39;s able to manually specify the standard time interval by the parameter <code>gap</code>. It&#39;s notable that false parameter leads to false output.</p><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|root.test.d1.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:05:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:10:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:20:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:25:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:30:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:35:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:40:00.000+08:00| 1.0| null|</span></span>
<span class="line"><span>|2020-01-01T00:45:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:50:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consecutivesequences(s1,s2,</span><span style="color:#98C379;">&#39;gap&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;5m&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|consecutivesequences(root.test.d1.s1, root.test.d1.s2, &quot;gap&quot;=&quot;5m&quot;)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:00.000+08:00| 3|</span></span>
<span class="line"><span>|2020-01-01T00:20:00.000+08:00| 4|</span></span>
<span class="line"><span>|2020-01-01T00:45:00.000+08:00| 2|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="automatically-estimate-the-standard-time-interval-1" tabindex="-1"><a class="header-anchor" href="#automatically-estimate-the-standard-time-interval-1"><span>Automatically Estimate the Standard Time Interval</span></a></h5><p>When <code>gap</code> is default, this function estimates the standard time interval by the mode of time intervals and gets the same results. Therefore, this usage is more recommended.</p><p>Input series is the same as above, the SQL for query is shown below:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consecutivesequences(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span>
<span class="line"><span>| Time|consecutivesequences(root.test.d1.s1, root.test.d1.s2)|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:00.000+08:00| 3|</span></span>
<span class="line"><span>|2020-01-01T00:20:00.000+08:00| 4|</span></span>
<span class="line"><span>|2020-01-01T00:45:00.000+08:00| 2|</span></span>
<span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_8-2-consecutivewindows" tabindex="-1"><a class="header-anchor" href="#_8-2-consecutivewindows"><span>8.2 ConsecutiveWindows</span></a></h3><h4 id="registration-statement-49" tabindex="-1"><a class="header-anchor" href="#registration-statement-49"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> consecutivewindows</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.series.UDTFConsecutiveWindows&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-53" tabindex="-1"><a class="header-anchor" href="#usage-53"><span>Usage</span></a></h4><p>This function is used to find consecutive windows of specified length in strictly equispaced multidimensional data.</p><p>Strictly equispaced data is the data whose time intervals are strictly equal. Missing data, including missing rows and missing values, is allowed in it, while data redundancy and timestamp drift is not allowed.</p><p>Consecutive window is the subsequence that is strictly equispaced with the standard time interval without any missing data.</p><p><strong>Name:</strong> CONSECUTIVEWINDOWS</p><p><strong>Input Series:</strong> Support multiple input series. The type is arbitrary but the data is strictly equispaced.</p><p><strong>Parameters:</strong></p><ul><li><code>gap</code>: The standard time interval which is a positive number with an unit. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. By default, it will be estimated by the mode of time intervals.</li><li><code>length</code>: The length of the window which is a positive number with an unit. The unit is &#39;ms&#39; for millisecond, &#39;s&#39; for second, &#39;m&#39; for minute, &#39;h&#39; for hour and &#39;d&#39; for day. This parameter cannot be lacked.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is INT32. Each data point in the output series corresponds to a consecutive window. The output timestamp is the starting timestamp of the window and the output value is the number of data points in the window.</p><p><strong>Note:</strong> For input series that is not strictly equispaced, there is no guarantee on the output.</p><h4 id="examples-51" tabindex="-1"><a class="header-anchor" href="#examples-51"><span>Examples</span></a></h4><p>Input series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d1.s1|root.test.d1.s2|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:05:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:10:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:20:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:25:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:30:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:35:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:40:00.000+08:00| 1.0| null|</span></span>
<span class="line"><span>|2020-01-01T00:45:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:50:00.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consecutivewindows(s1,s2,</span><span style="color:#98C379;">&#39;length&#39;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&#39;10m&#39;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------------------+</span></span>
<span class="line"><span>| Time|consecutivewindows(root.test.d1.s1, root.test.d1.s2, &quot;length&quot;=&quot;10m&quot;)|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:00.000+08:00| 3|</span></span>
<span class="line"><span>|2020-01-01T00:20:00.000+08:00| 3|</span></span>
<span class="line"><span>|2020-01-01T00:25:00.000+08:00| 3|</span></span>
<span class="line"><span>+-----------------------------+--------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_9-machine-learning" tabindex="-1"><a class="header-anchor" href="#_9-machine-learning"><span>9. Machine Learning</span></a></h2><h3 id="_9-1-ar" tabindex="-1"><a class="header-anchor" href="#_9-1-ar"><span>9.1 AR</span></a></h3><h4 id="registration-statement-50" tabindex="-1"><a class="header-anchor" href="#registration-statement-50"><span>Registration statement</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> ar</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> &#39;org.apache.iotdb.library.dlearn.UDTFAR&#39;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="usage-54" tabindex="-1"><a class="header-anchor" href="#usage-54"><span>Usage</span></a></h4><p>This function is used to learn the coefficients of the autoregressive models for a time series.</p><p><strong>Name:</strong> AR</p><p><strong>Input Series:</strong> Only support a single input numeric series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>p</code>: The order of the autoregressive model. Its default value is 1.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. The first line corresponds to the first order coefficient, and so on.</p><p><strong>Note:</strong></p><ul><li>Parameter <code>p</code> should be a positive integer.</li><li>Most points in the series should be sampled at a constant time interval.</li><li>Linear interpolation is applied for the missing points in the series.</li></ul><h4 id="examples-52" tabindex="-1"><a class="header-anchor" href="#examples-52"><span>Examples</span></a></h4><h5 id="assigning-model-order" tabindex="-1"><a class="header-anchor" href="#assigning-model-order"><span>Assigning Model Order</span></a></h5><p>Input Series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d0.s0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| -4.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| -3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| -2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| -1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 0.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:07.000+08:00| 2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| 4.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> ar(s0,</span><span style="color:#98C379;">&quot;p&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;2&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output Series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------+</span></span>
<span class="line"><span>| Time|ar(root.test.d0.s0,&quot;p&quot;=&quot;2&quot;)|</span></span>
<span class="line"><span>+-----------------------------+---------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.9429|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| -0.2571|</span></span>
<span class="line"><span>+-----------------------------+---------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_9-2-representation" tabindex="-1"><a class="header-anchor" href="#_9-2-representation"><span>9.2 Representation</span></a></h3><h4 id="usage-55" tabindex="-1"><a class="header-anchor" href="#usage-55"><span>Usage</span></a></h4><p>This function is used to represent a time series.</p><p><strong>Name:</strong> Representation</p><p><strong>Input Series:</strong> Only support a single input numeric series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>tb</code>: The number of timestamp blocks. Its default value is 10.</li><li><code>vb</code>: The number of value blocks. Its default value is 10.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is INT32. The length is <code>tb*vb</code>. The timestamps starting from 0 only indicate the order.</p><p><strong>Note:</strong></p><ul><li>Parameters <code>tb</code> and <code>vb</code> should be positive integers.</li></ul><h4 id="examples-53" tabindex="-1"><a class="header-anchor" href="#examples-53"><span>Examples</span></a></h4><h5 id="assigning-window-size-and-dimension" tabindex="-1"><a class="header-anchor" href="#assigning-window-size-and-dimension"><span>Assigning Window Size and Dimension</span></a></h5><p>Input Series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d0.s0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| -4.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| -3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| -2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| -1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 0.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:07.000+08:00| 2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| 4.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> representation(s0,</span><span style="color:#98C379;">&quot;tb&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;3&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;vb&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;2&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output Series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span>
<span class="line"><span>| Time|representation(root.test.d0.s0,&quot;tb&quot;=&quot;3&quot;,&quot;vb&quot;=&quot;2&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.002+08:00| 1|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.003+08:00| 0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.004+08:00| 0|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.005+08:00| 1|</span></span>
<span class="line"><span>|1970-01-01T08:00:00.006+08:00| 1|</span></span>
<span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_9-3-rm" tabindex="-1"><a class="header-anchor" href="#_9-3-rm"><span>9.3 RM</span></a></h3><h4 id="usage-56" tabindex="-1"><a class="header-anchor" href="#usage-56"><span>Usage</span></a></h4><p>This function is used to calculate the matching score of two time series according to the representation.</p><p><strong>Name:</strong> RM</p><p><strong>Input Series:</strong> Only support two input numeric series. The type is INT32 / INT64 / FLOAT / DOUBLE.</p><p><strong>Parameters:</strong></p><ul><li><code>tb</code>: The number of timestamp blocks. Its default value is 10.</li><li><code>vb</code>: The number of value blocks. Its default value is 10.</li></ul><p><strong>Output Series:</strong> Output a single series. The type is DOUBLE. There is only one data point in the series, whose timestamp is 0 and value is the matching score.</p><p><strong>Note:</strong></p><ul><li>Parameters <code>tb</code> and <code>vb</code> should be positive integers.</li></ul><h4 id="examples-54" tabindex="-1"><a class="header-anchor" href="#examples-54"><span>Examples</span></a></h4><h5 id="assigning-window-size-and-dimension-1" tabindex="-1"><a class="header-anchor" href="#assigning-window-size-and-dimension-1"><span>Assigning Window Size and Dimension</span></a></h5><p>Input Series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>| Time|root.test.d0.s0|root.test.d0.s1</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span>
<span class="line"><span>|2020-01-01T00:00:01.000+08:00| -4.0| -4.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:02.000+08:00| -3.0| -3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:03.000+08:00| -3.0| -3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:04.000+08:00| -1.0| -1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:05.000+08:00| 0.0| 0.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:06.000+08:00| 1.0| 1.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:07.000+08:00| 2.0| 2.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:08.000+08:00| 3.0| 3.0|</span></span>
<span class="line"><span>|2020-01-01T00:00:09.000+08:00| 4.0| 4.0|</span></span>
<span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>SQL for query:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> rm(s0, s1,</span><span style="color:#98C379;">&quot;tb&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;3&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;vb&quot;</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">&quot;2&quot;</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Output Series:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------------------------------+</span></span>
<span class="line"><span>| Time|rm(root.test.d0.s0,root.test.d0.s1,&quot;tb&quot;=&quot;3&quot;,&quot;vb&quot;=&quot;2&quot;)|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------------------------------+</span></span>
<span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.00|</span></span>
<span class="line"><span>+-----------------------------+-----------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,271))])}const Q0=p(t,[["render",T0],["__file","UDF-Libraries_apache.html.vue"]]),v0=JSON.parse('{"path":"/UserGuide/latest/SQL-Manual/UDF-Libraries_apache.html","title":"UDF Libraries","lang":"en-US","frontmatter":{"description":"UDF Libraries Based on the ability of user-defined functions, IoTDB provides a series of functions for temporal data processing, including data quality, data profiling, anomaly ...","head":[["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://iotdb.apache.org/zh/UserGuide/latest/SQL-Manual/UDF-Libraries_apache.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/UserGuide/latest/SQL-Manual/UDF-Libraries_apache.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"UDF Libraries"}],["meta",{"property":"og:description","content":"UDF Libraries Based on the ability of user-defined functions, IoTDB provides a series of functions for temporal data processing, including data quality, data profiling, anomaly ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-03-13T04:11:25.000Z"}],["meta",{"property":"article:modified_time","content":"2025-03-13T04:11:25.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"UDF Libraries\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-03-13T04:11:25.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"1. Installation steps","slug":"_1-installation-steps","link":"#_1-installation-steps","children":[]},{"level":2,"title":"2. Data Quality","slug":"_2-data-quality","link":"#_2-data-quality","children":[{"level":3,"title":"2.1 Completeness","slug":"_2-1-completeness","link":"#_2-1-completeness","children":[]},{"level":3,"title":"2.2 Consistency","slug":"_2-2-consistency","link":"#_2-2-consistency","children":[]},{"level":3,"title":"2.3 Timeliness","slug":"_2-3-timeliness","link":"#_2-3-timeliness","children":[]},{"level":3,"title":"2.4 Validity","slug":"_2-4-validity","link":"#_2-4-validity","children":[]}]},{"level":2,"title":"3. Data Profiling","slug":"_3-data-profiling","link":"#_3-data-profiling","children":[{"level":3,"title":"3.1 ACF","slug":"_3-1-acf","link":"#_3-1-acf","children":[]},{"level":3,"title":"3.2 Distinct","slug":"_3-2-distinct","link":"#_3-2-distinct","children":[]},{"level":3,"title":"3.3 Histogram","slug":"_3-3-histogram","link":"#_3-3-histogram","children":[]},{"level":3,"title":"3.4 Integral","slug":"_3-4-integral","link":"#_3-4-integral","children":[]},{"level":3,"title":"3.5 IntegralAvg","slug":"_3-5-integralavg","link":"#_3-5-integralavg","children":[]},{"level":3,"title":"3.6 Mad","slug":"_3-6-mad","link":"#_3-6-mad","children":[]},{"level":3,"title":"3.7 Median","slug":"_3-7-median","link":"#_3-7-median","children":[]},{"level":3,"title":"3.8 MinMax","slug":"_3-8-minmax","link":"#_3-8-minmax","children":[]},{"level":3,"title":"3.9 MvAvg","slug":"_3-9-mvavg","link":"#_3-9-mvavg","children":[]},{"level":3,"title":"3.10 PACF","slug":"_3-10-pacf","link":"#_3-10-pacf","children":[]},{"level":3,"title":"3.11 Percentile","slug":"_3-11-percentile","link":"#_3-11-percentile","children":[]},{"level":3,"title":"3.12 Quantile","slug":"_3-12-quantile","link":"#_3-12-quantile","children":[]},{"level":3,"title":"3.13 Period","slug":"_3-13-period","link":"#_3-13-period","children":[]},{"level":3,"title":"3.14 QLB","slug":"_3-14-qlb","link":"#_3-14-qlb","children":[]},{"level":3,"title":"3.15 Resample","slug":"_3-15-resample","link":"#_3-15-resample","children":[]},{"level":3,"title":"3.16 Sample","slug":"_3-16-sample","link":"#_3-16-sample","children":[]},{"level":3,"title":"3.17 Segment","slug":"_3-17-segment","link":"#_3-17-segment","children":[]},{"level":3,"title":"3.18 Skew","slug":"_3-18-skew","link":"#_3-18-skew","children":[]},{"level":3,"title":"3.19 Spline","slug":"_3-19-spline","link":"#_3-19-spline","children":[]},{"level":3,"title":"3.20 Spread","slug":"_3-20-spread","link":"#_3-20-spread","children":[]},{"level":3,"title":"3.21 ZScore","slug":"_3-21-zscore","link":"#_3-21-zscore","children":[]}]},{"level":2,"title":"4. Anomaly Detection","slug":"_4-anomaly-detection","link":"#_4-anomaly-detection","children":[{"level":3,"title":"4.1 IQR","slug":"_4-1-iqr","link":"#_4-1-iqr","children":[]},{"level":3,"title":"4.2 KSigma","slug":"_4-2-ksigma","link":"#_4-2-ksigma","children":[]},{"level":3,"title":"4.3 LOF","slug":"_4-3-lof","link":"#_4-3-lof","children":[]},{"level":3,"title":"4.4 MissDetect","slug":"_4-4-missdetect","link":"#_4-4-missdetect","children":[]},{"level":3,"title":"4.5 Range","slug":"_4-5-range","link":"#_4-5-range","children":[]},{"level":3,"title":"4.6 TwoSidedFilter","slug":"_4-6-twosidedfilter","link":"#_4-6-twosidedfilter","children":[]},{"level":3,"title":"4.7 Outlier","slug":"_4-7-outlier","link":"#_4-7-outlier","children":[]},{"level":3,"title":"4.8 MasterTrain","slug":"_4-8-mastertrain","link":"#_4-8-mastertrain","children":[]},{"level":3,"title":"4.9 MasterDetect","slug":"_4-9-masterdetect","link":"#_4-9-masterdetect","children":[]}]},{"level":2,"title":"5. Frequency Domain Analysis","slug":"_5-frequency-domain-analysis","link":"#_5-frequency-domain-analysis","children":[{"level":3,"title":"5.1 Conv","slug":"_5-1-conv","link":"#_5-1-conv","children":[]},{"level":3,"title":"5.2 Deconv","slug":"_5-2-deconv","link":"#_5-2-deconv","children":[]},{"level":3,"title":"5.3 DWT","slug":"_5-3-dwt","link":"#_5-3-dwt","children":[]},{"level":3,"title":"5.4 FFT","slug":"_5-4-fft","link":"#_5-4-fft","children":[]},{"level":3,"title":"5.5 HighPass","slug":"_5-5-highpass","link":"#_5-5-highpass","children":[]},{"level":3,"title":"5.6 IFFT","slug":"_5-6-ifft","link":"#_5-6-ifft","children":[]},{"level":3,"title":"5.7 LowPass","slug":"_5-7-lowpass","link":"#_5-7-lowpass","children":[]}]},{"level":2,"title":"6. Data Matching","slug":"_6-data-matching","link":"#_6-data-matching","children":[{"level":3,"title":"6.1 Cov","slug":"_6-1-cov","link":"#_6-1-cov","children":[]},{"level":3,"title":"6.2 DTW","slug":"_6-2-dtw","link":"#_6-2-dtw","children":[]},{"level":3,"title":"6.3 Pearson","slug":"_6-3-pearson","link":"#_6-3-pearson","children":[]},{"level":3,"title":"6.4 PtnSym","slug":"_6-4-ptnsym","link":"#_6-4-ptnsym","children":[]},{"level":3,"title":"6.5 XCorr","slug":"_6-5-xcorr","link":"#_6-5-xcorr","children":[]},{"level":3,"title":"6.6 Pattern_match","slug":"_6-6-pattern-match","link":"#_6-6-pattern-match","children":[]}]},{"level":2,"title":"7. Data Repairing","slug":"_7-data-repairing","link":"#_7-data-repairing","children":[{"level":3,"title":"7.1 TimestampRepair","slug":"_7-1-timestamprepair","link":"#_7-1-timestamprepair","children":[]},{"level":3,"title":"7.2 ValueFill","slug":"_7-2-valuefill","link":"#_7-2-valuefill","children":[]},{"level":3,"title":"7.3 ValueRepair","slug":"_7-3-valuerepair","link":"#_7-3-valuerepair","children":[]},{"level":3,"title":"7.4 MasterRepair","slug":"_7-4-masterrepair","link":"#_7-4-masterrepair","children":[]},{"level":3,"title":"7.5 SeasonalRepair","slug":"_7-5-seasonalrepair","link":"#_7-5-seasonalrepair","children":[]}]},{"level":2,"title":"8. Series Discovery","slug":"_8-series-discovery","link":"#_8-series-discovery","children":[{"level":3,"title":"8.1 ConsecutiveSequences","slug":"_8-1-consecutivesequences","link":"#_8-1-consecutivesequences","children":[]},{"level":3,"title":"8.2 ConsecutiveWindows","slug":"_8-2-consecutivewindows","link":"#_8-2-consecutivewindows","children":[]}]},{"level":2,"title":"9. Machine Learning","slug":"_9-machine-learning","link":"#_9-machine-learning","children":[{"level":3,"title":"9.1 AR","slug":"_9-1-ar","link":"#_9-1-ar","children":[]},{"level":3,"title":"9.2 Representation","slug":"_9-2-representation","link":"#_9-2-representation","children":[]},{"level":3,"title":"9.3 RM","slug":"_9-3-rm","link":"#_9-3-rm","children":[]}]}],"git":{"createdTime":1693569750000,"updatedTime":1741839085000,"contributors":[{"name":"wanghui42","username":"wanghui42","email":"105700158+wanghui42@users.noreply.github.com","commits":6,"url":"https://github.com/wanghui42"},{"name":"W1y1r","username":"W1y1r","email":"150988475+W1y1r@users.noreply.github.com","commits":12,"url":"https://github.com/W1y1r"},{"name":"CritasWang","username":"CritasWang","email":"critas@outlook.com","commits":1,"url":"https://github.com/CritasWang"},{"name":"leto-b","username":"leto-b","email":"bingqian.bai@timecho.com","commits":2,"url":"https://github.com/leto-b"}]},"readingTime":{"minutes":88.48,"words":26544},"filePathRelative":"UserGuide/latest/SQL-Manual/UDF-Libraries_apache.md","localizedDate":"September 1, 2023","autoDesc":true}');export{Q0 as comp,v0 as data};