选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

switch

聚焦模式
switch - Amazon QuickSight

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

switch 在一组文本标签和 return-expression 配对中,将 condition-expression 与文本标签进行比较。然后,它返回与第一个等于 condition-expression 的文本标签相对应的 return-expression。如果没有等于 condition-expression 的标签,则 switch 返回 default-expression。每个 return-expressiondefault-expression 必须具有相同的数据类型。

语法

switch(condition-expression, label-1, return-expression-1 [, label-n, return-expression-n ...], default-expression)

Arguments

switch 需要一个或多个 if/then 表达式对,else 参数只需要一个表达式。

condition-expression

要与标签文本进行比较的表达式。它可以是字段名称(如 address)、文本值(如“Unknown”)或其他函数(如 toString(salesAmount))。

label

要与 condition-expression 参数进行比较的文本,所有文本的数据类型都必须与 condition-expression 参数相同。switch 最多可接受 5000 个标签。

return-expression

其标签的值等于 condition-expression 的值时返回的表达式。它可以是字段名称(如 address)、文本值(如“Unknown”)或其他函数(如 toString(salesAmount))。所有 return-expression 参数必须与 default-expression 具有相同的数据类型。

default-expression

任何标签参数的值都不等于 condition-expression 的值时返回的表达式。它可以是字段名称(如 address)、文本值(如“Unknown”)或其他函数(如 toString(salesAmount))。default-expression 必须与所有 return-expression 参数具有相同的数据类型。

返回类型

switch 返回与 return-expression 中的值具有相同数据类型的值。return-expressiondefault-expression 返回的所有数据都必须是相同的数据类型或转换为相同的数据类型。

一般示例

以下示例返回输入区域名称的 AWS 区域 代码。

switch(region_name, "US East (N. Virginia)", "us-east-1", "Europe (Ireland)", "eu-west-1", "US West (N. California)", "us-west-1", "other regions")

以下是给定的字段值。

"US East (N. Virginia)" "US West (N. California)" "Asia Pacific (Tokyo)"

对于这些字段值,将返回以下值。

"us-east-1" "us-west-1" "other regions"

使用 switch 替换 ifelse

以下 ifelse 用例等同于前面的示例,当 ifelse 评估一个字段的值是否等于不同的文本值时,改用 switch 是更好的选择。

ifelse(region_name = "US East (N. Virginia)", "us-east-1", region_name = "Europe (Ireland)", "eu-west-1", region_name = "US West (N. California)", "us-west-1", "other regions")

表达式作为返回值

以下示例在 return-expressions 中使用表达式:

switch({origin_city_name}, "Albany, NY", {arr_delay} + 20, "Alexandria, LA", {arr_delay} - 10, "New York, NY", {arr_delay} * 2, {arr_delay})

前面的示例更改了从特定城市起飞的每个航班的预期延误时间。

函数示例结果的图像,以表格形式显示。

下一主题:

toLower

上一主题:

Substring
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。