关于使用 headers 从 U2 文件中取样和保存数据的问题

Question about taking sample and saving data from U2 files with headers

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

我已经能够使用 LIST DICT <<FILENAME>> 列出文件的结构,并将这些结果保存到一个文件中,然后我可以使用 Excel 查看该文件。

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

我的另一个问题是,是否有人知道一种方法来获取随数据保存的 headers?

我看到了一些使用 XML、LIST <<FILENAME>> ALL TOXML 的建议,这些建议有效,但似乎没有将空元素放入保存的文件中。

另外还使用 UDT.OPTIONS 91 ON 将任何日期转换为可读格式以保存文件。

感谢任何能提供建议的U2专业人士。

你绝对是在正确的轨道上。 UDT.OPTIONS 91 ON 对于日期和货币字段是必不可少的。对于导出为 tab-delimited 的具体问题,我没有在任何地方看到它的记录,但这对我有用:

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

显然 9 代表制表符的 CHAR(9)。我不确定其他字符是否也有效——我总是使用 9 或“|”。我不使用 ALL,因为我的字典很乱,但如果你的字典维护得好,对你有好处。

对于 header 来说,这通常是一件很难的事情。我也试图解决这个问题,最后创建了一个 tab-delimited header 用于每个文件。您可以从 XML 转储开始,然后在您最喜欢的编辑器中进行一些调整,而不必从头开始。

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