JavaScript Pentaho中特定条件下的拆分数据
我在csv文件中有一个名为event_name的列,如果event_name的第一个字符符合以下条件,我将使用修改后的Java脚本值步骤创建新列,例如: event_name=“应用程序连接:连接开始时间=2018年5月10日17:29:26:连接结束时间=2018年5月10日17:29:29:连接持续时间(以秒为单位=3” 如果是:event\u name=“scene\u access” 我尝试了此代码,但它似乎没有改变任何东西:JavaScript Pentaho中特定条件下的拆分数据,javascript,database,if-statement,substring,pentaho,Javascript,Database,If Statement,Substring,Pentaho,我在csv文件中有一个名为event_name的列,如果event_name的第一个字符符合以下条件,我将使用修改后的Java脚本值步骤创建新列,例如: event_name=“应用程序连接:连接开始时间=2018年5月10日17:29:26:连接结束时间=2018年5月10日17:29:29:连接持续时间(以秒为单位=3” 如果是:event\u name=“scene\u access” 我尝试了此代码,但它似乎没有改变任何东西: if(event_name.subs
if(event_name.substr(0,3).equals("app"))
{
var event = event_name.substring(0,14);
var connection_start_time = event_name.substr(40,59);
var connection_end_time = event_name.substr(83,102);
var connection_duration_in_seconds = event_name.substr(137,139);
}
else
{
event_name = event_name;
}
如果你能给我一个提示或解释一下我遗漏了什么,那将是一个巨大的帮助。
多谢各位
我尝试了substring函数中的字段,在substr函数中,sintaxis应该是substr(字符串、位置、字符数) 进行此更改后,代码应为:
if(substr(event_name,0,3).equals("app"))
{
var event = substr(event_name,0,14);
var connection_start_time = substr(event_name,40,19);
var connection_end_time = substr(event_name,83,19);
var connection_duration_in_seconds = substr(event_name,137,1);
}
else
{
event_name = event_name;
}
在此之后,按下“获取变量”按钮,使步骤输出中的字段可用
if(event_name.substr(0,3).equals("app"))
{
var event = event_name.substring(0,14);
var connection_start_time = event_name.substr(40,59);
var connection_end_time = event_name.substr(83,102);
var connection_duration_in_seconds = event_name.substr(137,139);
}
else
{
event_name = event_name;
}
if(substr(event_name,0,3).equals("app"))
{
var event = substr(event_name,0,14);
var connection_start_time = substr(event_name,40,19);
var connection_end_time = substr(event_name,83,19);
var connection_duration_in_seconds = substr(event_name,137,1);
}
else
{
event_name = event_name;
}