在两个表中的日期之间搜索,将刺客值从一个添加到外部嗨!
我需要帮助:)从一个表分配一个值到一个表。
我的触发器是日期,
如果dtP中的日期在距离dtC的一小时内等于或大于那么需要将dtC:chart_value中的值分配给dtC中的新列(PC_TA)
任何帮助将不胜感激
表格列

我的代码 - 不分配任何值只有零并且不处理最后一行:(
dtC = open ("....");
dtP = open ("....");
hr = 3600;
dtC << new column ( "PC_TA", numaric,continuous,format( "Best",8),);
for (i=1, i for (j=1, j if ( dtC:start_date[i] >= dtP:action_date[j] >= dtC:start_date[i] + hr,
dtC:PC_TA[i] = dtP:chart_value[j],
dtC:PC_TA[i] =0
);
);
);
Re:在两个表中的日期之间搜索,将刺客值从一个添加到外部谢谢,Uday。
因此,如果我想使用hour(),我可能需要添加day()和month(),因为我的数据是30天后我只想在1小时内分配值,抱歉模糊描述但是从IP原因来看,我无法分享太多关于数据表的信息。
但我可以给出一个理想的例子来说明我想要实现的目标:
假设dtC中的ID列是销售人员(可以在多行中重复),而开始日期列是他们在商场中访问的日期。
至于dtP,chart_value列是商场随机时间(action_date)的销售平均值。
我希望看到哪个推销员通过总和最大限度地提高了商场的密封性,并在访问购物中心后的一小时内为销售人员分配商场的平均销售额。希望有所帮助。
我相信if()是好的它给我1或0我在寻找它时,由于某种原因(可能是日期格式)当我在表格上运行它时只有0(我看到日期是符合条件)。
Re:在两个表中的日期之间搜索,将刺客值从一个添加到外部我相信第一个也需要翻转:)和if()是好的。
Re:在两个表中的日期之间搜索,将刺客值从一个添加到外部 @AdamChoen ,
并不是的。hour()函数获取时间戳的小时 - 因此将返回(1-24)之间的值。
下面的高位线是错误的。我不明白你的描述你想要做什么,但如果你要检查2个逻辑条件,就需要有一个加入这些条件的逻辑运算符。

Re:在两个表中的日期之间搜索,将刺客值从一个添加到外部谢谢大家
我已经纠正了剧本
if()正在寻找dtP中的日期,该日期距离dtC日期最多一个小时并且对指定的值求和。
hr = 3600;
dtC << new column ( "PC_TA", numaric,continuous,format( "Best",8),);
for (i=1, i <= Nrow(dtC), i++,
for (r=1, j <= Nrow(dtP), r++,
if ( dtC:start_date[i] <= dtP:action_date[r] <= dtC:start_date[i] + hr,
dtC:PC_TA[i] = dtC:PC_TA[i] + dtP:chart_value[r]
);
);
);仍然,我将PC_TA列全部清空
@ uday_guntupalli
如果我从两个表中取出第一行并减去我想要得到~49小时~176400秒。
使用Hour()函数我得到22
dtP:action_date[1] - dtC:start_date[1];
/*:
-177221
hour(dtP:action_date[1]) - hour(dtC:start_date[1]);
/*:
22
Re:在两个表中的日期之间搜索,将刺客值从一个添加到外部 @AdamChoen ,
几点意见和建议:
1。不要使用“j”作为循环变量。JMP具有内置函数“J”,建议不要使用“j”作为变量。
2。您的if条件似乎有问题。
通常情况下,if条件应该与我下面的条件相同,但是在没有逻辑运算符的情况下,if语句中有1个完整条件和1个不完整条件。
dtC = data table ("cycles");
dtP = data table ("74_edt_PC");
hr = 3600;
dtC << new column ( "PC_TA", numaric,continuous,format( "Best",8),);
For( i = 1, i < N Row( dtC ), i++,
For( r = 1, r < N Row( dtP ), r++,
If( dtC:start_date[i] >= dtP:action_date[r],
dtC:PC_TA[i] = dtP:chart_value[r],
dtC:PC_TA[i] = 0
)
)
);例如,如果您想比较2个时间戳的小时数,则应考虑:
dtC = data table ("cycles");
dtP = data table ("74_edt_PC");
hr = 3600;
dtC << new column ( "PC_TA", numaric,continuous,format( "Best",8),);
For( i = 1, i < N Row( dtC ), i++,
For( r = 1, r < N Row( dtP ), r++,
If( hour(dtC:start_date[i]) >= hour(dtP:action_date[r]),
dtC:PC_TA[i] = dtP:chart_value[r],
dtC:PC_TA[i] = 0
)
)
);
Re:在两个表中的日期之间搜索,将刺客值从一个添加到外部我相信你的If()语句略有偏离。 您的第二次比较应小于或等于Start_Date加1小时
If( dtC:start_date[i] >= dtP:action_date[j] <= dtC:start_date[i] + hr,
dtC:PC_TA[i] = dtP:chart_value[j],
0
);