有关从带有标头的U2文件中采样和保存数据的问题

时间:2018-10-16 19:30:28

标签: u2 unidata uniquery

使用Uniquery的相对新手。我发现了一些有用的文档和以前的用户在这里以及其他网站上发布的答案。我正在尝试记录U2文件中的内容,因为我们正在探索将历史数据迁移到运行SQL的数据仓库中的选项。

我已经能够列出如何使用LIST DICT <<FILENAME>>来构造文件,以及将这些结果保存到文件中,然后可以使用Excel进行查看。

找到基本数据后,我想从每个文件中获取一些样本数据。如果我使用LIST <<FILENAME>> ALL TO DELIM "|" /TSTSAMPLE.TXT SAMPLE 300,则可以得到此示例。但是我想知道是否有办法创建制表符分隔文件而不是使用管道作为分隔符?

我遇到的另一个问题是,是否有人知道一种方法来获取与保存数据一起使用的标头?

我已经看到了使用XML LIST <<FILENAME>> ALL TOXML的一些建议,该建议可以奏效,但是看起来不存在将空元素放入保存的文件中的情况。

还一直使用UDT.OPTIONS 91 ON将保存的文件的日期转换为可读格式。

感谢所有可以提供建议的U2专业人士。

1 个答案:

答案 0 :(得分:1)

您肯定在正确的轨道上。 UDT.OPTIONS 91 ON对于日期和货币字段必不可少。对于导出为制表符分隔的特定问题,我没有在任何地方看到它的文档,但这对我有用:

LIST <<FILENAME>> ALL TO DELIM 9 /TSTSAMPLE.TXT SAMPLE 300

显然9代表制表符的CHAR(9)。我不确定其他字符是否也可以正常工作-我总是使用9或“ |”。我不使用ALL,因为我的词典比较混乱,但是如果您的词典维护得当,则对您有好处。

对于标题,通常这是一件困难的事情。我也尝试解决该问题,最终创建了一个制表符分隔的标头,用于每个文件。您可以从XML转储开始,然后在自己喜欢的编辑器中进行一些调整,而不必从头开始做整个事情。

另一个非常具有挑战性的事情是:a)识别MV字段,然后b)决定哪个是控制的,哪个是依赖的。我有一个程序可以通过对数据样本中的MV标记进行计数,并尝试对所有记录中具有相同计数的字段进行排队来执行此操作。如果您希望这样做,可以在github或其他地方发布。这很复杂,除非您的数据是完全干净的,否则不是100%正确的。