JMP 支持您压缩数据表中的列,以便尽量减小文件大小,从而减少分析数据所需的内存空间。在数值列包含许多小的整数或是有任何列包含不足 255 个唯一值的情况下,该功能很有帮助。例如,压缩具有 389 列和 85,000 行的数据表中的列可能将文件大小从 250MB 缩小至 33MB(具体取决于数据类型)。
压缩列时,JMP 会根据数据类型来验证是否能将数据存储为更紧凑的格式:
• 在唯一值不足 255 个的字符列中,在适用时会向列添加“列表检查”属性(图 4.37)。选择“允许 16 位列表检查压缩”首选项时,“列表检查”属性也会添加到含有 255 个以上唯一值的字符列中。
“列表检查”属性会将选定列中的值限制为有效值。当选定列中的值个数太大时,不会应用“列表检查”属性。例如,若值个数几乎与行数相同时,则数据表不会将“列表检查”属性添加至列。
• 对于数值列,仅压缩“最佳”、“固定小数位数”或“数据”格式的列。数据都尽可能压缩为单字节、双字节或 4 字节的整数(图 4.38)。有关短整数的详细信息,请参见“短整型格式”。
若具有非整数值的数值列中的唯一值不足 255 个,也可以对这样的列进行压缩。在这种情况下,将向列添加“列表检查”属性。
注意:
• 要自动压缩唯一值小于或等于 65,535 的列,请在“常规”组中选择允许 16 位列表检查压缩首选项。“列表检查”属性也会添加到该列中。
• 在具有“列表检查”属性的列中,您只能输入列表中的值。若不这样做,JMP 会在您试图输入新值时警告单元格包含无效数据。请参见“列表检查”。
图 4.37 添加至已压缩字符列的“列表检查”属性
图 4.38 显示压缩前后数值列的“列信息”窗口
要压缩列,请选择一个或多个列,然后选择列 > 实用工具 > 压缩选定列。(若不知道可以压缩哪些列,则可以选择所有列。)
将尽可能压缩一列或多列。日志会显示已压缩哪些列以及压缩这些列的方式。(选择视图 > 日志可显示日志。)
注意:要手动压缩某个数值列,请将“表”首选项设置为允许短型数值数据,然后将该列的数据类型改为单字节整数、双字节整数或 4 字节整数。有关该首选项的详细信息,请参见“数据表的首选项”。