This is an automated email from the ASF dual-hosted git repository. panxiaolei pushed a commit to branch dev_0331 in repository https://gitbox.apache.org/repos/asf/doris-website.git
commit ddbbe255721d6d896fa356a7e0275475194ae685 Author: BiteTheDDDDt <[email protected]> AuthorDate: Tue Mar 31 10:29:50 2026 +0800 update window funnel doc --- .../sql-functions/aggregate-functions/window-funnel.md | 16 ++++++++-------- .../sql-functions/aggregate-functions/window-funnel.md | 17 ++++++++--------- .../sql-functions/aggregate-functions/window-funnel.md | 17 ++++++++--------- .../sql-functions/aggregate-functions/window-funnel.md | 16 ++++++++-------- .../sql-functions/aggregate-functions/window-funnel.md | 16 ++++++++-------- .../sql-functions/aggregate-functions/window-funnel.md | 16 ++++++++-------- 6 files changed, 48 insertions(+), 50 deletions(-) diff --git a/docs/sql-manual/sql-functions/aggregate-functions/window-funnel.md b/docs/sql-manual/sql-functions/aggregate-functions/window-funnel.md index 3394cb24645..1ade5a9095b 100644 --- a/docs/sql-manual/sql-functions/aggregate-functions/window-funnel.md +++ b/docs/sql-manual/sql-functions/aggregate-functions/window-funnel.md @@ -33,13 +33,13 @@ WINDOW_FUNNEL(<window>, <mode>, <timestamp>, <event_1>[, event_2, ... , event_n] **Mode** - - `default`: Defualt mode. + - `default`: Standard funnel calculation. Doris searches for the longest event chain that matches the specified order within the time window. Events that do not match any condition are ignored. - - `deduplication`: If the same event holds for the sequence of events, then such repeating event interrupts further processing. E.g. the array parameter is [event1='A', event2='B', event3='C', event4='D'], and the original event chain is "A-B-C-B-D". Since event B repeats, the filtered event chain can only be "A-B-C" and the max event level is 3. + - `deduplication`: Based on `default`, but an event that has already been matched in the current chain cannot appear again. For example, if the condition list is [event1='A', event2='B', event3='C', event4='D'] and the original event chain is `A-B-C-B-D`, the second `B` breaks the chain, so the matched event chain is `A-B-C` and the max level is `3`. - - `fixed`: Don't allow interventions of other events. E.g. the array parameter is [event1='A', event2='B', event3='C', event4='D'], and the original event chain is A->B->D->C, it stops finding A->B->C at the D and the max event level is 2. + - `fixed`: The chain must advance in the specified order and cannot skip intermediate steps. If an event that matches a later condition appears before its immediate predecessor is matched, the chain stops. Starting from Doris 4.1, events that do not match any condition are ignored and do not break the chain. For example, with [event1='A', event2='B', event3='C', event4='D'], `A-B-D-C` returns `A-B` and level `2`; with `A-B-X-C-D` (`X` matches none of the conditions), Doris 4.1 and la [...] - - `increase`: Apply conditions only to events with strictly increasing timestamps. + - `increase`: Based on `default`, but matched events must have strictly increasing timestamps. If two matched events have the same timestamp, the later event cannot advance the chain. ## Return Value Returns an integer representing the maximum number of consecutive steps completed within the specified time window. @@ -184,8 +184,8 @@ INSERT INTO VALUES (100123, 'login', '2022-05-14 10:01:00', 'HONOR', 1), (100123, 'visit', '2022-05-14 10:02:00', 'HONOR', 2), - (100123, 'order', '2022-05-14 10:03:00', "HONOR", 4), - (100123, 'login2', '2022-05-14 10:04:00', 'HONOR', 3), + (100123, 'login2', '2022-05-14 10:03:00', 'HONOR', 3), + (100123, 'order', '2022-05-14 10:04:00', "HONOR", 4), (100123, 'payment', '2022-05-14 10:10:00', 'HONOR', 4), (100125, 'login', '2022-05-15 11:00:00', 'XIAOMI', 1), (100125, 'visit', '2022-05-15 11:01:00', 'XIAOMI', 2), @@ -218,13 +218,13 @@ order BY +---------+-------+ | user_id | level | +---------+-------+ -| 100123 | 3 | +| 100123 | 4 | | 100125 | 3 | | 100126 | 2 | | 100127 | 2 | +---------+-------+ ``` -For `uesr_id=100123`, after matching the `order` event, the event chain is interrupted by the `login2` event, so the matched event chain is `login-visit-order`. +For `uesr_id=100123`, `login2` does not match any condition in the funnel. Starting from Doris 4.1, such unrelated events do not break the `fixed` chain, so the matched event chain is `login-visit-order-payment`. In Doris versions earlier than 4.1, the same data would stop at `login-visit` and return level `2`. ### example4: increase mode diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md index e7ff7dd3b8f..5f3ed502aff 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md @@ -33,13 +33,13 @@ WINDOW_FUNNEL(<window>, <mode>, <timestamp>, <event_1>[, event_2, ... , event_n] **模式** - - `default`: 默认模式。 + - `default`: 标准漏斗计算模式。在时间窗口内,Doris 会按照指定顺序寻找最长的事件链。不匹配任何 condition 的事件会被忽略。 - - `deduplication`: 当某个事件重复发生时,这个重复发生的事件会阻止后续的处理过程。如,指定事件链为[event1='A', event2='B', event3='C', event4='D'],原始事件链为"A-B-C-B-D"。由于 B 事件重复,最终的结果事件链为 A-B-C,最大长度为 3。 + - `deduplication`: 在 `default` 的基础上,当前事件链中已经匹配过的事件不能再次出现。例如,指定事件链为 [event1='A', event2='B', event3='C', event4='D'],原始事件链为 `A-B-C-B-D`,第二个 `B` 会打断事件链,因此最终匹配结果为 `A-B-C`,最大长度为 `3`。 - - `fixed`: 不允许事件的顺序发生交错,即事件发生的顺序必须和指定的事件链顺序一致。如,指定事件链为[event1='A', event2='B', event3='C', event4='D'],原始事件链为"A-B-D-C",则结果事件链为 A-B,最大长度为 2 + - `fixed`: 事件链必须严格按照指定顺序推进,不能跳过中间步骤。如果某个后续步骤对应的事件在其前驱步骤匹配之前就出现,则事件链立即中断。从 Doris 4.1 开始,不匹配任何 condition 的无关事件会被忽略,不再打断事件链。例如,指定事件链为 [event1='A', event2='B', event3='C', event4='D'] 时,`A-B-D-C` 的结果为 `A-B`,最大长度为 `2`;如果原始事件链为 `A-B-X-C-D`(`X` 不匹配任何 condition),则 Doris 4.1 及以后返回 `A-B-C-D`,而 4.1 之前只会返回 `A-B`。 - - `increase`: 选中的事件的时间戳必须按照指定事件链严格递增。 + - `increase`: 在 `default` 的基础上,已匹配事件的时间戳必须严格递增。如果两个已匹配事件的时间戳相同,后一个事件不能推进事件链。 ## 返回值 @@ -185,8 +185,8 @@ INSERT INTO VALUES (100123, '登录', '2022-05-14 10:01:00', 'HONOR', 1), (100123, '访问', '2022-05-14 10:02:00', 'HONOR', 2), - (100123, '下单', '2022-05-14 10:03:00', "HONOR", 4), - (100123, '登录 2', '2022-05-14 10:04:00', 'HONOR', 3), + (100123, '登录 2', '2022-05-14 10:03:00', 'HONOR', 3), + (100123, '下单', '2022-05-14 10:04:00', "HONOR", 4), (100123, '付款', '2022-05-14 10:10:00', 'HONOR', 4), (100125, '登录', '2022-05-15 11:00:00', 'XIAOMI', 1), (100125, '访问', '2022-05-15 11:01:00', 'XIAOMI', 2), @@ -219,13 +219,13 @@ order BY +---------+-------+ | user_id | level | +---------+-------+ -| 100123 | 3 | +| 100123 | 4 | | 100125 | 3 | | 100126 | 2 | | 100127 | 2 | +---------+-------+ ``` -对于`uesr_id=100123`,匹配到`下单`事件后,事件链被`登录2`事件打断,所以匹配到的事件链是`登陆-访问-下单`。 +对于`uesr_id=100123`,`登录 2`不匹配漏斗中的任何 condition。从 Doris 4.1 开始,这类无关事件不会打断 `fixed` 模式下的事件链,因此最终匹配到的事件链是`登录-访问-下单-付款`。在 4.1 之前,同样的数据会在`登录 2`处中断,只返回`登录-访问`,长度为 `2`。 ### 举例 4: increase 模式 @@ -285,4 +285,3 @@ order BY +---------+-------+ ``` 对于`uesr_id=100123`,`付款`事件的时间戳与`下单`事件的时间戳发生在同一秒,没有递增,所以匹配到的事件链是`登陆-访问-下单`。 - diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md index e7ff7dd3b8f..5f3ed502aff 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md @@ -33,13 +33,13 @@ WINDOW_FUNNEL(<window>, <mode>, <timestamp>, <event_1>[, event_2, ... , event_n] **模式** - - `default`: 默认模式。 + - `default`: 标准漏斗计算模式。在时间窗口内,Doris 会按照指定顺序寻找最长的事件链。不匹配任何 condition 的事件会被忽略。 - - `deduplication`: 当某个事件重复发生时,这个重复发生的事件会阻止后续的处理过程。如,指定事件链为[event1='A', event2='B', event3='C', event4='D'],原始事件链为"A-B-C-B-D"。由于 B 事件重复,最终的结果事件链为 A-B-C,最大长度为 3。 + - `deduplication`: 在 `default` 的基础上,当前事件链中已经匹配过的事件不能再次出现。例如,指定事件链为 [event1='A', event2='B', event3='C', event4='D'],原始事件链为 `A-B-C-B-D`,第二个 `B` 会打断事件链,因此最终匹配结果为 `A-B-C`,最大长度为 `3`。 - - `fixed`: 不允许事件的顺序发生交错,即事件发生的顺序必须和指定的事件链顺序一致。如,指定事件链为[event1='A', event2='B', event3='C', event4='D'],原始事件链为"A-B-D-C",则结果事件链为 A-B,最大长度为 2 + - `fixed`: 事件链必须严格按照指定顺序推进,不能跳过中间步骤。如果某个后续步骤对应的事件在其前驱步骤匹配之前就出现,则事件链立即中断。从 Doris 4.1 开始,不匹配任何 condition 的无关事件会被忽略,不再打断事件链。例如,指定事件链为 [event1='A', event2='B', event3='C', event4='D'] 时,`A-B-D-C` 的结果为 `A-B`,最大长度为 `2`;如果原始事件链为 `A-B-X-C-D`(`X` 不匹配任何 condition),则 Doris 4.1 及以后返回 `A-B-C-D`,而 4.1 之前只会返回 `A-B`。 - - `increase`: 选中的事件的时间戳必须按照指定事件链严格递增。 + - `increase`: 在 `default` 的基础上,已匹配事件的时间戳必须严格递增。如果两个已匹配事件的时间戳相同,后一个事件不能推进事件链。 ## 返回值 @@ -185,8 +185,8 @@ INSERT INTO VALUES (100123, '登录', '2022-05-14 10:01:00', 'HONOR', 1), (100123, '访问', '2022-05-14 10:02:00', 'HONOR', 2), - (100123, '下单', '2022-05-14 10:03:00', "HONOR", 4), - (100123, '登录 2', '2022-05-14 10:04:00', 'HONOR', 3), + (100123, '登录 2', '2022-05-14 10:03:00', 'HONOR', 3), + (100123, '下单', '2022-05-14 10:04:00', "HONOR", 4), (100123, '付款', '2022-05-14 10:10:00', 'HONOR', 4), (100125, '登录', '2022-05-15 11:00:00', 'XIAOMI', 1), (100125, '访问', '2022-05-15 11:01:00', 'XIAOMI', 2), @@ -219,13 +219,13 @@ order BY +---------+-------+ | user_id | level | +---------+-------+ -| 100123 | 3 | +| 100123 | 4 | | 100125 | 3 | | 100126 | 2 | | 100127 | 2 | +---------+-------+ ``` -对于`uesr_id=100123`,匹配到`下单`事件后,事件链被`登录2`事件打断,所以匹配到的事件链是`登陆-访问-下单`。 +对于`uesr_id=100123`,`登录 2`不匹配漏斗中的任何 condition。从 Doris 4.1 开始,这类无关事件不会打断 `fixed` 模式下的事件链,因此最终匹配到的事件链是`登录-访问-下单-付款`。在 4.1 之前,同样的数据会在`登录 2`处中断,只返回`登录-访问`,长度为 `2`。 ### 举例 4: increase 模式 @@ -285,4 +285,3 @@ order BY +---------+-------+ ``` 对于`uesr_id=100123`,`付款`事件的时间戳与`下单`事件的时间戳发生在同一秒,没有递增,所以匹配到的事件链是`登陆-访问-下单`。 - diff --git a/ja-source/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md b/ja-source/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md index e5c2f2e7a7e..2690a7cab2f 100644 --- a/ja-source/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md +++ b/ja-source/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/window-funnel.md @@ -31,13 +31,13 @@ WINDOW_FUNNEL(<window>, <mode>, <timestamp>, <event_1>[, event_2, ... , event_n] **Mode** - - `default`:デフォルトモード。 + - `default`:標準的なファネル計算です。Doris は時間ウィンドウ内で、指定した順序に一致する最長のイベントチェーンを探します。どの条件にも一致しないイベントは無視されます。 - - `deduplication`:同じイベントがイベントシーケンスに対して成立する場合、そのような繰り返しイベントは以降の処理を中断します。例:配列パラメータが[event1='A', event2='B', event3='C', event4='D']で、元のイベントチェーンが"A-B-C-B-D"の場合。イベントBが繰り返されるため、フィルタされたイベントチェーンは"A-B-C"のみとなり、最大イベントレベルは3になります。 + - `deduplication`:`default` を基にしたモードで、現在のチェーンですでに一致したイベントは再度出現できません。たとえば条件リストが [event1='A', event2='B', event3='C', event4='D'] で、元のイベントチェーンが `A-B-C-B-D` の場合、2 回目の `B` でチェーンが中断されるため、一致結果は `A-B-C`、最大レベルは `3` になります。 - - `fixed`:他のイベントの介入を許可しません。例:配列パラメータが[event1='A', event2='B', event3='C', event4='D']で、元のイベントチェーンがA->B->D->Cの場合、DでA->B->Cの検索を停止し、最大イベントレベルは2になります。 + - `fixed`:チェーンは指定した順序どおりに進む必要があり、中間ステップを飛ばすことはできません。直前のステップが一致する前に後続ステップに対応するイベントが現れた場合、そのチェーンは終了します。Doris 4.1 以降では、どの条件にも一致しない無関係なイベントは無視され、チェーンを中断しません。たとえば [event1='A', event2='B', event3='C', event4='D'] で `A-B-D-C` は `A-B`、レベル `2` を返します。一方、`A-B-X-C-D`(`X` はどの条件にも一致しない)の場合、Doris 4.1 以降は `A-B-C-D` を返し、4.1 より前のバージョンでは `A-B` で停止します。 - - `increase`:厳密に増加するタイムスタンプを持つイベントにのみ条件を適用します。 + - `increase`:`default` を基にしたモードで、一致したイベントのタイムスタンプは厳密に増加する必要があります。2 つの一致イベントのタイムスタンプが同じ場合、後続イベントはチェーンを進められません。 ## 戻り値 指定された時間ウィンドウ内で完了した連続ステップの最大数を表す整数を返します。 @@ -179,8 +179,8 @@ INSERT INTO VALUES (100123, 'login', '2022-05-14 10:01:00', 'HONOR', 1), (100123, 'visit', '2022-05-14 10:02:00', 'HONOR', 2), - (100123, 'order', '2022-05-14 10:03:00', "HONOR", 4), - (100123, 'login2', '2022-05-14 10:04:00', 'HONOR', 3), + (100123, 'login2', '2022-05-14 10:03:00', 'HONOR', 3), + (100123, 'order', '2022-05-14 10:04:00', "HONOR", 4), (100123, 'payment', '2022-05-14 10:10:00', 'HONOR', 4), (100125, 'login', '2022-05-15 11:00:00', 'XIAOMI', 1), (100125, 'visit', '2022-05-15 11:01:00', 'XIAOMI', 2), @@ -212,13 +212,13 @@ order BY +---------+-------+ | user_id | level | +---------+-------+ -| 100123 | 3 | +| 100123 | 4 | | 100125 | 3 | | 100126 | 2 | | 100127 | 2 | +---------+-------+ ``` -`uesr_id=100123`の場合、`order`イベントをマッチした後、`login2`イベントによってイベントチェーンが中断されるため、マッチしたイベントチェーンは`login-visit-order`となります。 +`uesr_id=100123` の場合、`login2` はファネル内のどの条件にも一致しません。Doris 4.1 以降では、このような無関係なイベントは `fixed` モードのチェーンを中断しないため、一致したイベントチェーンは `login-visit-order-payment` になります。4.1 より前のバージョンでは、同じデータは `login2` の位置で中断され、`login-visit`、レベル `2` で停止します。 ### example4: increaseモード diff --git a/ja-source/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md b/ja-source/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md index 100bbdccfab..87a755ce364 100644 --- a/ja-source/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md +++ b/ja-source/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md @@ -31,13 +31,13 @@ WINDOW_FUNNEL(<window>, <mode>, <timestamp>, <event_1>[, event_2, ... , event_n] **Mode** - - `default`: デフォルトモード。 + - `default`: 標準的なファネル計算です。Doris は時間ウィンドウ内で、指定した順序に一致する最長のイベントチェーンを探します。どの条件にも一致しないイベントは無視されます。 - - `deduplication`: 同じイベントがイベントのシーケンスで続く場合、そのような繰り返しイベントは以降の処理を中断します。例:配列パラメータが[event1='A', event2='B', event3='C', event4='D']で、元のイベントチェーンが"A-B-C-B-D"の場合、イベントBが繰り返されるため、フィルタされたイベントチェーンは"A-B-C"のみとなり、最大イベントレベルは3になります。 + - `deduplication`: `default` を基にしたモードで、現在のチェーンですでに一致したイベントは再度出現できません。たとえば条件リストが [event1='A', event2='B', event3='C', event4='D'] で、元のイベントチェーンが `A-B-C-B-D` の場合、2 回目の `B` でチェーンが中断されるため、一致結果は `A-B-C`、最大レベルは `3` になります。 - - `fixed`: 他のイベントの介入を許可しません。例:配列パラメータが[event1='A', event2='B', event3='C', event4='D']で、元のイベントチェーンがA->B->D->Cの場合、Dの位置でA->B->Cの検索が停止し、最大イベントレベルは2になります。 + - `fixed`: チェーンは指定した順序どおりに進む必要があり、中間ステップを飛ばすことはできません。直前のステップが一致する前に後続ステップに対応するイベントが現れた場合、そのチェーンは終了します。Doris 4.1 以降では、どの条件にも一致しない無関係なイベントは無視され、チェーンを中断しません。たとえば [event1='A', event2='B', event3='C', event4='D'] で `A-B-D-C` は `A-B`、レベル `2` を返します。一方、`A-B-X-C-D`(`X` はどの条件にも一致しない)の場合、Doris 4.1 以降は `A-B-C-D` を返し、4.1 より前のバージョンでは `A-B` で停止します。 - - `increase`: 厳密に増加するタイムスタンプを持つイベントにのみ条件を適用します。 + - `increase`: `default` を基にしたモードで、一致したイベントのタイムスタンプは厳密に増加する必要があります。2 つの一致イベントのタイムスタンプが同じ場合、後続イベントはチェーンを進められません。 ## Return Value 指定された時間ウィンドウ内で完了した連続ステップの最大数を表す整数を返します。 @@ -179,8 +179,8 @@ INSERT INTO VALUES (100123, 'login', '2022-05-14 10:01:00', 'HONOR', 1), (100123, 'visit', '2022-05-14 10:02:00', 'HONOR', 2), - (100123, 'order', '2022-05-14 10:03:00', "HONOR", 4), - (100123, 'login2', '2022-05-14 10:04:00', 'HONOR', 3), + (100123, 'login2', '2022-05-14 10:03:00', 'HONOR', 3), + (100123, 'order', '2022-05-14 10:04:00', "HONOR", 4), (100123, 'payment', '2022-05-14 10:10:00', 'HONOR', 4), (100125, 'login', '2022-05-15 11:00:00', 'XIAOMI', 1), (100125, 'visit', '2022-05-15 11:01:00', 'XIAOMI', 2), @@ -212,13 +212,13 @@ order BY +---------+-------+ | user_id | level | +---------+-------+ -| 100123 | 3 | +| 100123 | 4 | | 100125 | 3 | | 100126 | 2 | | 100127 | 2 | +---------+-------+ ``` -`uesr_id=100123`の場合、`order`イベントにマッチした後、イベントチェーンは`login2`イベントによって中断されるため、マッチしたイベントチェーンは`login-visit-order`となります。 +`uesr_id=100123` の場合、`login2` はファネル内のどの条件にも一致しません。Doris 4.1 以降では、このような無関係なイベントは `fixed` モードのチェーンを中断しないため、一致したイベントチェーンは `login-visit-order-payment` になります。4.1 より前のバージョンでは、同じデータは `login2` の位置で中断され、`login-visit`、レベル `2` で停止します。 ### example4: increase mode diff --git a/versioned_docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md b/versioned_docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md index 3394cb24645..1ade5a9095b 100644 --- a/versioned_docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md +++ b/versioned_docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md @@ -33,13 +33,13 @@ WINDOW_FUNNEL(<window>, <mode>, <timestamp>, <event_1>[, event_2, ... , event_n] **Mode** - - `default`: Defualt mode. + - `default`: Standard funnel calculation. Doris searches for the longest event chain that matches the specified order within the time window. Events that do not match any condition are ignored. - - `deduplication`: If the same event holds for the sequence of events, then such repeating event interrupts further processing. E.g. the array parameter is [event1='A', event2='B', event3='C', event4='D'], and the original event chain is "A-B-C-B-D". Since event B repeats, the filtered event chain can only be "A-B-C" and the max event level is 3. + - `deduplication`: Based on `default`, but an event that has already been matched in the current chain cannot appear again. For example, if the condition list is [event1='A', event2='B', event3='C', event4='D'] and the original event chain is `A-B-C-B-D`, the second `B` breaks the chain, so the matched event chain is `A-B-C` and the max level is `3`. - - `fixed`: Don't allow interventions of other events. E.g. the array parameter is [event1='A', event2='B', event3='C', event4='D'], and the original event chain is A->B->D->C, it stops finding A->B->C at the D and the max event level is 2. + - `fixed`: The chain must advance in the specified order and cannot skip intermediate steps. If an event that matches a later condition appears before its immediate predecessor is matched, the chain stops. Starting from Doris 4.1, events that do not match any condition are ignored and do not break the chain. For example, with [event1='A', event2='B', event3='C', event4='D'], `A-B-D-C` returns `A-B` and level `2`; with `A-B-X-C-D` (`X` matches none of the conditions), Doris 4.1 and la [...] - - `increase`: Apply conditions only to events with strictly increasing timestamps. + - `increase`: Based on `default`, but matched events must have strictly increasing timestamps. If two matched events have the same timestamp, the later event cannot advance the chain. ## Return Value Returns an integer representing the maximum number of consecutive steps completed within the specified time window. @@ -184,8 +184,8 @@ INSERT INTO VALUES (100123, 'login', '2022-05-14 10:01:00', 'HONOR', 1), (100123, 'visit', '2022-05-14 10:02:00', 'HONOR', 2), - (100123, 'order', '2022-05-14 10:03:00', "HONOR", 4), - (100123, 'login2', '2022-05-14 10:04:00', 'HONOR', 3), + (100123, 'login2', '2022-05-14 10:03:00', 'HONOR', 3), + (100123, 'order', '2022-05-14 10:04:00', "HONOR", 4), (100123, 'payment', '2022-05-14 10:10:00', 'HONOR', 4), (100125, 'login', '2022-05-15 11:00:00', 'XIAOMI', 1), (100125, 'visit', '2022-05-15 11:01:00', 'XIAOMI', 2), @@ -218,13 +218,13 @@ order BY +---------+-------+ | user_id | level | +---------+-------+ -| 100123 | 3 | +| 100123 | 4 | | 100125 | 3 | | 100126 | 2 | | 100127 | 2 | +---------+-------+ ``` -For `uesr_id=100123`, after matching the `order` event, the event chain is interrupted by the `login2` event, so the matched event chain is `login-visit-order`. +For `uesr_id=100123`, `login2` does not match any condition in the funnel. Starting from Doris 4.1, such unrelated events do not break the `fixed` chain, so the matched event chain is `login-visit-order-payment`. In Doris versions earlier than 4.1, the same data would stop at `login-visit` and return level `2`. ### example4: increase mode --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
