查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
maki_psg
新的用户
已加入:2010年1月28日 帖子:47 地点:印度
|
|
|
|
你好
我需要从2个文件中提取数据,其中一个文件(文件2)具有匹配键,而两个文件(文件1和文件2)中都没有匹配键。
来自文件1的数据:
码: |
A 101
C <spaces>
B 102
E 105
D 104
|
来自文件2的数据:
码: |
P 301
200
Q 302
B 101
D 109
Z 901
|
如果Col1上存在匹配项,我想从文件2中提取记录,并且还要从两个文件中提取不匹配的记录。
样本输出文件:
码: |
200
B 101
C <spaces>
D 109
E 105
P 301
Q 302
Z 901
|
请帮助使用SORT提取上述输出。
谢谢。 |
|
回到顶部 |
|
 |
阿伦·拉吉(Arun Raj)
主持人
已加入:2006年10月17日 帖子:2481 位置:@我的办公桌
|
|
|
|
maki_psg,
我建议在DFSORT论坛上进行“搜索”,我相信您会找到很多满足您需求的工作示例。
尝试一下,如果遇到任何问题,请找回。有人会帮助您。 |
|
回到顶部 |
|
 |
潘多拉魔盒
主持人
.jpg)
已加入:2006年9月7日 职位:1565 地点:仙女座星系
|
|
|
|
您使用的是SYNCSORT还是DFSORT? |
|
回到顶部 |
|
 |
米斯塔·库尔兹
活跃用户
已加入:2012年1月28日 帖子:310 位置:房间:TREE(3)。希尔伯特酒店
|
|
|
|
假设您的两个文件均为FB并且LRECL = 80 ..并且匹配键是文件F1和F2的第一列。
您可以尝试此DFSORT作业。
码: |
// SRT01 EXEC PGM=SORT
// SYSOUT DD SYSOUT=*
// SORTJNF1 DD *
A 101
C <SPACES>
B 102
E 105
D 104
// SORTJNF2 DD *
P 301
200
Q 302
B 101
D 109
Z 901
// *
//整理 DD SYSOUT=*
// *
// SYSIN DD *
JOINKEYS FILE = F1,FIELDS =(1,1,A)
JOINKEYS FILE = F2,FIELDS =(1,1,A)
JOIN UNPAIRED,F1,F2
OPTION COPY
REFORMAT FIELDS=(F1:1,80,F2:1,80,?)
INREC IFTHEN=(WHEN=(161,1,CH,EQ,C'1'),BUILD=(1,80)),
IFTHEN=(WHEN=(161,1,SS,EQ,C'B,2'),BUILD=(81,80))
|
输出:
码: |
200
B 101
C <SPACES>
D 109
E 105
P 301
Q 302
Z 901
|
|
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
米斯塔·库尔兹
匹配标记只能具有三个值之一。 IFTHEN =(WHEN = NONE会给您一个“ ELSE”,这将使您更清楚,而不是让下一个人想知道没有满足什么价值。
maki_psg,
输入文件是否在第一个字节上按顺序排列?两个文件都可以重复吗?
您的卷必须很小,因此您可能不会注意到,但是您可能要考虑使用MERGE。
将第二个文件指定为MERGE的第一个输入,并使用OPTION EQUAL和SUM FIELDS = NONE。
编辑:我可以从您的示例数据中看到您的文件不按顺序。忘记合并。 |
|
回到顶部 |
|
 |
米斯塔·库尔兹
活跃用户
已加入:2012年1月28日 帖子:310 位置:房间:TREE(3)。希尔伯特酒店
|
|
|
|
谢谢比尔..我对其进行了如下修改:
码: |
// SYSIN DD *
JOINKEYS FILE = F1,FIELDS =(1,1,A)
JOINKEYS FILE = F2,FIELDS =(1,1,A)
JOIN UNPAIRED,F1,F2
OPTION COPY
REFORMAT FIELDS=(F1:1,80,F2:1,80,?)
INREC IFTHEN=(WHEN=(161,1,CH,EQ,C'1'),BUILD=(1,80)),
IFTHEN=(WHEN=NONE,BUILD=(81,80)) |
|
|
回到顶部 |
|
 |
斯科鲁苏
高级会员
已加入:2007年12月7日 帖子:2205 地点:圣何塞
|
|
|
|
米斯塔·库尔兹
做得好。我想多整理一点。
您不必在JOIN语句上指定F1和F2。一个简单的JOIN UNPAIRED将为您提供F1和F2的匹配记录和不匹配记录。
您也不需要在指标为“ 1”时再次构建记录,因为数据已经存在于位置1至80中。您可以使用IFOUTLEN = 80,以确保获得正确的LRECL输出。
因此请使用以下控制卡
码: |
// SYSIN DD *
JOINKEYS FILE = F1,FIELDS =(1,1,A)
JOINKEYS FILE = F2,FIELDS =(1,1,A)
JOIN UNPAIRED
OPTION COPY
REFORMAT FIELDS=(F1:1,80,F2:1,80,?)
INREC IFOUTLEN = 80,IFTHEN =(WHEN=(161,1,SS,EQ,C'B,2'),BUILD=(81,80))
// * |
|
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
如果卷很大,则重新安排内容可能会有好处。
如果大多数记录是“匹配项”,而只有少数“不匹配项”,则可以“交换” F1和F2,以便输出所需的大多数输入数据都位于REFORMAT记录的第一部分,并通过IFOUTLEN。不论哪种组合都能提供优越的记录。如果应为REFORMAT记录的第一部分。
我知道有一个关于“否定”的东西,但是只有三种可能,NE,C'1'可能会做:-)
特别是带有符号... |
|
回到顶部 |
|
 |
米斯塔·库尔兹
活跃用户
已加入:2012年1月28日 帖子:310 位置:房间:TREE(3)。希尔伯特酒店
|
|
|
|
谢谢斯科鲁苏和比尔。
我猜OP忘记了他/她在这里发布了一些内容:-) |
|
回到顶部 |
|
 |
maki_psg
新的用户
已加入:2010年1月28日 帖子:47 地点:印度
|
|
|
|
斯科鲁苏写道: |
米斯塔·库尔兹
做得好。我想多整理一点。
您不必在JOIN语句上指定F1和F2。一个简单的JOIN UNPAIRED将为您提供F1和F2的匹配记录和不匹配记录。
您也不需要在指标为“ 1”时再次构建记录,因为数据已经存在于位置1至80中。您可以使用IFOUTLEN = 80,以确保获得正确的LRECL输出。
因此请使用以下控制卡
码: |
// SYSIN DD *
JOINKEYS FILE = F1,FIELDS =(1,1,A)
JOINKEYS FILE = F2,FIELDS =(1,1,A)
JOIN UNPAIRED
OPTION COPY
REFORMAT FIELDS=(F1:1,80,F2:1,80,?)
INREC IFOUTLEN = 80,IFTHEN =(WHEN=(161,1,SS,EQ,C'B,2'),BUILD=(81,80))
// * |
|
@ Pandora,我们正在使用SYNCSORT。
@ Skolusu,输入文件量巨大。我已经发布了一个样本数据,该数据类似于产品场景。
谢谢米斯塔·库尔兹,斯科鲁苏和比尔。
我已经使用了下面的分类卡,它工作完美。
码: |
// SYSIN DD *
JOINKEYS FILE = F1,FIELDS =(1,1,A)
JOINKEYS FILE = F2,FIELDS =(1,1,A)
JOIN UNPAIRED
OPTION COPY
REFORMAT FIELDS=(F1:1,80,F2:1,80,?)
INREC IFOUTLEN = 80,IFTHEN =(WHEN=(161,1,SS,EQ,C'B,2'),BUILD=(81,80))
// *
|
|
|
回到顶部 |
|
 |
阿伦·拉吉(Arun Raj)
主持人
已加入:2006年10月17日 帖子:2481 位置:@我的办公桌
|
|
|
|
maki_psg写道: |
@ Pandora,我们正在使用SYNCSORT。 |
maki_psg
以后请在此论坛的JCL部分中发布与Syncsort有关的查询。尽管在大多数情况下,两个DFSORT关键字都可以以相同的方式工作,但它们在Syncsort中可能无法很好地工作,反之亦然。
顺便说一句,您能告诉您Syncsort的版本吗,我的手册中没有提到“?”支持。  |
|
回到顶部 |
|
 |
潘多拉魔盒
主持人
.jpg)
已加入:2006年9月7日 职位:1565 地点:仙女座星系
|
|
|
|
码: |
// S1 EXEC PGM = ICEMAN
// SYSOUT DD SYSOUT=*
// SORTIN DD *
记录
/ *
//整理 DD DUMMY
// SYSIN DD *
OPTION COPY
/ * |
请粘贴以上步骤的完整系统信息 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
1.4.1.0具有JNFnCNTL文件的未记录支持。也许它也有“?”?要么,或者不寻常的是,TS / OP认为他们具有SyncSort,但没有...。
maki_psg,
如果您的数据很大,请注意已经提到的要点。模拟您的巨额资金,看看您使用的资源是否有合理的差异,然后选择最适合您数据的选项。 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
maki_psg,
您有一个从4月初开始的主题,该主题也已发布在DFSORT中。
请不要再次这样做。 SyncSort问题在论坛的JCL部分中。
在该主题中,您说“我当前正在使用SYNC的FOR Z / OS 1.4.1.0R。”您能否确认“?”可以在您使用的控制卡中使用吗? |
|
回到顶部 |
|
 |
maki_psg
新的用户
已加入:2010年1月28日 帖子:47 地点:印度
|
|
|
|
比尔·伍德格写道: |
maki_psg,
您有一个从4月初开始的主题,该主题也已发布在DFSORT中。
请不要再次这样做。 SyncSort问题在论坛的JCL部分中。
在该主题中,您说“我当前正在使用SYNC的FOR Z / OS 1.4.1.0R。”您能否确认“?”可以在您使用的控制卡中使用吗? |
条例草案,为错误地发布主题表示歉意 .
是的,“?”在顶部张贴的控制卡中起作用。 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
行。谢谢。
因此,对于至少1.4.1.0R,SyncSorters可以使用?在REFORMAT语句中:-) |
|
回到顶部 |
|
 |
阿伦·拉吉(Arun Raj)
主持人
已加入:2006年10月17日 帖子:2481 位置:@我的办公桌
|
|
|
|
比尔·伍德格写道: |
行。谢谢。
因此,对于至少1.4.1.0R,SyncSorters可以使用?在REFORMAT语句中:-) |
那是个好消息,比尔 ,不确定为什么1.4文档未提及此增强功能。  |
|
回到顶部 |
|
 |
潘多拉魔盒
主持人
.jpg)
已加入:2006年9月7日 职位:1565 地点:仙女座星系
|
|
|
|
在论坛上没有SYNCSORT开发人员,这很可悲:'(
与我们分享最新版本的新逻辑和命令的人将对所有用户派上用场 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
SyncSort会不时地出现。 |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
您好,
如果您的组织已在Syncsort注册,则它们会定期发送信息性电子邮件。 。 。确保收到邮件的人将其发送给使用Syncsort的人员。 |
|
回到顶部 |
|
 |
阿努·达万(Anuj Dhawan)
高级会员

已加入:2006年4月22日 帖子:6250 地点:印度孟买
|
|
|
|
潘多拉魔盒写道: |
在论坛上没有SYNCSORT开发人员,这很可悲:'( |
Alissa在那儿,但正如Bill所说,她不时登录。 |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
您好,
它在我的1.4文档中〜
引用: |
由JOINKEYS,JOIN和REFORMAT控制语句控制的联接工具将来自两个源文件的记录联接起来
.
.
.
通过REFORMAT控制语句,提供了由联接操作创建的记录中数据字段的位置的规范。 |
|
|
回到顶部 |
|
 |
潘多拉魔盒
主持人
.jpg)
已加入:2006年9月7日 职位:1565 地点:仙女座星系
|
|
|
|
如果让椅子坐在这些专家旁边并影响我的知识会很高兴 这样我可以测试&像Arul一样回答SYNCSORT查询
但是有时候我不知道一个人怎么能知道这么多东西,以至于他写了一本大手册
是的,当我在商店中使用SYNCSORT时,我寄给她的Alissa很有帮助,她会立即提供手册帮助
当然,所有人都应该提供她要求的信息 |
|
回到顶部 |
|
 |
阿伦·拉吉(Arun Raj)
主持人
已加入:2006年10月17日 帖子:2481 位置:@我的办公桌
|
|
|
|
嗨,家伙,
恐怕我的1.4手册没有“?”以及“ JNFnCNTL”支持详细信息。 我已经向Syncsort支持小组发送了一封电子邮件,要求提供任何文档,他们回答说ZAP可以将这些增强功能添加到1.3.2,但在文档部分没有任何内容。 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
不幸的是,关于“未记录的功能”的事情是它们没有出现在手册中。我在其他地方看到过一些参考资料,所以向Alissa询问了JNFnCNTL。我不知道?,也不知道它是否在“补丁”中,或者仅在1.4.0以上可用。 |
|
回到顶部 |
|
 |
|