变量操作

要在桌面流中手动创建变量,请部署设置变量操作。 此操作要求您为新变量提供名称和值。

设置变量操作的屏幕截图。

重要提示

保留关键字不能用作变量名。 有关保留关键字的完整列表,请访问桌面流中的保留关键字

若要增加或减少变量的数值,请分别使用增加变量减少变量操作。

增加变量操作的屏幕截图。

大多数操作将其结果输出为变量。 例如,创建新列表操作会生成一个空列表。

同样,生成随机数字操作会生成一个随机数值。 如果您在此操作中启用生成多个数字,您将创建一个包含多个随机数字值的列表变量。

生成随机数字操作的屏幕截图。

要将项添加到现有列表中,请部署将项添加到列表中操作,并填充硬编码值或变量以定义要添加的项。 同样,您可以使用从列表中删除项操作从列表中删除项目。

备注

列表索引从 0 开始,这意味着列表中的第一项的索引始终为 0。 使用表示法 %ListName[0]% 引用列表中的第一个项,使用 %ListName[1]% 引用第二个项,以此类推。

如果要创建数据表变量,部署创建新数据表操作并使用视觉对象生成器指定它的初始项。

要操作数据表变量,使用相应操作子组的操作,如在数据表中查找或替换更新数据表项操作。

创建新数据表操作的屏幕截图。

创建新数据表

创建新数据表变量。

输入参数

参数 可选 接受 默认值 说明
新表 数据表 输入数据表

生成的变量

参数 类型​​ 说明
DataTable 数据表 新数据表

异常

此操作不包含任何例外。

将行插入到数据表中

在特定索引值末尾或之前插入行。

输入参数

参数 可选 接受 默认值 说明
数据表 数据表 要使用的数据表变量。 此变量以前必须已由生成数据表变量的操作指定
插入位置 不适用 数据表末尾,行索引之前 数据表的末尾 指定是在此数据表的末尾还是在指定行索引之前插入新行
行索引 数值 插入将“行索引之前”指定为“插入位置”参数之后要使用的行索引值
新值 列表数据行 此参数接受列表或数据行变量,其中列数应与数据表中的列数匹配

生成的变量

此操作不会生成任何变量。

异常

例外 说明
项索引超出范围 指示提供的项索引超出范围
输入参数无效 表示存在无效的输入参数
不兼容的类型错误 表示提供了不兼容类型的输入参数

从数据表中删除行

在相应的行索引处删除数据表行。

输入参数

参数 可选 接受 默认值 说明
数据表 数据表 要使用的数据表变量。 此变量必须由生成数据表变量的操作指定
行索引 数值 数据表中应删除的行索引

生成的变量

此操作不会生成任何变量。

异常

例外 说明
项索引超出范围 指示指定的数据表项超出范围

更新数据表项

更新已定义列上的数据表行项。

输入参数

参数 可选 接受 默认值 说明
数据表 数据表 要使用的数据表变量。 此变量必须已由生成数据表变量的操作预先指定。
Column 文本值 要更新的项的列名或索引。
数值 要更新的项的行索引。
新值 文本值 要在指定的行索引和列处更新的新值。

生成的变量

此操作不会生成任何变量。

异常

例外 说明
项索引超出范围 指示指定的数据表项超出范围
列名称不存在 指示提供的列名称不存在
列索引超出范围 指示提供的列索引超出范围
不兼容的类型错误 指示提供了不兼容类型的输入参数

在数据表中查找或替换

查找和/或替换数据表值。

输入参数

参数 可选 接受 默认值 说明
数据表 数据表 要使用的数据表变量。 此变量以前必须已由生成数据表变量的操作指定
搜索模式 不适用 查找,查找并替换 查找 要用于搜索的模式(查找或查找并替换)
所有匹配项 不适用 布尔值 True 指定是在找到的所有匹配单元格中还是仅在第一个匹配单元格中查找或替换文本
要查找的文本 文本值 要在数据表中查找的文本
使用正则表达式查找 不适用 布尔值 False 指定是否使用正则表达式将单元格内容与要查找的文本进行匹配
区分大小写 不适用 布尔值 False 指定是否搜索区分大小写的数据
匹配整个单元格内容 不适用 布尔值 False 指定是否搜索仅包含指定文本的单元格
要替换为的文本 文本值 用于替换匹配单元格的文本
搜索依据 不适用 所有位置,在列上 所有位置 (在所有位置或在列上)搜索文本所采用的顺序
列名称或索引 文本值 列标题或索引值

生成的变量

参数 类型​​ 说明
DataTableMatches 数据表 包含匹配的行和列索引的数据表

异常

例外 说明
提供的正则表达式无效 指示所提供的正则表达式无效
列名称不存在 指示提供的列名称不存在
列索引超出范围 指示提供的列索引超出范围
不兼容的类型错误 表示提供了不兼容类型的输入参数

将列插入到数据表中

在特定索引值的末尾或前面插入一列。

输入参数

参数 可选 接受 默认值 说明
数据表 数据表 要使用的数据表变量。 此变量必须由生成数据表变量的操作指定。
插入位置 不可用 数据表结尾,在列索引之前 数据表的末尾 指定是在数据表的末尾还是在指定的列索引之前插入新列。
列名称 文本值 指定新列的标题。
列索引 数值 Into location 参数选择列索引之前选项时,指定使用的列索引值。

生成的变量

此操作不会生成任何变量。

异常

例外 Description
列索引超出范围 表示所提供的列索引超出范围。
列名重复 表示所提供的列名已经存在。

从数据表中删除列

删除指定列索引或列名的数据表列。

输入参数

参数 可选 接受 默认值 说明
数据表 数据表 要使用的数据表变量。 此变量必须由生成数据表变量的操作指定。
指定具有以下内容的列 不可用 名称、索引 客户 指定通过名称或索引查找列。
列名称 文本值 要删除的列名。
列索引 数值 应删除的列的索引。 列索引从 0 开始。

生成的变量

此操作不会生成任何变量。

异常

例外 Description
列名称不存在 指示提供的列名称不存在
列索引超出范围 指示提供的列索引超出范围

从数据表中删除空行

删除数据表中所有单元格为空的行。

输入参数

参数 可选 接受 默认值 说明
数据表 数据表 要使用的数据表变量。 此变量以前必须已由生成数据表变量的操作指定

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

从数据表中删除重复行

删除数据表中所有重复的行,如果各列中的值具有相同的数据类型。

输入参数

参数 可选 接受 默认值 说明
Data table 数据表 要使用的数据表变量。 必须通过生成数据表变量的操作定义指定的变量。

生成的变量

此操作不会生成任何变量。

异常

例外 Description
列单元格中的类型不匹配 指示单列中的两个或更多个值具有不同的数据类型

清除数据表

删除数据表的所有行,表头不受影响。

输入参数

参数 可选 接受 默认值 说明
Data table 数据表 要使用的数据表变量。 必须通过生成数据表变量的操作定义指定的变量。

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

对数据表进行排序

如果数据表中所有列的数据类型相同,则按指定列以升序或降序对数据表行排序。

输入参数

参数 可选 接受 默认值 说明
Data table 数据表 要使用的数据表变量。 必须通过生成数据表变量的操作定义指定的变量。
指定具有以下内容的列 不可用 名称、索引 客户 指定通过名称或索引查找列。
列名称 文本值 应排序的列的名称。
列索引 数值 应排序的列的索引。 列索引从 0 开始。
顺序 不可用 升序、降序 升序 数据表的排序顺序。

生成的变量

此操作不会生成任何变量。

异常

例外 Description
列名称不存在 ​表示所提供的列名不存在
列索引超出范围 ​表示所提供的列索引超出范围
列单元格中的类型不匹配 指示单列中的两个或更多个值具有不同的数据类型

筛选数据表

根据应用的规则过滤数据表行。

在帮助您创建所需筛选器的操作的内置向导中,可以将多个筛选器应用于按名称或索引定义的不同列。 每个过滤器都由目标列、选择的运算符和赋值组成。

此外,会通过 AND 和/或 OR 规则一起应用多个筛选器。 在生成的筛选器表达式中先解析 AND 规则,然后解析 OR 规则。

输入参数

参数 可选 接受 默认值 说明
Data table 数据表 要使用的数据表变量。 必须通过生成数据表变量的操作定义指定的变量。
要应用的筛选器 用户定义的过滤规则 不可用 应用于定义的列的筛选规则

生成的变量

参数 类型​​ Description
FilteredDataTable 数据表 应用筛选器后生成的数据表

异常

例外 Description
列名称不存在 ​表示所提供的列名不存在
列索引超出范围 ​表示所提供的列索引超出范围
列单元格中的类型不匹配 指示单列中的两个或更多个值具有不同的数据类型

合并数据表

将两个数据表合并在一起,当其列数不同时指定合并行为。

输入参数

参数 可选 接受 默认值 Description
第一个数据表 数据表 要使用的第一个数据表变量。 这也是保存合并的数据表的操作生成的变量
第二个数据表 数据表 合并到第一个数据表的第二个数据表
合并模式 不可用 添加其他列、忽略其他列、其他列报错 添加额外的列 当数据表的列数不一致时的合并行为

生成的变量

此操作不会生成任何变量。

异常

例外 Description
缺少架构 ​​表示数据表的列数不相同

联接数据表

根据指定的联接规则联接两个数据表。

该操作的内置向导可帮助您创建所需的联接规则,您可以相应地指定第一个和第二个数据表的列以及它们之间的比较运算符来设置多个规则。

输入参数

参数 可选 接受 默认值 Description
第一个数据表 数据表 要使用的第一个数据表变量。 必须通过生成数据表变量的操作定义指定的变量。
第二个数据表 数据表 使用第二个数据表变量。 必须通过生成数据表变量的操作定义指定的变量。
联接操作 不可用 内联接、左联接、全联接 内部 用于联接两个表的联接操作
联接规则 用户定义的联接规则 不可用 定义用于联接两个数据表的列和操作

生成的变量

参数 类型​​ Description
JoinedDataTable 数据表 执行联接操作后生成的数据表

异常

例外 Description
列名称不存在 ​表示所提供的列名不存在
列索引超出范围 ​表示所提供的列索引超出范围

从 CSV 文本变量中读取

从 CSV 文本生成数据表。

输入参数

参数 可选 接受 默认值 Description
CSV 文本 文本值 要读取的 CSV 文本变量。
Trim fields 不可用 布尔值 TRUE 指定是否自动剪裁提取的单元格的前导空格和尾随空格
第一行包含列名称 不可用 布尔值 错误 指定是否使用 CSV 文本的第一行来设置所生成的数据表变量的列名。 启用此选项可避免将名称作为数据读入表中。 后续操作中可能会使用列名(而不是列号)来访问数据表所包含的数据。
以文本形式获取 CSV 字段 不可用 布尔值 错误 指定检索 CSV 文本字段的内容是纯文本还是最接近的匹配类型。 例如,日期用 Date Time,数字用 Numeric。
Columns separator 不可用 预定义、自定义、固定列宽 预定义 指定是否使用预定义的列分隔符、自定义分隔符或固定列宽
分隔符 不可用 系统默认值、逗号、分号、制表符 系统默认值 用于解析 CSV 文本的列分隔符。
Custom separator 文本值 用于解析 CSV 文本的自定义分隔符。
Fixed column widths 文本值 用于解析 CSV 文本的固定列宽。 各宽度使用逗号、空格、选项卡或换行符进行分隔。

生成的变量

参数 类型​​ Description
CSVTable 数据表 作为数据表的 CSV 文件的内容

异常

例外 Description
CSV 分析失败 指示解析 CSV 文本时出现问题

将数据表转换为文本

将数据表转换为 CSV 文本。

输入参数

参数 可选 接受 默认值 说明
Data table 数据表 要使用的数据表变量。 必须通过生成数据表变量的操作定义指定的变量。
Include column names 不可用 布尔值 错误 指定是否应将指定变量的列名作为 CSV 文本的第一行。
Use custom columns separator 不可用 布尔值 错误 指定使用自定义分隔符还是预定义分隔符。
分隔符 不可用 系统默认值、逗号、分号、制表符 系统默认值 要在指定的 CSV 文本中使用的列分隔符
Custom columns separator 文本值 要在指定的 CSV 文本中使用的自定义分隔符。

生成的变量

参数 类型​​ Description
CSVText 文本值 存储 CSV 结果的变量

异常

例外 Description
转换失败 指示将数据表转换为 CSV 文本时出现问题

截断数字

获取数值的整数或小数位数,或将该值向上舍入到指定的小数位数。

输入参数

参数 可选 接受 默认值 说明
Number to truncate 数值 包含要截断/向上舍入的数值的数字或变量
Operation 不适用 获取整数部分、获取小数部分、舍入数字 获取整数部分 指定要对给定数字执行的操作
Decimal places 数值 3 给定数字向上舍入到的小数位数。 输入 0 可由此返回整数

生成的变量

参数 类型​​ 说明
TruncatedValue 数值 截断或舍入的数字

异常

此操作不包含任何例外。

生成随机数字

生成一个介于最小值与最大值之间的随机数字或随机数字列表。

输入参数

参数 可选 接受 默认值 说明
Minimum value 数值 0 要生成的随机数字的下限
Maximum value 数值 100 要生成的随机数字的上限
Generate multiple numbers 不适用 布尔值 指定是生成单个随机数字还是随机数字列表
How many numbers 数值 10 指定要生成的随机数字的个数
Allow duplicates 不适用 布尔值 指定在随机数字列表中是否允许或禁止同一数字多次出现

生成的变量

参数 类型​​ 说明
RandomNumber 数值 新生成的随机数字
RandomNumbers 数值列表 新生成的随机数字列表

异常

例外 说明
无法生成随机数字 指示生成随机数字时出错

清除列表

删除列表中的所有项。

输入参数

参数 可选 接受 默认值 说明
List to clear 常规值列表 用于删除其元素的列表变量

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

从列表中删除项

从列表中删除一个或多个项。

输入参数

参数 可选 接受 默认值 说明
Remove item by 不适用 索引、值 索引 指定是删除指定索引处的项,还是删除具有特定值的项
At index 数值 要删除的项的索引号
With value 常规值 要删除的项
Remove all item occurrences 不适用 布尔值 删除指定项出现的所有匹配项
From list 常规值列表 包含要删除的项的列表
生成的变量

此操作不会生成任何变量。

异常

例外 说明
项索引超出范围 指示项索引超出范围
找不到项 指示列表中不存在项

对列表进行排序

对列表中的项进行排序。 使用相同类型的项。

输入参数

参数 可选 接受 默认值 说明
List to sort 常规值列表 包含要排序的列表的变量
Sort by list item's properties 不适用 布尔值 错误 如果列表项是对象(如文件、文件夹等),则启用此选项可按特定属性对项进行排序。 如果禁用此选项,则按元素的默认属性对其进行排序(例如,文件对象将按其完整路径进行排序)
First property to sort by 文本值 要按其对列表进行排序的项属性的名称。 请参考帮助文件以查看每个对象的属性名称
Sort 不适用 升序、降序 升序 指定是按第一个属性升序还是降序进行排序
Second property to sort by 文本值 要按其对列表进行排序的第二个属性的名称
Sort 不适用 升序、降序 升序 指定是按第二个属性升序还是降序进行排序
Third property to sort by 文本值 要按其对列表进行排序的第三个属性的名称
Sort 不适用 升序、降序 升序 指定是按第三个属性升序还是降序进行排序

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

变换列表

创建列表的随机排列。

输入参数

参数 可选 接受 默认值 说明
List to shuffle 常规值列表 包含要变换的列表的变量

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

合并列表

将两个列表合并为一个。

输入参数

参数 可选 接受 默认值 说明
First list 常规值列表 要合并的第一个项列表
Second list 常规值列表 要合并的第二个项列表

生成的变量

参数 类型​​ 说明
OutputList 常规值列表 合并的列表。 初始列表不受影响

异常

例外 描述
所提供列表的类型不兼容 指示所提供列表的类型不兼容

反转列表

反转列表项的顺序。

输入参数

参数 可选 接受 默认值 说明
List to reverse 常规值列表 要反转其项顺序的列表
生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

删除列表中的重复项

删除列表中多次出现的项,以使结果列表中的每个项都是唯一的。

输入参数

参数 可选 接受 默认值 说明
List to remove duplicate items from 常规值列表 要从中删除重复项的列表变量
Ignore text case while searching for duplicate items 不适用 布尔值 指定在搜索重复项时是否对文本执行不区分大小写的比较(仅适用于由文本项构成的列表)

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

查找通用列表项

比较两个列表并使用二者通用的项创建一个新列表。

输入参数

参数 可选 接受 默认值 说明
First list 常规值列表 包含要比较的第一个列表的变量
Second list 常规值列表 包含要比较的第二个列表的变量

生成的变量

参数 类型​​ 说明
IntersectionList 常规值列表 通用项的新列表

异常

此操作不包含任何例外。

减去列表

比较两个列表,并使用位于第一个列表中但不在第二个列表中的项创建新列表。

输入参数

参数 可选 接受 默认值 说明
First list 常规值列表 包含要比较的第一个列表的变量
Second list 常规值列表 包含要比较的第二个列表的变量

生成的变量

参数 类型​​ 说明
ListDifference 常规值列表 由此得到的新列表

异常

此操作不包含任何例外。

将数据表列检索到列表中

将数据表列的内容转换到列表中。

输入参数

参数 可选 接受 默认值 说明
Data table 数据表 包含要转换到列表中的列的数据表
Column name or index 文本值 要检索的列的列名称(如果定义了列名称)或索引号

生成的变量

参数 类型​​ 说明
ColumnAsList 常规值列表 包含指定数据表的内容的新列表

异常

例外 描述
列名称不存在 指示列名称不在数据表中
列索引超出范围 指示列索引超出范围

将 JSON 转换为自定义对象

将 JSON 字符串转换为自定义对象。

输入参数

参数 可选 接受 默认值 说明
JSON 文本值 JSON 文本或先前创建的包含 JSON 的变量,用于转换为自定义对象

生成的变量

参数 类型​​ 说明
JsonAsCustomObject 常规值 从提供的 JSON 转换而来的自定义对象

异常

例外 说明
分析 JSON 时出错 指示分析指定的 JSON 时出错

将自定义对象转换为 JSON

将自定义对象转换为 JSON 字符串。

输入参数

参数 可选 接受 默认值 说明
Custom object 自定义对象 要转换为 JSON 的自定义对象

生成的变量

参数 类型​​ 说明
CustomObjectAsJson 文本值 从提供的自定义对象转换而来的 JSON

异常

例外 说明
分析自定义对象时出错 指示分析自定义对象时出错

将项添加到列表

将新项追加到列表中。

输入参数

参数 可选 接受 默认值 说明
Add item 常规值 要添加到列表中的值或变量。 提供一系列值以追加多个元素。 如果列表具有特定的元素类型,则新元素将转换为该类型
Into list 常规值列表 要向其中追加新元素的列表变量

生成的变量

参数 类型​​ 说明
NewList 常规值列表 新列表

异常

此操作不包含任何例外。

创建新列表

创建新的空列表。

输入参数

此操作不需要任何输入。

生成的变量

参数 类型​​ 说明
List 常规值列表 新列表

异常

此操作不包含任何例外。

增加变量

按特定数量增加变量值。

输入参数

参数 可选 接受 默认值 说明
Variable name 数值 要增加的数值
Increase by 数值 数值或先前创建的包含数值的变量,用于按该值增加数值

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

减少变量

按特定数量减少变量值。

输入参数

参数 可选 接受 默认值 说明
Variable name 数值 数值或先前创建的包含数值的变量,用于按其减少数值
Decrease by 数值 数值或先前创建的包含数值的变量,用于按其减少数值

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

运行 Power Fx 表达式

运行提供的 Power Fx 表达式。

备注

此操作仅适用于支持 Power Fx 的桌面流(预览)。

输入参数

参数 可选 接受 默认值 Description
表达式 * 要运行的 Power Fx 表达式

生成的变量

此操作不会生成任何变量。

异常

此操作不包含任何例外。

设置变量

设置新变量或现有变量的值,创建新变量或覆盖先前创建的变量。

输入参数

参数 可选 接受 默认值 说明
操作 * 要分配到变量的值

生成的变量

参数 类型​​ 说明
NewVar * 要设置的变量的名称

备注

变量名称必须以字母或下划线(_)开头。 第一个字符后,变量名称可以包含字母、下划线和数字 (0-9)。 名称不区分大小写,即 myVar、myvar 和 MYVAR 被视为同一变量。 以下保留关键字不能用作变量名称:if、then、else、switch、case、default、loop、from、to、step、foreach、in、while、next、exit、label、goto、call、output、function、block、end、error、wait、for、set、main、and、or、xor、not、true、false、yes、no、disable、on、repeat、times、throw、action、mod、global、input、import

异常

此操作不包含任何例外。