Qlik View日期变量为空问题求助
Qlik View日期变量为空问题排查解决
问题原因
直接使用字段名[dateto]、[datefrom]给变量赋值是错误的——Qlik脚本中,字段是存储在加载后表中的集合数据,不能直接作为单个值引用,必须通过特定函数提取表内具体行的字段值,否则变量无法获取有效内容。
解决方法
用Qlik内置的Peek()函数从已加载的表中提取指定字段的具体行值,再赋值给变量。Peek()语法:Peek('字段名', 行号, '表名'),行号默认-1(取最后一行),若表仅一行数据,行号用0或-1均可。
修改后的脚本示例
[SalesFunnel_DateParams_temp]: Load date(date#([dateto], 'YYYYMMDD'), 'YYYY-MM-DD') as [datetonew], date(date#([datefrom], 'YYYYMMDD'), 'YYYY-MM-DD') as [datefromnew]; SQL SELECT * FROM [BI_DWH_CORE].[Reporting].[v_QV_COM_SalesFunnel_DateParams]; // 从临时表提取日期值,转换格式后赋值给变量 let va = date(Peek('datetonew'), 'DDMMYYYY'); let vb = date(Peek('datefromnew'), 'DDMMYYYY'); let vblob = 'My name is blob!';
额外说明
- 若表存在多行数据,需明确指定行号,例如取第一行:
Peek('datetonew', 0, 'SalesFunnel_DateParams_temp') - 原脚本中
date#([dateto],'YYYY-MM-DD')属于格式解析错误——原字段dateto格式为YYYYMMDD,你已在Load语句中转换为YYYY-MM-DD格式的datetonew,直接引用datetonew即可避免重复解析问题。
内容的提问来源于stack exchange,提问作者Vern
相关产品推荐
相关产品推荐

