This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new 7ae76ea0087 docs(i18n): translate 20 Japanese pages for T09-4X-062
(#4254)
7ae76ea0087 is described below
commit 7ae76ea0087c52fb5cf54c8d641c4edfd16ed1f2
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Wed Oct 14 16:51:21 2026 +0800
docs(i18n): translate 20 Japanese pages for T09-4X-062 (#4254)
## Summary
Translate 20 Japanese pages for `T09-4X-062` from merged master
`8d395e5202c28020ca7b4d581deb5cf72df59370`. 0 pages reused a valid
same-source Dev translation; 20 required new Japanese work. All pages
have machine-reviewed state records.
## Pages
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/var-samp.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/variance.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/foreach.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/merge.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/state.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/union.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/overview.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/dense-rank.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/first-value.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lag.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/last-value.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lead.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/ntile.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/percent-rank.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/rank.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/row-number.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode.md`
-
`i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode-outer.md`
## Validation
- Bundled protected-structure and state validator: 20/20 passed.
- `git diff --check`: 30 source-inherited whitespace notices; no new
whitespace issues.
- Only the listed Japanese targets and their independent page-state
files changed.
- No local site build was run for this translation-only batch; PR CI
checks the build.
Passing pages use `reviewStatus=machine`; failed pages use
`reviewStatus=unverified`. All pages use `ownership=machine`; no human
Japanese proofreading is claimed.
Co-authored-by: morningman <[email protected]>
---
.../sql-functions/aggregate-functions/var-samp.md | 68 +++++
.../sql-functions/aggregate-functions/variance.md | 65 +++++
.../aggregate-functions/window-funnel.md | 293 +++++++++++++++++++++
.../sql-functions/combinators/foreach.md | 88 +++++++
.../sql-manual/sql-functions/combinators/merge.md | 28 ++
.../sql-manual/sql-functions/combinators/state.md | 28 ++
.../sql-manual/sql-functions/combinators/union.md | 28 ++
.../sql-functions/table-functions/explode-outer.md | 100 +++++++
.../sql-functions/table-functions/explode.md | 92 +++++++
.../sql-functions/window-functions/cume-dist.md | 87 ++++++
.../sql-functions/window-functions/dense-rank.md | 58 ++++
.../sql-functions/window-functions/first-value.md | 75 ++++++
.../sql-functions/window-functions/lag.md | 58 ++++
.../sql-functions/window-functions/last-value.md | 95 +++++++
.../sql-functions/window-functions/lead.md | 63 +++++
.../sql-functions/window-functions/ntile.md | 64 +++++
.../sql-functions/window-functions/overview.md | 152 +++++++++++
.../sql-functions/window-functions/percent-rank.md | 107 ++++++++
.../sql-functions/window-functions/rank.md | 56 ++++
.../sql-functions/window-functions/row-number.md | 48 ++++
.../aggregate-functions/var-samp.json | 20 ++
.../aggregate-functions/variance.json | 20 ++
.../aggregate-functions/window-funnel.json | 20 ++
.../sql-functions/combinators/foreach.json | 20 ++
.../sql-functions/combinators/merge.json | 20 ++
.../sql-functions/combinators/state.json | 20 ++
.../sql-functions/combinators/union.json | 20 ++
.../table-functions/explode-outer.json | 20 ++
.../sql-functions/table-functions/explode.json | 20 ++
.../sql-functions/window-functions/cume-dist.json | 20 ++
.../sql-functions/window-functions/dense-rank.json | 20 ++
.../window-functions/first-value.json | 20 ++
.../sql-functions/window-functions/lag.json | 20 ++
.../sql-functions/window-functions/last-value.json | 20 ++
.../sql-functions/window-functions/lead.json | 20 ++
.../sql-functions/window-functions/ntile.json | 20 ++
.../sql-functions/window-functions/overview.json | 20 ++
.../window-functions/percent-rank.json | 20 ++
.../sql-functions/window-functions/rank.json | 20 ++
.../sql-functions/window-functions/row-number.json | 20 ++
40 files changed, 2053 insertions(+)
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/var-samp.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/var-samp.md
new file mode 100644
index 00000000000..f5f45aaec8f
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/var-samp.md
@@ -0,0 +1,68 @@
+---
+{
+ "title": "VAR_SAMP,VARIANCE_SAMP",
+ "language": "ja",
+ "description": "VARSAMP 関数は指定した式の標本分散を計算します。VARIANCE(母分散)とは異なり、VARSAMP は
n-1 を除数として使用します。"
+}
+---
+
+## 説明
+
+VAR_SAMP 関数は指定した式の標本分散を計算します。VARIANCE(母分散)とは異なり、VAR_SAMP は n-1
を除数として使用します。標本分散は、統計学では母分散の不偏推定量とみなされます。
+
+## 別名
+
+- VARIANCE_SAMP
+
+## 構文
+
+```sql
+VAR_SAMP(<expr>)
+```
+
+## パラメータ
+
+| パラメータ | 説明 |
+| -- | -- |
+| `<expr>` | 標本分散を計算する対象の列または式。DOUBLE 型をサポートします。 |
+
+## 戻り値
+計算された標本分散を表す DOUBLE 型の値を返します。
+グループ内に有効なデータがない場合は NULL を返します。
+
+## 例
+```sql
+-- Create sample table
+CREATE TABLE student_scores (
+ student_id INT,
+ score DECIMAL(4,1)
+) DISTRIBUTED BY HASH(student_id)
+PROPERTIES (
+ "replication_num" = "1"
+);
+
+-- Insert test data
+INSERT INTO student_scores VALUES
+(1, 85.5),
+(2, 92.0),
+(3, 78.5),
+(4, 88.0),
+(5, 95.5),
+(6, 82.0),
+(7, 90.0),
+(8, 87.5);
+
+-- Calculate sample variance of student scores
+SELECT
+ VAR_SAMP(score) as sample_variance,
+ VARIANCE(score) as population_variance
+FROM student_scores;
+```
+
+```text
++------------------+---------------------+
+| sample_variance | population_variance |
++------------------+---------------------+
+| 29.4107142857143 | 25.73437500000001 |
++------------------+---------------------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/variance.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/variance.md
new file mode 100644
index 00000000000..4dc904b5147
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/variance.md
@@ -0,0 +1,65 @@
+---
+{
+ "title": "VARIANCE,VAR_POP,VARIANCE_POP",
+ "language": "ja",
+ "description": "VARIANCE 関数は、指定された式の統計的な分散を計算します。"
+}
+---
+
+## 説明
+
+VARIANCE 関数は、指定された式の統計的な分散を計算します。数値の集合が算術平均からどの程度ばらついているかを示します。
+
+## 別名
+
+- VAR_POP
+- VARIANCE_POP
+
+## 構文
+
+```sql
+VARIANCE(<expr>)
+```
+
+## パラメータ
+| パラメータ | 説明 |
+| -- | -- |
+| `<expr>` | 分散を計算する列または式。Double 型をサポートします。 |
+
+## 戻り値
+計算された分散を表す Double 型の値を返します。
+グループ内に有効なデータがない場合は NULL を返します。
+
+## 例
+```sql
+-- Create sample table
+CREATE TABLE student_scores (
+ student_id INT,
+ score DECIMAL(4,1)
+) DISTRIBUTED BY HASH(student_id)
+PROPERTIES (
+ "replication_num" = "1"
+);
+
+-- Insert test data
+INSERT INTO student_scores VALUES
+(1, 85.5),
+(2, 92.0),
+(3, 78.5),
+(4, 88.0),
+(5, 95.5),
+(6, 82.0),
+(7, 90.0),
+(8, 87.5);
+-- Calculate variance of student scores
+SELECT VARIANCE(score) as score_variance
+FROM student_scores;
+```
+
+```text
++-------------------+
+| score_variance |
++-------------------+
+| 25.73437499999998 |
++-------------------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md
new file mode 100644
index 00000000000..46061fb7cf6
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md
@@ -0,0 +1,293 @@
+---
+{
+ "title": "WINDOW_FUNNEL",
+ "language": "ja",
+ "description": "WINDOWFUNNEL
関数は、指定した時間枠内のイベントの連鎖を調べ、順序どおりに完了したステップの最大数を求めます。"
+}
+---
+
+## 説明
+
+WINDOW_FUNNEL
関数は、指定した時間枠内でイベントの連鎖を検索し、連鎖の中で完了したステップの最大数を求めることで、ユーザー行動の順序を分析します。ウェブサイトへの訪問から最終的な購入までのユーザーのコンバージョンを調べるなど、コンバージョンファネルの分析に役立ちます。
+
+この関数は次のように動作します。
+
+- 連鎖の最初の条件を満たすデータを探し、イベント数を 1 に設定します。この時点からスライディングウィンドウが始まります。
+- 時間枠内で連鎖のイベントが順序どおりに発生すると、イベント数が増加します。イベントの順序が崩れた場合は増加しません。
+- データ内に完了したステップ数の異なる複数のイベント連鎖がある場合は、最も長い連鎖の長さだけを出力します。
+
+## 構文
+
+```sql
+WINDOW_FUNNEL(<window>, <mode>, <timestamp>, <event_1>[, event_2, ... ,
event_n])
+```
+
+## パラメータ
+
+| パラメータ | 説明 |
+| -- | -- |
+| `<window>` | 時間枠の長さを秒単位で指定します。 |
+| `<mode>` | `default`、`deduplication`、`fixed`、`increase` の四つのモードがあります。詳しくは以下の
**モード** を参照してください。 |
+| `<timestamp>` | スライディングウィンドウの基準となる DATETIME 型の列を指定します。 |
+| `<event_n>` | eventID = 1004 のような真偽値式を指定します。 |
+
+**モード**
+
+- default: 標準的なファネル計算です。Doris
は時間枠内で、指定された順序に一致する最も長いイベント連鎖を探します。どの条件にも一致しないイベントは無視します。
+- deduplication: default と同様に計算しますが、現在の連鎖ですでに一致したイベントが再び現れると連鎖が途切れます。条件が
A、B、C、D の順で、イベント列が A-B-C-B-D の場合、二度目の B で途切れるため、一致する連鎖は A-B-C、最大レベルは三です。
+- fixed:
連鎖は指定された順序で進む必要があり、途中のステップを飛ばせません。直前の条件が一致する前に後続の条件に一致するイベントが現れると、連鎖は止まります。どの条件にも一致しないイベントは無視されます。条件が
A、B、C、D の順であれば、A-B-D-C は A-B まで一致してレベル二を返します。どの条件にも一致しない X を含む A-B-X-C-D
は、A-B-C-D まで一致します。
+- increase: default
と同様に計算しますが、一致するイベントのタイムスタンプは厳密に増加する必要があります。同じタイムスタンプの後続イベントでは連鎖は進みません。
+
+以下は英語の原文です。
+
+ - `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`: 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`: 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. 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 returns
`A-B-C-D`.
+
+ - `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.
+
+## 戻り値
+指定された時間枠内で順序どおりに完了した連続するステップの最大数を、整数で返します。
+
+## 例
+
+### 例 1: default モード
+
+`default` モードを使用し、各 `user_id` に対応する連続したイベントの最大数を、`5` 分の時間枠で求めます。
+
+```sql
+CREATE TABLE events(
+ user_id BIGINT,
+ event_name VARCHAR(64),
+ event_timestamp datetime,
+ phone_brand varchar(64),
+ tab_num int
+) distributed by hash(user_id) buckets 3 properties("replication_num" = "1");
+
+INSERT INTO
+ events
+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:04:00', 'HONOR', 3),
+ (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),
+ (100125, 'order', '2022-05-15 11:02:00', 'XIAOMI', 6),
+ (100126, 'login', '2022-05-15 12:00:00', 'IPHONE', 1),
+ (100126, 'visit', '2022-05-15 12:01:00', 'HONOR', 2),
+ (100127, 'login', '2022-05-15 11:30:00', 'VIVO', 1),
+ (100127, 'visit', '2022-05-15 11:31:00', 'VIVO', 5);
+
+SELECT
+ user_id,
+ window_funnel(
+ 300,
+ "default",
+ event_timestamp,
+ event_name = 'login',
+ event_name = 'visit',
+ event_name = 'order',
+ event_name = 'payment'
+ ) AS level
+FROM
+ events
+GROUP BY
+ user_id
+order BY
+ user_id;
+```
+
+```text
++---------+-------+
+| user_id | level |
++---------+-------+
+| 100123 | 3 |
+| 100125 | 3 |
+| 100126 | 2 |
+| 100127 | 2 |
++---------+-------+
+```
+
+`user_id=100123` では、`payment` イベントの発生時刻が時間枠を超えるため、一致するイベント連鎖は
`login-visit-order` です。
+
+### 例 2: deduplication モード
+
+`deduplication` モードを使用し、1 時間の時間枠で、各 user_id に対応する連続したイベントの最大数を求めます。
+
+```sql
+CREATE TABLE events(
+ user_id BIGINT,
+ event_name VARCHAR(64),
+ event_timestamp datetime,
+ phone_brand varchar(64),
+ tab_num int
+) distributed by hash(user_id) buckets 3 properties("replication_num" = "1");
+
+INSERT INTO
+ events
+VALUES
+ (100123, 'login', '2022-05-14 10:01:00', 'HONOR', 1),
+ (100123, 'visit', '2022-05-14 10:02:00', 'HONOR', 2),
+ (100123, 'login', '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),
+ (100125, 'order', '2022-05-15 11:02:00', 'XIAOMI', 6),
+ (100126, 'login', '2022-05-15 12:00:00', 'IPHONE', 1),
+ (100126, 'visit', '2022-05-15 12:01:00', 'HONOR', 2),
+ (100127, 'login', '2022-05-15 11:30:00', 'VIVO', 1),
+ (100127, 'visit', '2022-05-15 11:31:00', 'VIVO', 5);
+
+SELECT
+ user_id,
+ window_funnel(
+ 3600,
+ "deduplication",
+ event_timestamp,
+ event_name = 'login',
+ event_name = 'visit',
+ event_name = 'order',
+ event_name = 'payment'
+ ) AS level
+FROM
+ events
+GROUP BY
+ user_id
+order BY
+ user_id;
+```
+
+```text
++---------+-------+
+| user_id | level |
++---------+-------+
+| 100123 | 2 |
+| 100125 | 3 |
+| 100126 | 2 |
+| 100127 | 2 |
++---------+-------+
+```
+`user_id=100123` では、`visit` イベントに一致した後に `login` イベントが再び現れるため、一致するイベント連鎖は
`login-visit` です。
+
+### 例 3: fixed モード
+
+`fixed` モードを使用し、各 `user_id` に対応する連続したイベントの最大数を、`1` 時間の時間枠で求めます。
+
+```sql
+CREATE TABLE events(
+ user_id BIGINT,
+ event_name VARCHAR(64),
+ event_timestamp datetime,
+ phone_brand varchar(64),
+ tab_num int
+) distributed by hash(user_id) buckets 3 properties("replication_num" = "1");
+
+INSERT INTO
+ events
+VALUES
+ (100123, 'login', '2022-05-14 10:01:00', 'HONOR', 1),
+ (100123, 'visit', '2022-05-14 10:02:00', 'HONOR', 2),
+ (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),
+ (100125, 'order', '2022-05-15 11:02:00', 'XIAOMI', 6),
+ (100126, 'login', '2022-05-15 12:00:00', 'IPHONE', 1),
+ (100126, 'visit', '2022-05-15 12:01:00', 'HONOR', 2),
+ (100127, 'login', '2022-05-15 11:30:00', 'VIVO', 1),
+ (100127, 'visit', '2022-05-15 11:31:00', 'VIVO', 5);
+
+SELECT
+ user_id,
+ window_funnel(
+ 3600,
+ "fixed",
+ event_timestamp,
+ event_name = 'login',
+ event_name = 'visit',
+ event_name = 'order',
+ event_name = 'payment'
+ ) AS level
+FROM
+ events
+GROUP BY
+ user_id
+order BY
+ user_id;
+```
+
+```text
++---------+-------+
+| user_id | level |
++---------+-------+
+| 100123 | 4 |
+| 100125 | 3 |
+| 100126 | 2 |
+| 100127 | 2 |
++---------+-------+
+```
+`user_id=100123` では、`login2` はファネルのどの条件にも一致しないため、`fixed`
モードの連鎖は途切れません。一致するイベント連鎖は `login-visit-order-payment` です。
+
+### 例 4: increase モード
+
+`increase` モードを使用し、各 `user_id` に対応する連続したイベントの最大数を、`1` 時間の時間枠で求めます。
+
+```sql
+CREATE TABLE events(
+ user_id BIGINT,
+ event_name VARCHAR(64),
+ event_timestamp datetime,
+ phone_brand varchar(64),
+ tab_num int
+) distributed by hash(user_id) buckets 3 properties("replication_num" = "1");
+
+INSERT INTO
+ events
+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:04:00', 'HONOR', 4),
+ (100123, 'payment', '2022-05-14 10:04:00', 'HONOR', 4),
+ (100125, 'login', '2022-05-15 11:00:00', 'XIAOMI', 1),
+ (100125, 'visit', '2022-05-15 11:01:00', 'XIAOMI', 2),
+ (100125, 'order', '2022-05-15 11:02:00', 'XIAOMI', 6),
+ (100126, 'login', '2022-05-15 12:00:00', 'IPHONE', 1),
+ (100126, 'visit', '2022-05-15 12:01:00', 'HONOR', 2),
+ (100127, 'login', '2022-05-15 11:30:00', 'VIVO', 1),
+ (100127, 'visit', '2022-05-15 11:31:00', 'VIVO', 5);
+
+SELECT
+ user_id,
+ window_funnel(
+ 3600,
+ "increase",
+ event_timestamp,
+ event_name = 'login',
+ event_name = 'visit',
+ event_name = 'order',
+ event_name = 'payment'
+ ) AS level
+FROM
+ events
+GROUP BY
+ user_id
+order BY
+ user_id;
+```
+
+```text
++---------+-------+
+| user_id | level |
++---------+-------+
+| 100123 | 3 |
+| 100125 | 3 |
+| 100126 | 2 |
+| 100127 | 2 |
++---------+-------+
+```
+`user_id=100123` では、`payment` イベントと `order`
イベントのタイムスタンプが同じ秒であり、ステップが増加しないため、一致するイベント連鎖は `login-visit-order` です。
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/foreach.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/foreach.md
new file mode 100644
index 00000000000..4d3fd5bdd04
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/foreach.md
@@ -0,0 +1,88 @@
+---
+{
+ "title": "FOREACH",
+ "language": "ja",
+ "description": "テーブル用の集約関数を、対応する配列要素を集約して結果の配列を返す、配列用の集約関数に変換します。"
+}
+---
+
+## 説明
+
+テーブル用の集約関数を配列用の集約関数に変換します。対応する位置の配列要素を集約し、結果の配列を返します。例えば、sum_foreach を配列 [1,
2]、[3, 4, 5]、[6, 7] に適用すると、対応する位置の要素を加算して [10, 13, 5] を返します。
+
+## 構文
+
+`AGGREGATE_FUNCTION_FOREACH(arg...)`
+
+## 例
+
+サンプルデータを準備します。
+
+```sql
+CREATE TABLE db (
+ id INT,
+ a ARRAY<INT>,
+ s ARRAY<STRING>
+)
+DUPLICATE KEY(id)
+DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+
+INSERT INTO db VALUES
+ (1, [1, 2, 3], ["ab", "123"]),
+ (2, [20], ["cd"]),
+ (3, [100], ["efg"]),
+ (4, NULL, NULL),
+ (5, [null, 2], [null, "c"]);
+```
+
+次に、FOREACH コンビネータを実行します。
+
+```
+mysql [test]>select a , s from db;
++-----------+---------------+
+| a | s |
++-----------+---------------+
+| [1, 2, 3] | ["ab", "123"] |
+| [20] | ["cd"] |
+| [100] | ["efg"] |
+| NULL | NULL |
+| [null, 2] | [null, "c"] |
++-----------+---------------+
+
+mysql [test]>select sum_foreach(a) from db;
++----------------+
+| sum_foreach(a) |
++----------------+
+| [121, 4, 3] |
++----------------+
+
+mysql [test]>select count_foreach(s) from db;
++------------------+
+| count_foreach(s) |
++------------------+
+| [3, 2] |
++------------------+
+
+mysql [test]>select array_agg_foreach(a) from db;
++-----------------------------------+
+| array_agg_foreach(a) |
++-----------------------------------+
+| [[1, 20, 100, null], [2, 2], [3]] |
++-----------------------------------+
+
+mysql [test]>select map_agg_foreach(a,a) from db;
++---------------------------------------+
+| map_agg_foreach(a, a) |
++---------------------------------------+
+| [{1:1, 20:20, 100:100}, {2:2}, {3:3}] |
++---------------------------------------+
+```
+## 注意事項
+
+- 各引数は ARRAY
型である必要があり、その要素型は内部の集約関数の対応する引数の型と一致する必要があります。戻り値は、各位置で計算した内部の集約関数の戻り値を要素とする
ARRAY 型です。
+- 一度の呼び出しに複数の配列引数を渡す場合、同じ行にあるすべての配列の長さが等しい必要があります。長さが異なると、クエリは `Arrays passed
to <function> aggregate function have different sizes`
というエラーで失敗します。(配列の長さは行ごとに異なっていてもかまいません。)
+-
`percentile`、`percentile_array`、`percentile_approx`、`percentile_approx_weighted`
関数は `foreach` コンビネータに対応していません。
+
+### キーワード
+FOREACH
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/merge.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/merge.md
new file mode 100644
index 00000000000..7a2e5df3d9f
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/merge.md
@@ -0,0 +1,28 @@
+---
+{
+ "title": "MERGE",
+ "language": "ja",
+ "description": "集約処理の中間結果を集約して計算し、実際の結果を得ます。"
+}
+---
+
+## 説明
+
+集約処理の中間結果を集約して計算し、実際の結果を得ます。
+結果の型は `AGGREGATE_FUNCTION` の結果の型と同じです。
+
+## 構文
+
+`AGGREGATE_FUNCTION_MERGE(agg_state)`
+
+## 例
+```
+mysql [test]>select avg_merge(avg_state(1)) from d_table;
++-------------------------+
+| avg_merge(avg_state(1)) |
++-------------------------+
+| 1 |
++-------------------------+
+```
+### キーワード
+AGG_STATE, MERGE
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/state.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/state.md
new file mode 100644
index 00000000000..7985af01585
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/state.md
@@ -0,0 +1,28 @@
+---
+{
+ "title": "STATE",
+ "language": "ja",
+ "description": "集約関数の中間結果を返します。"
+}
+---
+
+## 説明
+
+集約関数の中間結果を返します。この結果は後続の集約処理に使用したり、MERGE コンビネータで実際の計算結果を取得したり、agg_state
型のテーブルに直接書き込んで保存したりできます。
+結果の型は agg_state で、agg_state に含まれる関数のシグネチャは `AGGREGATE_FUNCTION(arg...)` です。
+
+## 構文
+
+`AGGREGATE_FUNCTION_STATE(arg...)`
+
+## 例
+```
+mysql [test]>select avg_merge(t) from (select avg_union(avg_state(1)) as t
from d_table group by k1)p;
++----------------+
+| avg_merge(`t`) |
++----------------+
+| 1 |
++----------------+
+```
+### キーワード
+AGG_STATE,STATE
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/union.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/union.md
new file mode 100644
index 00000000000..5d54b9b0d3c
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/union.md
@@ -0,0 +1,28 @@
+---
+{
+ "title": "UNION",
+ "language": "ja",
+ "description": "複数の集約処理の中間結果を一つに集約します。結果の型は aggstate です。"
+}
+---
+
+## 説明
+
+複数の集約処理の中間結果を一つに集約します。
+結果の型は agg_state で、関数のシグネチャは入力パラメータと一致します。
+
+## 構文
+
+`AGGREGATE_FUNCTION_UNION(agg_state)`
+
+## 例
+```
+mysql [test]>select avg_merge(t) from (select avg_union(avg_state(1)) as t
from d_table group by k1)p;
++----------------+
+| avg_merge(`t`) |
++----------------+
+| 1 |
++----------------+
+```
+### キーワード
+AGG_STATE, UNION
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode-outer.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode-outer.md
new file mode 100644
index 00000000000..28f5d35f3eb
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode-outer.md
@@ -0,0 +1,100 @@
+---
+{
+ "title": "EXPLODE_OUTER",
+ "language": "ja",
+ "description": "explode 関数は配列を受け取り、配列の各要素を個別の行に展開します。"
+}
+---
+
+## 説明
+`explode` 関数は配列を受け取り、配列の各要素を個別の行に展開します。[`LATERAL
VIEW`](../../../query-data/lateral-view.md)
と組み合わせて使用し、ネストされたデータ構造を通常のフラットなテーブル形式に変換します。`explode_outer` と
[`explode`](./explode.md) の主な違いは、NULL 値の扱い方です。
+
+## 構文
+```sql
+EXPLODE_OUTER(<array>[, ...])
+```
+
+## 可変長引数
+- `<array>` 配列型。
+
+## 戻り値
+- `<array>` のすべての要素で構成される、単一列・複数行の結果を返します。
+- `<array>` が NULL または空の配列(要素数が 0)の場合、NULL を含む 1 行を返します。
+
+## 使用上の注意
+1. `<array>` 引数の型が
[`Array`](../../basic-element/sql-data-types/semi-structured/ARRAY.md)
でない場合、エラーが報告されます。
+2. 配列引数が複数ある場合、展開後の行数は要素数が最も多い配列によって決まります。要素数が少ない配列は NULL で埋められます。
+
+## 例
+0. データの準備
+ ```sql
+ create table example(
+ k1 int
+ ) properties(
+ "replication_num" = "1"
+ );
+
+ insert into example values(1);
+ ```
+1. 通常の引数
+ ```sql
+ select * from example lateral view explode_outer([1, 2, null, 4, 5]) t2
as c;
+ ```
+ ```text
+ +------+------+
+ | k1 | c |
+ +------+------+
+ | 1 | 1 |
+ | 1 | 2 |
+ | 1 | NULL |
+ | 1 | 4 |
+ | 1 | 5 |
+ +------+------+
+ ```
+2. 複数の引数
+ ```sql
+ select * from example lateral view explode_outer([], [1, 2, null, 4, 5],
["ab", "cd", "ef"], [null, null, 1, 2, 3, 4, 5]) t2 as c0, c1, c2, c3;
+ ```
+ ```text
+ +------+------+------+------+------+
+ | k1 | c0 | c1 | c2 | c3 |
+ +------+------+------+------+------+
+ | 1 | NULL | 1 | ab | NULL |
+ | 1 | NULL | 2 | cd | NULL |
+ | 1 | NULL | NULL | ef | 1 |
+ | 1 | NULL | 4 | NULL | 2 |
+ | 1 | NULL | 5 | NULL | 3 |
+ | 1 | NULL | NULL | NULL | 4 |
+ | 1 | NULL | NULL | NULL | 5 |
+ +------+------+------+------+------+
+ ```
+ > 展開後の行数が最も多い配列は `[null, null, 1, 2, 3, 4, 5]`(c3)で、7 行あります。そのため、最終結果は 7
行となり、ほかの三つの配列(c0、c1、c2)では不足する行が NULL で埋められます。
+3. 空の配列
+ ```sql
+ select * from example lateral view explode_outer([]) t2 as c;
+ ```
+ ```text
+ +------+------+
+ | k1 | c |
+ +------+------+
+ | 1 | NULL |
+ +------+------+
+ ```
+4. NULL 引数
+ ```sql
+ select * from example lateral view explode_outer(NULL) t2 as c;
+ ```
+ ```text
+ +------+------+
+ | k1 | c |
+ +------+------+
+ | 1 | NULL |
+ +------+------+
+ ```
+5. 配列以外の引数
+ ```sql
+ select * from example lateral view explode_outer('abc') t2 as c;
+ ```
+ ```text
+ ERROR 1105 (HY000): errCode = 2, detailMessage = Can not find the
compatibility function signature: explode_outer(VARCHAR(3))
+ ```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode.md
new file mode 100644
index 00000000000..7438ec5b949
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode.md
@@ -0,0 +1,92 @@
+---
+{
+ "title": "EXPLODE",
+ "language": "ja",
+ "description": "explode 関数は一つ以上の配列を受け取り、各配列の要素を個別の行に展開します。"
+}
+---
+
+## 説明
+`explode` 関数は一つ以上の配列を受け取り、各配列の要素を個別の行に展開します。[`LATERAL
VIEW`](../../../query-data/lateral-view.md)
と組み合わせて使用し、ネストされたデータ構造を通常のフラットなテーブル形式に変換します。`explode` と
[`explode_outer`](./explode-outer.md) の主な違いは、NULL 値の扱い方です。
+
+## 構文
+```sql
+EXPLODE(<array>[, ...])
+```
+
+## 可変長引数
+- `<array>` 配列型。
+
+## 戻り値
+- `<array>` のすべての要素で構成される、単一列・複数行の結果を返します。
+- `<array>` が NULL または空の配列(要素数が 0)の場合、0 行を返します。
+
+## 使用上の注意
+1. `<array>` 引数の型が
[`Array`](../../basic-element/sql-data-types/semi-structured/ARRAY.md)
でない場合、エラーが報告されます。
+2. 配列引数が複数ある場合、展開後の行数は要素数が最も多い配列によって決まります。要素数が少ない配列は NULL で埋められます。
+
+## 例
+0. データの準備
+ ```sql
+ create table example(
+ k1 int
+ ) properties(
+ "replication_num" = "1"
+ );
+
+ insert into example values(1);
+ ```
+1. 通常の引数
+ ```sql
+ select * from example lateral view explode([1, 2, null, 4, 5]) t2 as c;
+ ```
+ ```text
+ +------+------+
+ | k1 | c |
+ +------+------+
+ | 1 | 1 |
+ | 1 | 2 |
+ | 1 | NULL |
+ | 1 | 4 |
+ | 1 | 5 |
+ +------+------+
+ ```
+2. 複数の引数
+ ```sql
+ select * from example lateral view explode([], [1, 2, null, 4, 5], ["ab",
"cd", "ef"], [null, null, 1, 2, 3, 4, 5]) t2 as c0, c1, c2, c3;
+ ```
+ ```text
+ +------+------+------+------+------+
+ | k1 | c0 | c1 | c2 | c3 |
+ +------+------+------+------+------+
+ | 1 | NULL | 1 | ab | NULL |
+ | 1 | NULL | 2 | cd | NULL |
+ | 1 | NULL | NULL | ef | 1 |
+ | 1 | NULL | 4 | NULL | 2 |
+ | 1 | NULL | 5 | NULL | 3 |
+ | 1 | NULL | NULL | NULL | 4 |
+ | 1 | NULL | NULL | NULL | 5 |
+ +------+------+------+------+------+
+ ```
+ > 展開後の行数が最も多い配列は `[null, null, 1, 2, 3, 4, 5]`(c3)で、7 行あります。そのため、最終結果は 7
行となり、ほかの三つの配列(c0、c1、c2)では不足する行が NULL で埋められます。
+3. 空の配列
+ ```sql
+ select * from example lateral view explode([]) t2 as c;
+ ```
+ ```text
+ Empty set (0.03 sec)
+ ```
+4. NULL 引数
+ ```sql
+ select * from example lateral view explode(NULL) t2 as c;
+ ```
+ ```text
+ Empty set (0.03 sec)
+ ```
+5. 配列以外の引数
+ ```sql
+ select * from example lateral view explode('abc') t2 as c;
+ ```
+ ```text
+ ERROR 1105 (HY000): errCode = 2, detailMessage = Can not find the
compatibility function signature: explode(VARCHAR(3))
+ ```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
new file mode 100644
index 00000000000..afdf3d7d064
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -0,0 +1,87 @@
+---
+{
+ "title": "CUME_DIST",
+ "language": "ja",
+ "description": "CUME_DIST(累積分布)は、並べ替えた結果セットにおける現在行の値の相対的な順位を計算するウィンドウ関数です。"
+}
+---
+
+## 説明
+
+CUME_DIST(累積分布)は、並べ替えた結果セットにおける現在行の値の相対的な順位を計算するウィンドウ関数です。結果セット内の現在行の累積分布値を 0
から 1 の範囲で返します。ある行の累積分布値は、(現在行の値以下の値を持つ行数)/(ウィンドウパーティション内の総行数)で求められます。
+
+## 構文
+
+```sql
+CUME_DIST()
+```
+
+## 戻り値
+
+0 から 1 の範囲の DOUBLE 値を返します。
+
+## 例
+sales
というテーブルに、販売担当者名(sales_person)、売上額(sales_amount)、売上日(sales_date)などの売上データがあるとします。売上日ごとに、各販売担当者の売上額の累積比率を計算します。
+
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
+```sql
+SELECT
+ sales_person,
+ sales_date,
+ sales_amount,
+ CUME_DIST() OVER (PARTITION BY sales_date ORDER BY sales_amount ASC) AS
cumulative_sales_percentage
+FROM
+ sales;
+```
+
+sales テーブルに次のデータが格納されているとします。
+```sql
++------+--------------+------------+--------------+
+| id | sales_person | sales_date | sales_amount |
++------+--------------+------------+--------------+
+| 1 | Alice | 2024-02-01 | 2000 |
+| 2 | Bob | 2024-02-01 | 1500 |
+| 3 | Alice | 2024-02-02 | 1800 |
+| 4 | Bob | 2024-02-02 | 1200 |
+| 5 | Alice | 2024-02-03 | 2200 |
+| 6 | Bob | 2024-02-03 | 1900 |
+| 7 | Tom | 2024-02-03 | 2000 |
+| 8 | Jerry | 2024-02-03 | 2000 |
++------+--------------+------------+--------------+
+```
+
+上の SQL クエリを実行すると、売上日ごとに各販売担当者の売上額とその累積比率による順位が表示されます。
+
+```text
++--------------+------------+--------------+-----------------------------+
+| sales_person | sales_date | sales_amount | cumulative_sales_percentage |
++--------------+------------+--------------+-----------------------------+
+| Bob | 2024-02-01 | 1500 | 0.5 |
+| Alice | 2024-02-01 | 2000 | 1 |
+| Bob | 2024-02-02 | 1200 | 0.5 |
+| Alice | 2024-02-02 | 1800 | 1 |
+| Bob | 2024-02-03 | 1900 | 0.25 |
+| Tom | 2024-02-03 | 2000 | 0.75 |
+| Jerry | 2024-02-03 | 2000 | 0.75 |
+| Alice | 2024-02-03 | 2200 | 1 |
++--------------+------------+--------------+-----------------------------+
+```
+この例では、CUME_DIST() 関数は売上日ごとに売上額を並べ替え、その日の各販売担当者の売上額の累積比率を計算します。PARTITION BY
sales_date を使用しているため、日付が異なる場合、販売担当者の売上額はそれぞれ独立して計算されます。
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/dense-rank.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/dense-rank.md
new file mode 100644
index 00000000000..7d6df50dcea
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/dense-rank.md
@@ -0,0 +1,58 @@
+---
+{
+ "title": "DENSE_RANK",
+ "language": "ja",
+ "description": "DENSERANK() は、グループ内の順位を計算するウィンドウ関数です。RANK()
と異なり、DENSERANK() は順位を飛ばさずに連続した順位を返します。"
+}
+---
+
+## 説明
+
+DENSE_RANK() は、グループ内の順位を計算するウィンドウ関数です。RANK() と異なり、DENSE_RANK()
は順位を飛ばさずに連続した順位を返します。順位は 1 から始まり、順に増加します。同じ値には同じ順位が付けられます。
+
+## 構文
+
+```sql
+DENSE_RANK()
+```
+
+## 戻り値
+
+1 から始まる BIGINT 型の順位を返します。
+
+## 例
+
+準備として `int_t` テーブルを作成し、例で使用する行を追加します。
+
+```sql
+CREATE TABLE int_t (x INT, y INT)
+DISTRIBUTED BY HASH(x) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+
+INSERT INTO int_t VALUES
+ (1, 1), (1, 2), (1, 2),
+ (2, 1), (2, 2), (2, 3),
+ (3, 1), (3, 1), (3, 2);
+```
+
+```sql
+select x, y, dense_rank() over(partition by x order by y) as rank from int_t;
+```
+
+パーティション内で同じ値には同じ順位が付けられ、順位は飛ばさずに連続します(これが `DENSE_RANK` と `RANK` の違いです)。
+
+```text
++------+------+------+
+| x | y | rank |
++------+------+------+
+| 1 | 1 | 1 |
+| 1 | 2 | 2 |
+| 1 | 2 | 2 |
+| 2 | 1 | 1 |
+| 2 | 2 | 2 |
+| 2 | 3 | 3 |
+| 3 | 1 | 1 |
+| 3 | 1 | 1 |
+| 3 | 2 | 2 |
++------+------+------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/first-value.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/first-value.md
new file mode 100644
index 00000000000..8b48edfc374
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/first-value.md
@@ -0,0 +1,75 @@
+---
+{
+ "title": "FIRST_VALUE",
+ "language": "ja",
+ "description": "FIRSTVALUE()
は、ウィンドウパーティション内で並べ替えられた値の集合から最初の値を返すウィンドウ関数です。"
+}
+---
+
+## 説明
+
+FIRST_VALUE() は、ウィンドウパーティション内で並べ替えられた値の集合から最初の値を返すウィンドウ関数です。NULL 値の扱いは IGNORE
NULL オプションで制御できます。
+
+## 構文
+
+```sql
+FIRST_VALUE(expr[, ignore_null])
+```
+
+## パラメータ
+| パラメータ | 説明
|
+| ------------------- |
-------------------------------------------------------------------------------------------------------------------
|
+| expr | 最初の値を取得する式。対応する型:
tinyint/smallint/int/bigint/float/double/decimal/string/date/datetime/array/struct/map/bitmap
|
+| ignore_null | 省略可能な Boolean 型の引数。設定すると NULL 値を無視し、最初の NULL
でない値を返します。 |
+
+## 戻り値
+
+入力式と同じデータ型の値を返します。
+
+## 例
+
+```sql
+WITH example_data AS (
+ SELECT 1 as column1, NULL as column2, 'A' as group_name
+ UNION ALL
+ SELECT 1, 10, 'A'
+ UNION ALL
+ SELECT 1, NULL, 'A'
+ UNION ALL
+ SELECT 1, 20, 'A'
+ UNION ALL
+ SELECT 2, NULL, 'B'
+ UNION ALL
+ SELECT 2, 30, 'B'
+ UNION ALL
+ SELECT 2, 40, 'B'
+)
+SELECT
+ group_name,
+ column1,
+ column2,
+ FIRST_VALUE(column2) OVER (
+ PARTITION BY column1
+ ORDER BY column2 NULLS LAST
+ ) AS first_value_default,
+ FIRST_VALUE(column2, true) OVER (
+ PARTITION BY column1
+ ORDER BY column2
+ ) AS first_value_ignore_null
+FROM example_data
+ORDER BY column1, column2;
+```
+
+```text
++------------+---------+---------+---------------------+-------------------------+
+| group_name | column1 | column2 | first_value_default |
first_value_ignore_null |
++------------+---------+---------+---------------------+-------------------------+
+| A | 1 | NULL | 10 |
NULL |
+| A | 1 | NULL | 10 |
NULL |
+| A | 1 | 10 | 10 |
10 |
+| A | 1 | 20 | 10 |
10 |
+| B | 2 | NULL | 30 |
NULL |
+| B | 2 | 30 | 30 |
30 |
+| B | 2 | 40 | 30 |
30 |
++------------+---------+---------+---------------------+-------------------------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lag.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lag.md
new file mode 100644
index 00000000000..7cbe524dd41
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lag.md
@@ -0,0 +1,58 @@
+---
+{
+ "title": "LAG",
+ "language": "ja",
+ "description": "LAG() は、自己結合を行わずに前の行のデータを参照するウィンドウ関数です。"
+}
+---
+
+## 説明
+
+LAG() は、自己結合を行わずに前の行のデータを参照するウィンドウ関数です。パーティション内で現在の行より N 行前にある行の値を取得します。
+
+## 構文
+
+```sql
+LAG ( <expr> [, <offset> [, <default> ] ] )
+```
+
+## パラメータ
+| パラメータ | 説明 |
+| --- | --- |
+| expr | 取得する値を表す式。対応する型:
tinyint/smallint/int/bigint/float/double/decimal/string/date/datetime/ |
+| offset | 省略可能な BIGINT 型の引数。現在の行から何行前の値を取得するかを指定します。デフォルトは 1 です。 |
+| default | 省略可能な引数。型は expr と同じです。指定した行がウィンドウの範囲外にある場合に返す値です。デフォルトは NULL です。 |
+
+## 戻り値
+
+入力式と同じデータ型の値を返します。指定した行がウィンドウの範囲外にある場合は default の値を返し、default を省略した場合は NULL
を返します。
+
+## 例
+
+<!-- setup-sql
+CREATE TABLE stock_ticker (stock_symbol VARCHAR(10), closing_date DATETIME,
closing_price DOUBLE) DISTRIBUTED BY HASH(stock_symbol) BUCKETS 1
PROPERTIES("replication_num"="1");
+INSERT INTO stock_ticker VALUES ('JDR','2014-09-13
00:00:00',12.86),('JDR','2014-09-14 00:00:00',12.89),('JDR','2014-09-15
00:00:00',12.94),('JDR','2014-09-16 00:00:00',12.55),('JDR','2014-09-17
00:00:00',14.03),('JDR','2014-09-18 00:00:00',14.75),('JDR','2014-09-19
00:00:00',13.98);
+-->
+
+各銘柄について、当日の終値と前日の終値を表示します。
+
+```sql
+select stock_symbol, closing_date, closing_price,
+lag(closing_price,1, 0) over (partition by stock_symbol order by closing_date)
as "yesterday closing"
+from stock_ticker
+order by closing_date;
+```
+
+```text
++--------------+---------------------+---------------+-------------------+
+| stock_symbol | closing_date | closing_price | yesterday closing |
+| ------------ | ------------------- | ------------- | ----------------- |
+| JDR | 2014-09-13 00:00:00 | 12.86 | 0 |
+| JDR | 2014-09-14 00:00:00 | 12.89 | 12.86 |
+| JDR | 2014-09-15 00:00:00 | 12.94 | 12.89 |
+| JDR | 2014-09-16 00:00:00 | 12.55 | 12.94 |
+| JDR | 2014-09-17 00:00:00 | 14.03 | 12.55 |
+| JDR | 2014-09-18 00:00:00 | 14.75 | 14.03 |
+| JDR | 2014-09-19 00:00:00 | 13.98 | 14.75 |
++--------------+---------------------+---------------+-------------------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/last-value.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/last-value.md
new file mode 100644
index 00000000000..ad2d4d3d466
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/last-value.md
@@ -0,0 +1,95 @@
+---
+{
+ "title": "LAST_VALUE",
+ "language": "ja",
+ "description": "LAST_VALUE() は、ウィンドウフレーム内の最後の値を返すウィンドウ関数です。"
+}
+---
+
+## 説明
+
+LAST_VALUE() は、ウィンドウフレーム内の最後の値を返すウィンドウ関数です。NULL 値の扱いは IGNORE NULL オプションで制御できます。
+
+## 構文
+
+```sql
+LAST_VALUE(<expr>[, <ignore_null>])
+```
+
+## パラメータ
+| パラメータ | 説明 |
+| --- | --- |
+| expr | 最後の値を取得する式。対応する型:
tinyint/smallint/int/bigint/float/double/decimal/string/date/datetime/array/struct/map/bitmap
|
+| ignore_null | 省略可能な Boolean 型の引数。設定すると NULL 値を無視し、最後の NULL でない値を返します。 |
+
+## 戻り値
+
+入力式と同じデータ型の値を返します。
+
+## 例
+
+```sql
+WITH example_data AS (
+ SELECT 1 as id, 21 as myday, '04-21-11' as time_col, NULL as state
+ UNION ALL
+ SELECT 2, 21, '04-21-12', 2
+ UNION ALL
+ SELECT 3, 21, '04-21-13', 3
+ UNION ALL
+ SELECT 4, 22, '04-22-10-21', NULL
+ UNION ALL
+ SELECT 5, 22, '04-22-10-22', NULL
+ UNION ALL
+ SELECT 6, 22, '04-22-10-23', 5
+ UNION ALL
+ SELECT 7, 22, '04-22-10-24', NULL
+ UNION ALL
+ SELECT 8, 22, '04-22-10-25', 9
+ UNION ALL
+ SELECT 9, 23, '04-23-11', NULL
+ UNION ALL
+ SELECT 10, 23, '04-23-12', 10
+ UNION ALL
+ SELECT 11, 23, '04-23-13', NULL
+ UNION ALL
+ SELECT 12, 24, '02-24-10-21', NULL
+)
+SELECT
+ *,
+ last_value(`state`, 1) OVER(
+ PARTITION BY `myday`
+ ORDER BY `time_col` DESC
+ ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
+ ) as ignore_null,
+ last_value(`state`, 0) OVER(
+ PARTITION BY `myday`
+ ORDER BY `time_col` DESC
+ ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
+ ) as not_ignore_null,
+ last_value(`state`) OVER(
+ PARTITION BY `myday`
+ ORDER BY `time_col` DESC
+ ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
+ ) as ignore_null_default
+FROM example_data
+ORDER BY `id`, `myday`, `time_col`;
+```
+
+```text
++------+-------+-------------+-------+-------------+-----------------+---------------------+
+| id | myday | time_col | state | ignore_null | not_ignore_null |
ignore_null_default |
++------+-------+-------------+-------+-------------+-----------------+---------------------+
+| 1 | 21 | 04-21-11 | NULL | 2 | NULL |
NULL |
+| 2 | 21 | 04-21-12 | 2 | 2 | NULL |
NULL |
+| 3 | 21 | 04-21-13 | 3 | 2 | 2 |
2 |
+| 4 | 22 | 04-22-10-21 | NULL | NULL | NULL |
NULL |
+| 5 | 22 | 04-22-10-22 | NULL | 5 | NULL |
NULL |
+| 6 | 22 | 04-22-10-23 | 5 | 5 | NULL |
NULL |
+| 7 | 22 | 04-22-10-24 | NULL | 5 | 5 |
5 |
+| 8 | 22 | 04-22-10-25 | 9 | 9 | NULL |
NULL |
+| 9 | 23 | 04-23-11 | NULL | 10 | NULL |
NULL |
+| 10 | 23 | 04-23-12 | 10 | 10 | NULL |
NULL |
+| 11 | 23 | 04-23-13 | NULL | 10 | 10 |
10 |
+| 12 | 24 | 02-24-10-21 | NULL | NULL | NULL |
NULL |
++------+-------+-------------+-------+-------------+-----------------+---------------------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lead.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lead.md
new file mode 100644
index 00000000000..46b80ffa7ab
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lead.md
@@ -0,0 +1,63 @@
+---
+{
+ "title": "LEAD",
+ "language": "ja",
+ "description": "LEAD() は、自己結合を行わずに後続の行のデータを参照するウィンドウ関数です。"
+}
+---
+
+## 説明
+
+LEAD() は、自己結合を行わずに後続の行のデータを参照するウィンドウ関数です。パーティション内で現在の行より N 行後にある行の値を取得します。
+
+## 構文
+
+```sql
+LEAD ( <expr> [ , <offset> [ , <default> ] ] )
+```
+
+## パラメータ
+| パラメータ | 説明 |
+| --- | --- |
+| expr | 取得する値を表す式。対応する型:
tinyint/smallint/int/bigint/float/double/decimal/string/date/datetime/ |
+| offset | 省略可能な BIGINT 型の引数。現在の行から何行後の値を取得するかを指定します。デフォルトは 1 です。 |
+| default | 省略可能な引数。型は expr と同じです。指定した行がウィンドウの範囲外にある場合に返す値です。デフォルトは NULL です。 |
+
+## 戻り値
+
+入力式と同じデータ型の値を返します。指定した行がウィンドウの範囲外にある場合は default の値を返し、default を省略した場合は NULL
を返します。
+
+## 例
+
+<!-- setup-sql
+CREATE TABLE stock_ticker (stock_symbol VARCHAR(10), closing_date DATETIME,
closing_price DOUBLE) DISTRIBUTED BY HASH(stock_symbol) BUCKETS 1
PROPERTIES("replication_num"="1");
+INSERT INTO stock_ticker VALUES ('JDR','2014-09-13
00:00:00',12.86),('JDR','2014-09-14 00:00:00',12.89),('JDR','2014-09-15
00:00:00',12.94),('JDR','2014-09-16 00:00:00',12.55),('JDR','2014-09-17
00:00:00',14.03),('JDR','2014-09-18 00:00:00',14.75),('JDR','2014-09-19
00:00:00',13.98);
+-->
+
+各銘柄について、当日の終値と翌日の終値を比較します。
+
+```sql
+select stock_symbol, closing_date, closing_price,
+case
+(lead(closing_price,1, 0)
+over (partition by stock_symbol order by closing_date)-closing_price) > 0
+when true then "higher"
+when false then "flat or lower"
+end as "trending"
+from stock_ticker
+order by closing_date;
+```
+
+```text
++--------------+---------------------+---------------+---------------+
+| stock_symbol | closing_date | closing_price | trending |
+| ------------ | ------------------- | ------------- | ------------- |
+| JDR | 2014-09-13 00:00:00 | 12.86 | higher |
+| JDR | 2014-09-14 00:00:00 | 12.89 | higher |
+| JDR | 2014-09-15 00:00:00 | 12.94 | flat or lower |
+| JDR | 2014-09-16 00:00:00 | 12.55 | higher |
+| JDR | 2014-09-17 00:00:00 | 14.03 | higher |
+| JDR | 2014-09-18 00:00:00 | 14.75 | flat or lower |
+| JDR | 2014-09-19 00:00:00 | 13.98 | flat or lower |
++--------------+---------------------+---------------+---------------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/ntile.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/ntile.md
new file mode 100644
index 00000000000..d022b4d6fba
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/ntile.md
@@ -0,0 +1,64 @@
+---
+{
+ "title": "NTILE",
+ "language": "ja",
+ "description": "NTILE() は、並べ替えたデータセットを指定した数のほぼ均等なバケットに分割するウィンドウ関数です。"
+}
+---
+
+## 説明
+
+NTILE() は、並べ替えたデータセットを指定した数のほぼ均等なバケットに分割するウィンドウ関数です。バケットには 1
から指定したバケット数まで順番に番号が付けられます。データを均等に分割できない場合、余った行は番号の小さいバケットから割り当てられるため、各バケットの行数の差は最大
1 行です。
+
+## 構文
+
+```sql
+NTILE( <constant_value> )
+```
+
+## パラメータ
+
+| パラメータ | 説明 |
+| ---------- | ---- |
+| constant_value | 必須。作成するバケットの数を指定します。正の整数である必要があります。
+
+## 戻り値
+
+1 から指定したバケット数までの BIGINT 型のバケット番号を返します。
+
+## 使用上の注意
+
+SQL 文に NTILE 関数の ORDER BY 句と結果の ORDER BY 句の両方が含まれる場合、これらの並べ替えは互いに独立しています。
+
+- NTILE 関数の ORDER BY 句は、各行をどのバケットに割り当てるかを決定します。
+- 結果の ORDER BY 句は、結果の表示順序を決定します。
+
+## 例
+
+<!-- setup-sql
+CREATE TABLE student_scores (name VARCHAR(20), score INT) DISTRIBUTED BY
HASH(name) BUCKETS 1 PROPERTIES("replication_num"="1");
+INSERT INTO student_scores VALUES
('Alice',98),('Bob',95),('Charlie',90),('David',85),('Eve',82),('Frank',78),('Grace',75),('Henry',70);
+-->
+
+```sql
+SELECT
+ name,
+ score,
+ NTILE(4) OVER (ORDER BY score DESC) as quarter
+FROM student_scores;
+```
+
+```text
++----------+-------+---------+
+| name | score | quarter |
++----------+-------+---------+
+| Alice | 98 | 1 | -- Top 25% scores
+| Bob | 95 | 1 |
+| Charlie | 90 | 2 | -- 25-50% scores
+| David | 85 | 2 |
+| Eve | 82 | 3 | -- 50-75% scores
+| Frank | 78 | 3 |
+| Grace | 75 | 4 | -- Bottom 25% scores
+| Henry | 70 | 4 |
++----------+-------+---------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/overview.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/overview.md
new file mode 100644
index 00000000000..2800b8fbeb7
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/overview.md
@@ -0,0 +1,152 @@
+---
+{
+ "title": "概要",
+ "language": "ja",
+ "description": "ウィンドウ関数(分析関数とも呼ばれます)は、元の行を保持したまま計算を行う特殊な組み込み関数です。"
+}
+---
+
+## 説明
+
+[ウィンドウ関数](../../../query-data/window-function)(分析関数とも呼ばれます)は、元の行を保持したまま計算を行う特殊な組み込み関数です。集約関数とは異なり、ウィンドウ関数には次の特徴があります。
+
+- GROUP BY によるグループ化ではなく、指定したウィンドウ範囲内のデータを処理します
+- 結果セットの各行について値を計算します
+- SELECT リストに列を追加できます
+- クエリ処理の最後(JOIN、WHERE、GROUP BY の後)に実行されます
+
+ウィンドウ関数は、金融や科学技術計算における傾向分析、外れ値の計算、データの区分分けによく使用されます。
+
+## 構文
+
+```sql
+<FUNCTION> ( [ <ARGUMENTS> ] ) OVER ( [ <windowDefinition> ] )
+```
+
+また、次のように定義します。
+```sql
+windowDefinition ::=
+
+[ PARTITION BY <expr1> [, ...] ]
+[ ORDER BY <expr2> [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] ]
+[ <windowFrameClause> ]
+```
+
+さらに、次のように定義します。
+```sql
+windowFrameClause ::=
+{
+ | { ROWS } <n> PRECEDING
+ | { ROWS } CURRENT ROW
+ | { ROWS } BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
+ | { ROWS | RANGE } UNBOUNDED PRECEDING
+ | { ROWS | RANGE } BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+ | { ROWS | RANGE } BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
+ | { ROWS } BETWEEN <n> { PRECEDING | FOLLOWING } AND <n> { PRECEDING |
FOLLOWING }
+ | { ROWS } BETWEEN UNBOUNDED PRECEDING AND <n> { PRECEDING | FOLLOWING }
+ | { ROWS } BETWEEN <n> { PRECEDING | FOLLOWING } AND UNBOUNDED FOLLOWING
+}
+```
+
+## パラメータ
+
+`<FUNCTION>`
+>
ウィンドウ関数の名前です。すべての集約関数に加え、DENSE_RANK()、FIRST_VALUE()、LAG()、LAST_VALUE()、LEAD()、RANK()、ROW_NUMBER()、NTH_VALUE()、PERCENT_RANK()、CUME_DIST()、NTILE()
などの特殊なウィンドウ関数が含まれます。
+
+`<ARGUMENTS>`
+> 省略可能。ウィンドウ関数への入力引数です。引数の型と個数は、使用する関数によって異なります。
+
+`<PARTITION_BY>`
+> 省略可能。GROUP BY と同様に、指定した列でデータをグループ化し、各パーティション内で計算を行います。
+
+`<ORDER_BY>`
+> 省略可能。各パーティション内のデータを並べ替えます。パーティションを指定しない場合は、データセット全体を並べ替えます。ただし、この `ORDER BY`
は SQL 文の末尾に指定する通常の `ORDER BY` とは異なります。`OVER`
句内で指定する並べ替えは、そのパーティション内のデータにのみ適用されます。一方、SQL 文の末尾の `ORDER BY`
は、最終的なクエリ結果に含まれる全行の順序を制御します。両方を併用できます。
+> また、`ORDER BY` を `OVER`
句内で明示的に指定しない場合、パーティション内のデータの順序は不定となり、最終結果を予測できないことがあります。並べ替えに使う列を明示的に指定しても、値が重複していれば結果は不安定になる可能性があります。具体例については、以下の[事例](#section1)を参照してください。
+
+`<windowFrameClause>`
+> 省略可能。ウィンドウフレームを定義します。現在は `RANGE` と `ROWS` の二種類がサポートされています。
+> スライディングウィンドウを指定する `N PRECEDING/FOLLOWING` では、`N`
は正の整数で、現在の行を基準とする範囲を表します。現在、これは `ROWS`
ウィンドウでのみサポートされるため、現在の行からの物理的なオフセットを示します。`RANGE` 型には現在、いくつかの制限があります。境界は `BOTH
UNBOUNDED BOUNDARY`、または `ONE UNBOUNDED BOUNDARY AND ONE CURRENT ROW`
のいずれかでなければなりません。フレームを指定しない場合、暗黙のデフォルトフレームは `RANGE BETWEEN UNBOUNDED PRECEDING
AND CURRENT ROW` です。
+
+## 戻り値
+
+入力式と同じデータ型を返します。
+
+<a id="section1"></a>
+## 分析関数で使用するデータの並び順を一意にする
+
+**1. 戻り値が一致しない問題**
+
+ウィンドウ関数の `ORDER BY` 句によってデータの並び順が一意に決まらない場合、たとえば `ORDER BY`
式の値が重複する場合、行の順序は不定になります。そのため、クエリを実行するたびにこれらの行の返却順序が変わり、ウィンドウ関数の結果が一致しないことがあります。
+
+次の例は、同じクエリを続けて実行すると異なる結果が返ることを示しています。主な原因は、`ORDER BY date_time` だけでは `SUM`
ウィンドウ関数に対して一意な並び順が定まらないことです。
+
+```sql
+CREATE TABLE test_window_order
+ (item_id int,
+ date_time date,
+ sales double)
+distributed BY hash(item_id)
+properties("replication_num" = 1);
+
+INSERT INTO test_window_order VALUES
+(1, '2024-07-01', 100),
+(2, '2024-07-01', 100),
+(3, '2024-07-01', 140);
+
+SELECT
+ item_id, date_time, sales,
+ sum(sales) OVER (ORDER BY date_time ROWS BETWEEN
+ UNBOUNDED PRECEDING AND CURRENT ROW) sum
+FROM
+ test_window_order;
+```
+
+並べ替えに使う列 `date_time` に重複する値があるため、次の二種類のクエリ結果が得られることがあります。
+
+```sql
++---------+------------+-------+------+
+| item_id | date_time | sales | sum |
++---------+------------+-------+------+
+| 1 | 2024-07-01 | 100 | 100 |
+| 3 | 2024-07-01 | 140 | 240 |
+| 2 | 2024-07-01 | 100 | 340 |
++---------+------------+-------+------+
+3 rows in set (0.03 sec)
++---------+------------+-------+------+
+| item_id | date_time | sales | sum |
++---------+------------+-------+------+
+| 2 | 2024-07-01 | 100 | 100 |
+| 1 | 2024-07-01 | 100 | 200 |
+| 3 | 2024-07-01 | 140 | 340 |
++---------+------------+-------+------+
+3 rows in set (0.02 sec)
+```
+
+**2. 解決方法**
+
+この問題に対処するには、`item_id` のような一意の値を持つ列を `ORDER BY` 句に追加し、並び順が一意に決まるようにします。
+
+```sql
+SELECT
+ item_id,
+ date_time,
+ sales,
+ sum(sales) OVER (
+ ORDER BY item_id,
+ date_time ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum
+FROM
+ test_window_order;
+```
+
+これにより、クエリ結果は毎回同じになります。
+
+```sql
++---------+------------+-------+------+
+| item_id | date_time | sales | sum |
++---------+------------+-------+------+
+| 1 | 2024-07-01 | 100 | 100 |
+| 2 | 2024-07-01 | 100 | 200 |
+| 3 | 2024-07-01 | 140 | 340 |
++---------+------------+-------+------+
+3 rows in set (0.03 sec)
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/percent-rank.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/percent-rank.md
new file mode 100644
index 00000000000..a3661f2c3cc
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/percent-rank.md
@@ -0,0 +1,107 @@
+---
+{
+ "title": "PERCENT_RANK",
+ "language": "ja",
+ "description": "PERCENT_RANK() は、パーティションまたは結果セット内における行の相対的な順位を計算し、0.0 から
1.0 の値を返すウィンドウ関数です。"
+}
+---
+
+## 説明
+
+PERCENT_RANK() は、パーティションまたは結果セット内における行の相対的な順位を計算し、0.0 から 1.0
の値を返すウィンドウ関数です。各行の値は (rank - 1) / (total_rows - 1) で計算されます。ここで rank
は現在の行の順位、total_rows はパーティション内の総行数です。
+
+## 構文
+
+```sql
+PERCENT_RANK()
+```
+
+## 戻り値
+
+0.0 から 1.0 の範囲の DOUBLE 値を返します。
+- パーティション内の最初の行には常に 0 を返します
+- パーティション内の最後の行には常に 1 を返します
+- 同じ値には同じパーセント順位を返します
+
+## 例
+
+```sql
+CREATE TABLE test_percent_rank (
+ productLine VARCHAR,
+ orderYear INT,
+ orderValue DOUBLE,
+ percentile_rank DOUBLE
+) ENGINE=OLAP
+DISTRIBUTED BY HASH(`orderYear`) BUCKETS 4
+PROPERTIES (
+"replication_allocation" = "tag.location.default: 1"
+);
+```
+
+```sql
+INSERT INTO test_percent_rank (productLine, orderYear, orderValue,
percentile_rank) VALUES
+('Motorcycles', 2003, 2440.50, 0.00),
+('Trains', 2003, 2770.95, 0.17),
+('Trucks and Buses', 2003, 3284.28, 0.33),
+('Vintage Cars', 2003, 4080.00, 0.50),
+('Planes', 2003, 4825.44, 0.67),
+('Ships', 2003, 5072.71, 0.83),
+('Classic Cars', 2003, 5571.80, 1.00),
+('Motorcycles', 2004, 2598.77, 0.00),
+('Vintage Cars', 2004, 2819.28, 0.17),
+('Planes', 2004, 2857.35, 0.33),
+('Ships', 2004, 4301.15, 0.50),
+('Trucks and Buses', 2004, 4615.64, 0.67),
+('Trains', 2004, 4646.88, 0.83),
+('Classic Cars', 2004, 8124.98, 1.00),
+('Ships', 2005, 1603.20, 0.00),
+('Motorcycles', 2005, 3774.00, 0.17),
+('Planes', 2005, 4018.00, 0.50),
+('Vintage Cars', 2005, 5346.50, 0.67),
+('Classic Cars', 2005, 5971.35, 0.83),
+('Trucks and Buses', 2005, 6295.03, 1.00);
+```
+
+```sql
+SELECT
+ productLine,
+ orderYear,
+ orderValue,
+ ROUND(
+ PERCENT_RANK()
+ OVER (
+ PARTITION BY orderYear
+ ORDER BY orderValue
+ ),2) percentile_rank
+FROM
+ test_percent_rank
+ORDER BY
+ orderYear;
+```
+
+```text
++------------------+-----------+------------+-----------------+
+| productLine | orderYear | orderValue | percentile_rank |
++------------------+-----------+------------+-----------------+
+| Motorcycles | 2003 | 2440.5 | 0 |
+| Trains | 2003 | 2770.95 | 0.17 |
+| Trucks and Buses | 2003 | 3284.28 | 0.33 |
+| Vintage Cars | 2003 | 4080 | 0.5 |
+| Planes | 2003 | 4825.44 | 0.67 |
+| Ships | 2003 | 5072.71 | 0.83 |
+| Classic Cars | 2003 | 5571.8 | 1 |
+| Motorcycles | 2004 | 2598.77 | 0 |
+| Vintage Cars | 2004 | 2819.28 | 0.17 |
+| Planes | 2004 | 2857.35 | 0.33 |
+| Ships | 2004 | 4301.15 | 0.5 |
+| Trucks and Buses | 2004 | 4615.64 | 0.67 |
+| Trains | 2004 | 4646.88 | 0.83 |
+| Classic Cars | 2004 | 8124.98 | 1 |
+| Ships | 2005 | 1603.2 | 0 |
+| Motorcycles | 2005 | 3774 | 0.2 |
+| Planes | 2005 | 4018 | 0.4 |
+| Vintage Cars | 2005 | 5346.5 | 0.6 |
+| Classic Cars | 2005 | 5971.35 | 0.8 |
+| Trucks and Buses | 2005 | 6295.03 | 1 |
++------------------+-----------+------------+-----------------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/rank.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/rank.md
new file mode 100644
index 00000000000..878e766906a
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/rank.md
@@ -0,0 +1,56 @@
+---
+{
+ "title": "RANK",
+ "language": "ja",
+ "description": "RANK() は、並べ替えられたデータセット内の値の順位を返すウィンドウ関数です。順位は 1
から始まり、順に増加します。"
+}
+---
+
+## 説明
+
+RANK() は、並べ替えられたデータセット内の値の順位を返すウィンドウ関数です。順位は 1
から始まり、順に増加します。同じ値には同じ順位が付けられますが、その結果、順位に欠番が生じます。たとえば、最初の二行がともに 1 位の場合、次の異なる値には
3 位が付けられます(2 位ではありません)。
+
+## 構文
+
+```sql
+RANK()
+```
+
+## 戻り値
+
+BIGINT 型の順位を返します。同じ値には同じ順位を返しますが、順位に欠番が生じます。
+
+## 例
+
+<!-- setup-sql
+CREATE TABLE employees (department VARCHAR(20), employee_name VARCHAR(20),
salary INT) DISTRIBUTED BY HASH(employee_name) BUCKETS 1
PROPERTIES("replication_num"="1");
+INSERT INTO employees VALUES
('Sales','Alice',10000),('Sales','Bob',10000),('Sales','Charlie',8000),('IT','David',12000),('IT','Eve',11000),('IT','Frank',11000),('IT','Grace',9000);
+-->
+
+```sql
+SELECT
+ department,
+ employee_name,
+ salary,
+ RANK() OVER (
+ PARTITION BY department
+ ORDER BY salary DESC
+ ) as salary_rank
+FROM employees;
+```
+
+```text
++------------+---------------+--------+-------------+
+| department | employee_name | salary | salary_rank |
++------------+---------------+--------+-------------+
+| Sales | Alice | 10000 | 1 |
+| Sales | Bob | 10000 | 1 |
+| Sales | Charlie | 8000 | 3 | -- Note this is 3, not 2
+| IT | David | 12000 | 1 |
+| IT | Eve | 11000 | 2 |
+| IT | Frank | 11000 | 2 |
+| IT | Grace | 9000 | 4 | -- Note this is 4, not 3
++------------+---------------+--------+-------------+
+```
+
+この例では、データを部門ごとに分け、各部門内で給与に基づいて順位を付けています。Alice と Bob、Eve と Frank
のように給与が同じ場合は同じ順位になり、それ以降の順位に欠番が生じます。
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/row-number.md
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/row-number.md
new file mode 100644
index 00000000000..6dd15caaf4f
--- /dev/null
+++
b/i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/row-number.md
@@ -0,0 +1,48 @@
+---
+{
+ "title": "ROW_NUMBER",
+ "language": "ja",
+ "description": "ROWNUMBER() は、パーティション内の各行に一意の連番を割り当てるウィンドウ関数です。"
+}
+---
+
+## 説明
+
+ROW_NUMBER() は、パーティション内の各行に一意の連番を割り当てるウィンドウ関数です。番号は 1 から始まり、連続して増加します。RANK() や
DENSE_RANK() とは異なり、同じ値の行にも異なる番号を割り当てるため、各行に一意の番号が付きます。
+
+## 構文
+
+```sql
+ROW_NUMBER()
+```
+
+## 戻り値
+
+1 から始まり、連続して増加する BIGINT 型の連番を返します。番号は各パーティション内で一意です。
+
+## 例
+
+<!-- setup-sql
+CREATE TABLE int_t (x INT, y INT) DISTRIBUTED BY HASH(x) BUCKETS 1
PROPERTIES("replication_num"="1");
+INSERT INTO int_t VALUES (1,1),(1,2),(1,2),(2,1),(2,2),(2,3),(3,1),(3,1),(3,2);
+-->
+
+```sql
+select x, y, row_number() over(partition by x order by y) as rank from int_t;
+```
+
+```text
++-----+-----+------+
+| x | y | rank |
+| --- | --- | ---- |
+| 1 | 1 | 1 |
+| 1 | 2 | 2 |
+| 1 | 2 | 3 |
+| 2 | 1 | 1 |
+| 2 | 2 | 2 |
+| 2 | 3 | 3 |
+| 3 | 1 | 1 |
+| 3 | 1 | 2 |
+| 3 | 2 | 3 |
++-----+-----+------+
+```
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/var-samp.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/var-samp.json
new file mode 100644
index 00000000000..c16a9eaa0ed
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/var-samp.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/aggregate-functions/var-samp",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/aggregate-functions/var-samp.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/var-samp.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"bae5c7c9f289aa0e3056b0255e1c622638e1329329482d6a04e14843e1efaba9",
+ "sourceTechnicalHash":
"b022f899be29877d7610634498e2ca794ad19a54aa38e4d869aa0ade52619dd5",
+ "targetHash":
"b8ac358d973a80b41bfe905f0d7eb6b1bc59ccfbfb96a99f12e9437f693d2c97",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.112Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/variance.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/variance.json
new file mode 100644
index 00000000000..de0cb936ef0
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/variance.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/aggregate-functions/variance",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/aggregate-functions/variance.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/variance.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"b2dd309e3396021cafd4e5609fe05804c87da4f95b07b6ce5b95cdef9d928d95",
+ "sourceTechnicalHash":
"7da86d4ba895fd7140e3fa754cc7f8557fd4838d14178847ae3127e86df2341e",
+ "targetHash":
"c37718177162eb82bb6827091db1e2924e275c5101406cea5a84bbd41f4392e3",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.112Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.json
new file mode 100644
index 00000000000..9830c8f82f6
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/aggregate-functions/window-funnel",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/aggregate-functions/window-funnel.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"547446883b06d5aa295fd7eb462317134a48ff29c8ad253dfa7c962f87b1bffb",
+ "sourceTechnicalHash":
"9ad24ddade6ecfe7009480ada891a4a93093860f25614c342fd75174c0dcdb73",
+ "targetHash":
"baf442d7adef6fae347c4cf133a102ae50341da6ad045d71e1ad6a093d7f1782",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.112Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/foreach.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/foreach.json
new file mode 100644
index 00000000000..864206f3c7c
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/foreach.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/combinators/foreach",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/combinators/foreach.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/foreach.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"53e484eb057c01e070182ac19c9f27cad6efb1603d6f540d71a3ed6c5c174753",
+ "sourceTechnicalHash":
"c662fdc9a40d7162c34ccd31e6d1c8fa2c663c8be9fc743557c3092996fdf861",
+ "targetHash":
"5d294585b5b068a1f6e78c9ed7a1774fe9aca3d8a1ba242bce4b1f8880a4c2d8",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.112Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/merge.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/merge.json
new file mode 100644
index 00000000000..246eccd33f9
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/merge.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/combinators/merge",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/combinators/merge.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/merge.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"abda7355363afb8cff418b0187a37abc11a979bf394908bad6fda9552b0306da",
+ "sourceTechnicalHash":
"2c5b614532664d975f25c863602b04f0f4a65d789b1f8a64b08e94c92bfbe298",
+ "targetHash":
"22e92c92bdb5037cf0feb64e86e36234ae984b8f7207825a2746365221963d2c",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.112Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/state.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/state.json
new file mode 100644
index 00000000000..7b11e27c700
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/state.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/combinators/state",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/combinators/state.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/state.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"dfddde7371e2f39f3d06ab6b262bbde7d648bd1cefde71dc746002b997bfdbdb",
+ "sourceTechnicalHash":
"e8c2ca892ee7930aa866dfc3ada22440c3bdd2099f147f5d2281f7b4b3a46ec7",
+ "targetHash":
"327b33b1c16e3ee5cf4a95db53c6657b4584dab41db426f35c933f3d0de54a3e",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.112Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/union.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/union.json
new file mode 100644
index 00000000000..d1e1e1fea33
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/combinators/union.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/combinators/union",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/combinators/union.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/combinators/union.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"408309954448f8eb006fa521c2df0bd702a29fc1939d1a787048f05ecd0bc08a",
+ "sourceTechnicalHash":
"f657e80485e81a1457c64e6ed52ffe74946b976f7165bf87a0f73e2c0ad74ce2",
+ "targetHash":
"d8382e67a93eb56270c0819d2353be618d7c3deb0e24d50380e265e1292d170c",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.112Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/table-functions/explode-outer.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/table-functions/explode-outer.json
new file mode 100644
index 00000000000..2b42e296db3
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/table-functions/explode-outer.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/table-functions/explode-outer",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/table-functions/explode-outer.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode-outer.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"660e734df286f6be2c82d1113c12e698d4964ef80ddf4e54dd0d261c9ffb70f2",
+ "sourceTechnicalHash":
"17c622239f508ac361d39f733c4dac5454d484fdca1411fbf37b32c30546f1fa",
+ "targetHash":
"a19fec34feb07c2e73e7ba47afff2f97228e73736a9f4dd22296e700ebda9355",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/table-functions/explode.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/table-functions/explode.json
new file mode 100644
index 00000000000..7dd3b256757
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/table-functions/explode.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/table-functions/explode",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/table-functions/explode.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/table-functions/explode.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"5c7186c36743b03ec1b0789b287556d4e757810c150de54ab4bd1fd375470679",
+ "sourceTechnicalHash":
"e5abc599befb5e6dc29fbcc29e2ae1e10f028859fc52e7c4f3619bf3f8ab4ce2",
+ "targetHash":
"169348f7070ed3d1f0335f9c2583fb4cd68759afaef5866dcf447f519c45ca73",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/cume-dist.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/cume-dist.json
new file mode 100644
index 00000000000..553b81b4a3d
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/cume-dist.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/cume-dist",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"00da9e17986ec79fb3e9cd425ac3013ebc82d2315eafe6c7d166b727d3b4ea06",
+ "sourceTechnicalHash":
"8648ff85e0b8241a2faaaf2a1275ca526ff7bd5b79e864d192ed83afecf97548",
+ "targetHash":
"e0f14a57f589e92ee9f829a20e6c7ce5f0c4f8381ee8be911b3f2853cc537137",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/dense-rank.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/dense-rank.json
new file mode 100644
index 00000000000..84227ef470a
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/dense-rank.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/dense-rank",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/dense-rank.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/dense-rank.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"878fe68463e0483812bab00a56c7ec4e26b46c3c71532f4de4f88e8495526d04",
+ "sourceTechnicalHash":
"25e0ed6ecd74ca9196245b2354e2bdd3dffcc4a96ede0a58e095c3fb691b5d37",
+ "targetHash":
"84c09e7cd24304ce71468324b22cb64f937b830b60be5e8e224f7c4a46584283",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/first-value.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/first-value.json
new file mode 100644
index 00000000000..3ffe07f3503
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/first-value.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/first-value",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/first-value.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/first-value.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"06b65fa4a96d8052bdf942d8a08f5495f7f6c95e508779d2dd1ff917386cd18f",
+ "sourceTechnicalHash":
"f8eb3cf8954d82f5f76b26bb8097387a744b3995dcebd55f9909ce12b1b1c652",
+ "targetHash":
"c06b29aaf14c1379c06f77bedeea9f7cff19aad8a4a73c9ecacef24ad9e6f90c",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/lag.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/lag.json
new file mode 100644
index 00000000000..bbc64442fde
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/lag.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/lag",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/lag.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lag.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"25f8ab9b6ef16f7ea199f525aa0dfd2920db2a19178f6533da5a05f0672d90a1",
+ "sourceTechnicalHash":
"1315f0915d2decf0d1b52480bb11980718e2f4d012e814563924e8e7141a65e5",
+ "targetHash":
"127e2402d3b5778e745e087c12ee467ae27105261e1af4b56bd2061c32af9dc5",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/last-value.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/last-value.json
new file mode 100644
index 00000000000..ce19c5ba69a
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/last-value.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/last-value",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/last-value.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/last-value.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"55cd266ecfa3e459ed157e58fb26c011e926bc857045e76fa1c14a938f28bd45",
+ "sourceTechnicalHash":
"e29f2c0ad08638778d2bc18bf7d79a5d7fdb620d7ec6194d3b6d36f911bc1d06",
+ "targetHash":
"efeefbaa1ebac0e65ca1e422832e392bc22a73425050ca6ada4579e9aec6df82",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/lead.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/lead.json
new file mode 100644
index 00000000000..cf77e7f9d00
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/lead.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/lead",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/lead.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/lead.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"9814b62ff4b61448865709cad2ddc7432356a7c3d10d1074d18cc5d1d5fa0c1b",
+ "sourceTechnicalHash":
"9cfed6c497f56f440cf6303af0bc85dfc9ab66fcaaeed14ab980abd6259adf60",
+ "targetHash":
"fec8efa3975f4244d28bfa1b70b22646688d5e36342a83a104c87a1c8a31ae8b",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/ntile.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/ntile.json
new file mode 100644
index 00000000000..fb6df86b1bf
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/ntile.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/ntile",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/ntile.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/ntile.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"f7eb4ed8169751db348837c456ec6fbf7e87283983e196b74d36b0a503528a60",
+ "sourceTechnicalHash":
"e852376dd9ea90a19d8834b70f0355e181eb4d0c6b31bb9f9a7ca8834789a3ca",
+ "targetHash":
"e0dec77b73316be043fece44fc6c0caae300e2f0916801d8391d4cd50ef2d711",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/overview.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/overview.json
new file mode 100644
index 00000000000..895e43e1a8c
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/overview.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/overview",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/overview.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/overview.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"73dc02aba5261bf6f65981a18d29931f65ff81e895907234069521d7c27bdeea",
+ "sourceTechnicalHash":
"c40cbc637fc0fc6ecf68cee8c468169733498ae652eba21e8abf8ef1a469579a",
+ "targetHash":
"393cd01ae5ad0dca9d8345e2c4c3b90f8838c45f527ccabc771a4a4a065e1787",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/percent-rank.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/percent-rank.json
new file mode 100644
index 00000000000..024c9cbc7a7
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/percent-rank.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/percent-rank",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/percent-rank.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/percent-rank.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"bb85bf2c652043d0f103e3c7d8c3d81adc75f4014960418b3b893ea71fcc432c",
+ "sourceTechnicalHash":
"877871eaeb89c1e5c0ea2438f1947e1ae25fa15597051168df3ed0bdb7d879a8",
+ "targetHash":
"e7334a51fb6500024f87c6de2fbc5b1168be0f58f41a62429cac54fdaba72a68",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/rank.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/rank.json
new file mode 100644
index 00000000000..999f7b408a4
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/rank.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/rank",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/rank.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/rank.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"5032af683c45911d4ca5363cd93e63a3c54791df0e27ce002ebff0996b91a627",
+ "sourceTechnicalHash":
"fba810f4760599782a231f6ad0e445a1be4c34632c05400baaa5d369769e2134",
+ "targetHash":
"d9c5b33625463e045eaa73764a7d93f838aeea13177b6462b99f6f9212b283ca",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
diff --git
a/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/row-number.json
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/row-number.json
new file mode 100644
index 00000000000..212ad8feb15
--- /dev/null
+++
b/translations/state/ja/pages/default/4.x/sql-manual/sql-functions/window-functions/row-number.json
@@ -0,0 +1,20 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "4.x",
+ "docId": "sql-manual/sql-functions/window-functions/row-number",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/row-number.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/row-number.md",
+ "sourceCommit": "8d395e5202c28020ca7b4d581deb5cf72df59370",
+ "sourceHash":
"8175f5429becf9f6ec53cdee8bfff91dfcb84a7a4cc9e437f0e882ccbcbd5f5f",
+ "sourceTechnicalHash":
"b3d9b17ee7c47756c8b59d2b2f730fc7cfda7f6b79642aaa01a4212203f53d6b",
+ "targetHash":
"a22d2619d469ae6e265d9ad6dedce55058133cdd2df365ca107717134745e803",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-14T06:36:14.113Z",
+ "glossaryVersion": "0"
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]