假设我有2个数据集
dataset1 =
123456789
222222222
444444444
dataset2 =
123456 8888 account1_description
456789 7777 account2_description
我正在尝试获得与以下示例类似的输出 堆叠2个数据集并将字符串作为
之间的指标[HEADER_2015-01-01] <----inserted as a line of characters (string)
[ID] <----inserted as a line of characters (string)
123456789
222222222
444444444
[ACCOUNT] <----inserted as a line of characters (string)
123456 8888 account1_description
456789 7777 account2_description
[DETAIL] <----inserted as a line of characters (string)
我最初的想法是通过创建不同的数据集,然后将它们附加/堆叠在一起。
例如:
dataset1(char)= [HEADER_2015-01-01]
dataset2(char)= [ID]
dataset3(number)=
123456789
222222222
444444444
dataset4(char)= [ACCOUNT]
dataset5 = ...
等。
但显然这是错误的,因为第一列(变量)具有不同的数据格式。有人可以提出一种方法来实现这种输出吗?提前谢谢。
答案 0 :(得分:1)
SAS数据集与SQL表大致相似。它们不是excel文件。因此,不可能完全按照您的要求进行操作(在不同的行上有不同的变量)。
你可以让每一行只是一个文本字符串,在这种情况下,它可以有你想要的任何值。或者你可以有不同的变量,堆叠它们,并且可以确保不同的列不对齐;它会堆叠很好,它只是不会对齐未对齐的列。
您可以使用SQL来UNION它们并强制列堆叠,但它们必须是相同的数据类型。
无论如何,这不是你应该在SAS中做的事情,无论如何。正确的方法是将标题转换为对于该标题下应该存在的每一行具有相同值的变量,然后您可以使用类似的结构proc report
将其退出。