![](/img/trans.png)
[英]How do I add security group for google data studio to access my amayon RDS?
[英]How do I escape reserved words used as column names? Google Data Studio
我正在使用 Google 数据工作室生成一些数据仪表板,作为其中的一部分,我在数据集上创建了一个计算字段,该字段从字母数字字符串中剥离数值,即 7 out of 7A。
然后我使用 case 语句将另一个数字分配给条纹值,即公式返回 7 的情况下,case 语句将其分配给 1000、8 作为 2000、9 到 3000 等
我遇到的问题是,在数据集中,三个字段的标题为 7、8 和 9。因此,在下面的公式中,前三行将条纹字段与标题为 7、8 或 9 的字段进行比较,而不是与数值 7、8 或 9
我需要能够转义公式中的 7,8 或 9 个字符,以便将它们视为数值而不是对数据集中字段的引用。
case
when CAST(REGEXP_REPLACE(YearGroup, R"\D+", "") AS NUMBER)= 7 then 1000
when CAST(REGEXP_REPLACE(YearGroup, R"\D+", "") AS NUMBER)= 8 then 2000
when CAST(REGEXP_REPLACE(YearGroup, R"\D+", "") AS NUMBER)= 9 then 3000
when CAST(REGEXP_REPLACE(YearGroup, R"\D+", "") AS NUMBER)= 10 then 4000
when CAST(REGEXP_REPLACE(YearGroup, R"\D+", "") AS NUMBER)= 11 then 5000
when CAST(REGEXP_REPLACE(YearGroup, R"\D+", "") AS NUMBER)= 12 then 6000
when CAST(REGEXP_REPLACE(YearGroup, R"\D+", "") AS NUMBER)= 13 then 7000
end
要去除字符串的一部分,请使用REGEXP_EXTRACT
。
首先检查一个数字,文本可能只包含数字。 如果是数字,则将文本字段转换为数字。
如果文本字段包含数字 ( \d+
) 后跟一个无数字 ( \D
),则提取数字。 将其转换为数字并进行计算。
CASE
WHEN REGEXP_MATCH(YearGroup, r"\d+") THEN CAST(YearGroup AS number )
WHEN CAST(REGEXP_EXTRACT(YearGroup, r"(\d+)\D") AS number ) BETWEEN 7 AND 13 THEN
1000 * ( CAST(REGEXP_EXTRACT(YearGroup, r"(\d+)\w") AS number ) - 6 )
ELSE NULL
END
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.