如何从 Google Data Studio 中的文本字符串中提取标有特定单词的数字

How to extract a number marked with specific word from text string in Google Data Studio

我有一个包含多个数字实例的文本字符串,数据示例如下。

我正在尝试提取键的数量(文本键后面的数字)。我尝试了几种 REGEXP_EXTRACT 模式,但没有成功。

{38-keys,fit-out,closed,eddy-tamy,datechange-feb2025,staff-onboard,sandy-brighton,open-dec2020}

{same-year,budgeted,signature-done,mark-picard,hotel,5-keys}

{active,building,itsa-signed,2322-keys,pending-signature,next-year-(construction),opening-feb2024}

0) 摘要

  • 使用下面的 #1 OR #2 OR #3(添加了两个额外的建议,因为作者收到了错误 #1 和然后是关于 CAST 函数的 #2,这可能是间距、数据源 (PostgreSQL) 特定或其他问题的结果。

1) 与 CAST

可以通过使用下面的计算字段(其中Field代表各自的字段名称)来实现,它提取紧接在-keys之前的所有数字;添加了 CAST 函数以确保字段 TypeNumber(默认字段 TypeREGEXP_EXTRACT 值为 Text);此外,为了将来参考,使用了 原始输入文字 R 以便 \d 表示数字与默认值的序列(没有 R ) 在 Google Data Studio 中,需要两个反斜杠 (\d):

CAST(REGEXP_EXTRACT(Field, R"(\d+)-keys") AS NUMBER )

Editable Google Data Studio Report (Embedded Google Sheets 数据源)和一张 GIF 来详细说明:

2) 没有 CAST

在数据源下方创建 计算字段 字段,并将字段 Type 更改为 Text数量;关于下面的 Calculated Field 和上面的区别,下面的那个去掉了 CAST 函数:

REGEXP_EXTRACT(Field, R"(\d+)-keys")

Added a New Page to the Editable Google Data Studio Report (Embedded Google Sheets 数据源)和 GIF 演示:

3) 两个 Calculated Fields

首先创建 RegEx_Field(3.1 - 支持字段),然后创建 CAST_Field(3.2 - 主字段,其中 RegEx_Field 代表在 3.1 中创建的相应字段的名称):

3.1) RegEx_Field(支持字段,因此如果需要在数据源处隐藏字段)

REGEXP_EXTRACT(Field, R"(\d+)-keys")

3.2) CAST_Field(将在报告中使用的字段)

CAST(RegEx_Field as NUMBER)

Added another Page to the Editable Google Data Studio Report (Embedded Google Sheets 数据源)和一个可视化过程的 GIF: