永洪社区

标题: 对文本类型日期列截取季度和半年度如何写 [打印本页]

作者: 桃德李    时间: 2023-4-7 17:28
标题: 对文本类型日期列截取季度和半年度如何写
想问下大佬们、在制作报告中新建表达式、将文本类型的日期列、截取出2020第一季度的值、2020上半年度的值如何写出来、展示形式大概是这样子的、让他作为单独列的日期筛选度量值。日期字段名称是 ADD_DT


作者: yhdata_ruby    时间: 2023-4-7 17:40
用substring函数呢https://www.yonghongtech.com/rea ... hlightsub=substring
作者: 桃德李    时间: 2023-4-10 09:54
yhdata_ruby 发表于 2023-4-7 17:40
用substring函数呢https://www.yonghongtech.com/real-help/Z-Suite/10.0/ch/basicfunctions.html?zoom_hig ...

这个日期字段是以20200101这样的文本格式展示值的、然后我想在报告里面新建表达式获取他20年第一季度的值也就是20年前三个月季度的值该怎么写呀大佬
作者: yhdata_ruby    时间: 2023-4-10 09:58
桃德李 发表于 2023-4-10 09:54
这个日期字段是以20200101这样的文本格式展示值的、然后我想在报告里面新建表达式获取他20年第一季度的值 ...

要不先把这个字段转换成日期类型呢,现在是字符串类型,转换后可以直接新建日期表达式选择季度
作者: 桃德李    时间: 2023-4-10 10:00
yhdata_ruby 发表于 2023-4-10 09:58
要不先把这个字段转换成日期类型呢,现在是字符串类型,转换后可以直接新建日期表达式选择季度 ...

但是这个日期字段我需要将他拆分成多个字段来作为筛选的、就如图里的所表达、这个字段要分为年份字段筛选度量、季度字段、和半年度字段筛选度量
作者: yhdata_ruby    时间: 2023-4-10 10:02
桃德李 发表于 2023-4-10 10:00
但是这个日期字段我需要将他拆分成多个字段来作为筛选的、就如图里的所表达、这个字段要分为年份字段筛选 ...


这个是实现不了需要的效果吗



作者: 桃德李    时间: 2023-4-10 10:07
yhdata_ruby 发表于 2023-4-10 10:02
这个是实现不了需要的效果吗

我给这个字段转换为日期列 我预览数据集他的值是null
作者: yhdata_ruby    时间: 2023-4-10 10:08
桃德李 发表于 2023-4-10 10:07
我给这个字段转换为日期列 我预览数据集他的值是null

格式是正确的吗,比如你的是20200101这样的格式,转换就写yyyyMMdd
作者: 桃德李    时间: 2023-4-10 10:10
yhdata_ruby 发表于 2023-4-10 10:02
这个是实现不了需要的效果吗

第一个是转换前的日期列、第二个是转换后的日期列和季度列、值是空

作者: 桃德李    时间: 2023-4-10 10:10
yhdata_ruby 发表于 2023-4-10 10:08
格式是正确的吗,比如你的是20200101这样的格式,转换就写yyyyMMdd

是的 我转换的是yyyymmdd

作者: 桃德李    时间: 2023-4-10 10:12
本帖最后由 桃德李 于 2023-4-10 10:13 编辑
yhdata_ruby 发表于 2023-4-10 10:08
格式是正确的吗,比如你的是20200101这样的格式,转换就写yyyyMMdd

这样子转换的

作者: yhdata_ruby    时间: 2023-4-10 10:15
桃德李 发表于 2023-4-10 10:12
这样子转换的

不要写-,去掉这个-,直接写yyyyMMdd
作者: 桃德李    时间: 2023-4-10 10:23
yhdata_ruby 发表于 2023-4-10 10:15
不要写-,去掉这个-,直接写yyyyMMdd

好的我试下
作者: yhdata_ruby    时间: 2023-4-10 10:23
桃德李 发表于 2023-4-10 10:23
好的我试下

嗯嗯,转换好了就可以使用新建日期表达式了
作者: 桃德李    时间: 2023-4-10 10:32
yhdata_ruby 发表于 2023-4-10 10:23
嗯嗯,转换好了就可以使用新建日期表达式了

那我要半年度的日期列是不是就不行了、需要新建日期表达式写公式才可以?如果是这样的话公式如何写呢大佬
作者: yhdata_ruby    时间: 2023-4-10 10:37
桃德李 发表于 2023-4-10 10:32
那我要半年度的日期列是不是就不行了、需要新建日期表达式写公式才可以?如果是这样的话公式如何写呢大佬 ...

if(month(col['交易时间'])<7)
then str(year(col['交易时间']))+'上半年'
else
str(year(col['交易时间']))+'下半年'
end
类似于这样,新建计算列
作者: 桃德李    时间: 2023-4-10 14:24
yhdata_ruby 发表于 2023-4-10 10:37
if(month(col['交易时间'])

报错了、麒麟不支持42函数..没太懂哪里没写对还是怎么回事

作者: yhdata_ruby    时间: 2023-4-10 14:28
桃德李 发表于 2023-4-10 14:24
报错了、麒麟不支持42函数..没太懂哪里没写对还是怎么回事

是使用的什么版本的呀
作者: 桃德李    时间: 2023-4-10 14:38
yhdata_ruby 发表于 2023-4-10 14:28
是使用的什么版本的呀

8.5版本哦
作者: yhdata_ruby    时间: 2023-4-10 14:51
桃德李 发表于 2023-4-10 14:38
8.5版本哦

不用then,改成
if(value) {
// 执行语句
}
else 这样的语句去写看看
作者: 桃德李    时间: 2023-4-10 14:54
yhdata_ruby 发表于 2023-4-10 14:51
不用then,改成
if(value) {
// 执行语句

好呢我试下
作者: yhdata_ruby    时间: 2023-4-10 14:59
桃德李 发表于 2023-4-10 14:54
好呢我试下

嗯嗯
作者: 桃德李    时间: 2023-4-12 11:26
yhdata_ruby 发表于 2023-4-10 14:51
不用then,改成
if(value) {
// 执行语句

这样子写还是不行哦大佬、还是报错麒麟不支持42函数
作者: yhdata_yzm    时间: 2023-4-12 17:30
桃德李 发表于 2023-4-12 11:26
这样子写还是不行哦大佬、还是报错麒麟不支持42函数

你的问题放到一个帖子吧




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4