---
source_url: https://docs.dolphindb.cn/zh/funcs/m/msum.html
fetched_at: 2026-05-19T09:32:45Z
category: funcs
title: msum
sha1: 4d8c942143cf27f1061689147aec0420e4f19438
---

# msum

## 语法

`msum(X, window, [minPeriods])`

窗口计算规则请参考：[mFunctions](../themes/mFunctions.html)

## 详情

在给定长度（以元素个数或时间长度衡量）的滑动窗口内计算 *X* 的元素和。

## 参数

**X**  是一个向量/矩阵/表/元组（元素为标量或等长向量）/字典。

**window** 是大于等于 2 的正整型或 DURATION 标量。表示滑动窗口的长度。

注：

在流计算引擎中调用滑动窗口函数时，window 的上限为 102400。

**minPeriods** 是一个正整数。为滑动窗口中最少包含的观测值数据。

## 返回值

- 输入为向量时，返回一个与输入等长的向量。
- 输入为矩阵时，返回一个与输入矩阵同维度的矩阵，每列分别计算。
- 输入为表时，返回一个与输入表结构相同的表。
- 输入为元组时，返回对应的元组结构。

## 例子

```dolphindb
X = 2 1 3 7 6 5 4
Y = 2 1 3 NULL 6 5 4

msum(X, 3);
// output: [,,6,11,16,18,15]

msum(Y, 3);
// output: [,,6,4,9,11,15]

msum(Y, 3, minPeriods=1);
// output: [2,3,6,4,9,11,15]
```

```dolphindb
m = matrix(1 NULL 4 NULL 8 6 , 9 NULL NULL 10 NULL 2)
m.rename!(date(2020.04.06)+1..6, `col1`col2)
m.setIndexedMatrix!()
msum(m, 3d) // 等价于 msum(m, 3)
```

| label | col1 | col2 |
| --- | --- | --- |
| 2020.04.07 | 1 | 9 |
| 2020.04.08 | 1 | 9 |
| 2020.04.09 | 5 | 9 |
| 2020.04.10 | 4 | 10 |
| 2020.04.11 | 12 | 10 |
| 2020.04.12 | 14 | 12 |

```dolphindb
msum(m, 1w)
```

| label | col1 | col2 |
| --- | --- | --- |
| 2020.04.07 | 1 | 9 |
| 2020.04.08 | 1 | 9 |
| 2020.04.09 | 5 | 9 |
| 2020.04.10 | 5 | 19 |
| 2020.04.11 | 13 | 19 |
| 2020.04.12 | 19 | 21 |

相关函数：[sum](../s/sum.html)
