# Repeat - 脚本和图表功能

Repeat() 用于构成特定字符串，其中包含重复的输入字符串，重复次数由第二个参数定义。

语法：

Repeat(text[, repeat\_count])

返回数据类型： 字符串

参数

| 参数 | 描述 |
| --- | --- |
| text | 原始字符串。 |
| repeat\_count | 定义字符串 text 的字符在输出字符串中重复的次数。 |

示例 - 图表表达式

| 示例 | 结果 |
| --- | --- |
| `Repeat( ' * ', 4 )` | 返回 `****` |

## 示例 - Repeat 基本原理

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Repeat.htm)

#### 图表表达式

概述

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 `Example` 的数据表中的数据集。

* 数据表中有一个名为 `InputText` 的字段。

加载脚本

```
Example:
Load * inline [
InputText
hello world!
hOw aRe you?
];
```

结果

加载数据并打开工作表。创建新表并将该字段添加为维度：

* ` InputText
                                       `

创建以下计算维度：

* `=Repeat(InputText,2)`，用于计算 `InputText` 中重复该值的次数。在这个例子中，每个字符串将重复两次。

结果表

| InputText | Repeat(InputText,2) |
| --- | --- |
| 你好世界！ | `hello world!hello world!` |
| 你好吗？ | `hOw aRe you?hOw aRe you?` |

`Repeat` 函数的输出包括 `InputText` 字符串的两个实例，例如，第 1 行返回 `hello world!hello world!`。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Repeat.htm)

#### 加载脚本

以下代码显示了如何在加载脚本中使用该函数。

```
Example:
Load *,
repeat(String,2) as Repeat;
Load * inline [
String
hello world!
hOw aRe you? ];
```

结果表

| String | 重复 |
| --- | --- |
| hello world! | hello world!hello world! |
| hOw aRe you? | hOw aRe you?hOw aRe you? |

## 示例 – Repeat 场景

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Repeat.htm)

#### 图表表达式

概述

此示例使用客户满意度数据将数字满意度分数转换为使用笑脸表情符号 ☺ 的视觉表示。

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 `Example` 的数据表中的数据集。

* 数据表中有以下字段：

  * `Customer`

  * `SatisfactionScore`

加载脚本

```
Example:
Load * inline [
Customer, SatisfactionScore
John,4
Mary,2
Peter,5
Susan,3
];
```

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度：

* ` Customer
                                       `

* `SatisfactionScore`

创建以下计算维度：

* `=Repeat('☺',(SatisfactionScore))`，使用表情符号直观地计算和显示分数。

结果表

| 客户 | SatisfactionScore | Repeat('☺',SatisfactionScore) |
| --- | --- | --- |
| John | 4 | ☺☺☺☺ |
| 玛丽 | 2 | ☺☺ |
| 彼得 | 5 | ☺☺☺☺☺ |
| 苏珊 | 3 | ☺☺☺ |

`Repeat` 函数的输出显示了客户满意度的视觉表示，使用笑脸表情符号来表示数字满意度得分。

## 示例 - Repeat 高级场景

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Repeat.htm)

#### 图表表达式

概述

客户帐户数据集包含具有不同字符长度的帐号。此示例演示了如何使用 Repeat 函数来标准化帐号的长度。

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 加载到名为 Example 的数据表中的数据集。

* 数据表中有一个名为 AccountNo 的字段。

加载脚本

```
Example:
Load * inline [
AccountNo
123
45125783
41523
489654
];
```

结果

加载数据并打开工作表。创建新表并将该字段添加为维度：

* AccountNo

创建以下计算维度：

* =Repeat(0,10 - Len(AccountNo)) & AccountNo，用零填充帐号，使其总长度为 10 个字符。

结果表

| AccountNo | Repeat(0, 10 - Len(AccountNo)) & AccountNo |
| --- | --- |
| 123 | 0000000123 |
| 41523 | 0000041523 |
| 489654 | 0000489654 |
| 45125783 | 0045125783 |

Repeat 函数的输出对所有帐号显示 10 个字符的标准化长度 。