IMPORT EXCEL 命令
通过定义和导入一个 Microsoft Excel 工作表或命名区域来创建 Analytics 表。
语法
IMPORT EXCEL TO 表 导入文件名 FROM 源文件名 TABLE 输入工作表或命名区域 <KEEPTITLE> <STARTLINE 行号> <ALLCHAR> {ALLFIELDS|CHARMAX 最大域长度|[域语法] <...n> <IGNORE 域编号> <...n>} <OPEN>
域语法 ::= FIELD 导入名称 类型 {PIC 格式|WID 字符数 DEC 值} AS 显示名称
说明
您必须完全按照上述顺序指定下表中的 IMPORT EXCEL 参数。
如果对于工作簿而言保护视图是活动的,则 Analytics 不能从 Excel 工作簿导入。 您必须首先在工作簿中启用编辑功能,保存并关闭工作簿,然后执行导入。
参数
名称 | 描述 |
---|---|
TO 表 |
数据要导入到的 Analytics 表的名称。 说明 表名称被限制为不超过 64 个字母数字字符。 该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。 该名称不能以数字开头。 |
导入文件名 |
要创建的 Analytics 数据文件的名称。 将导入文件名指定为具有 .FIL 文件扩展名的带引号的字符串。 例如,"发票.FIL"。 默认情况下,数据文件 (.fil) 被保存到包含 Analytics 项目的文件夹。 请使用绝对或相对文件路径将该数据文件保存到另外的现有文件夹:
|
FROM 源文件名 |
源数据文件的名称。 源文件名称必须是带引号的字符串。 如果源数据文件未与 Analytics 项目位于同一目录中,则必须使用绝对路径或相对路径来指定文件位置:
|
TABLE 工作表或指定范围 |
要从 Microsoft Excel 源数据文件导入的工作表或命名区域。 要求:
|
KEEPTITLE 可选 |
|
STARTLINE 行号 可选 |
开始读取工作表的行号。 例如,如果工作表的前三行包含您不需要的标题信息,请指定 STARTLINE 4 从第四行开始读取数据。 如果您省略 STARTLINE,则起始行是该工作表中的第一行。 说明 命名区域的起始行总是命名区域中的第一行,而无论 STARTLINE 设置是什么。 |
ALLCHAR 可选 |
“字符”数据类型被自动分配给所有被导入的域。 提示 将字符数据类型分配给所有被导入的域可简化导入分隔文本文件的流程。 一旦将数据导入 Analytics,您就可以向域分配不同的数据类型(如数值或日期时间),并且指定格式详细信息。 如果您所导入的表中的标识符域被 Analytics 自动分配“数值”数据类型,而实际上它们应该使用“字符”数据类型,则 ALLCHAR 很有用。 |
ALLFIELDS |
源数据文件中的所有域都被导入。 说明 如果您指定 ALLFIELDS,请不要指定任何单个 FIELD 语法、CHARMAX 或 IGNORE。 |
CHARMAX 最大域长度 |
Analytics 表中任何初始时作为源数据文件中的字符数据的域的最大长度(单位为字符)。 超过最大值的源字符数据被截断。 源数据文件中的所有域都被导入。 说明 如果您指定 ALLFIELDS,请不要指定任何单个 FIELD 语法、CHARMAX 或 IGNORE。 |
FIELD 导入名称 类型 |
要从源数据文件导入的单个域,包括该域的名称和数据类型。 导入名称成为 Analytics 表中的域名称。 导入名称无须与源数据文件中的域名称相同(尽管可以相同)。 提示 您也可以使用 AS 指定一个与导入名称不同的显示名称。 类型成为 Analytics 表中的域数据类型。 类型无须与源数据文件中的域数据类型相同(尽管可以相同)。 有关类型的详细信息,请参见域数据类型标识符。 说明 如果您指定 ALLCHAR,则 类型 被忽略。 如果您指定 ALLFIELDS,请不要指定任何单个 FIELD 语法、CHARMAX 或 IGNORE。 排除域如果要将某个域排除在导入范围之外,请不要指定它。 您还必须为被排除的域指定 IGNORE。 |
PIC 格式 |
说明 仅适用于数值域或日期时间域。
必须将格式放在引号中。 |
WID 字符数 |
Analytics 表布局中域的长度(以字符为单位)。 |
DEC 值 |
数值域的小数位数。 |
AS 显示名称 |
新 Analytics 表的视图中的域的显示名称(备选列标题)。 请将显示名称指定为带引号的字符串。 如果您希望列标题包含换行符,请在单词之间使用分号 (;)。 当您定义 FIELD 时,必须使用 AS。 要使显示名称与域名称相同,请使用以下语法输入一个空白显示名称值:AS ""。 请确保在两个双引号之间没有空格。 |
IGNORE 域编号 <...n> 可选 |
从表布局中排除该域。 域编号指定被排除的域在源数据文件中的位置。 例如,IGNORE 5 从 Analytics 表布局中排除源数据文件中的第五个域。 说明 请小心将域编号与被排除的域的位置正确对齐。 如果您指定被包括的域(FIELD定义)的或者不存在的域位置的域编号,则导入操作不会正确工作。 FIELD 参数和 IGNORE 参数之和必须等于源数据表中的域的总数。 如果总数不匹配,则导入操作不会正确工作。 如果您指定 ALLFIELDS,请不要指定 IGNORE。 |
OPEN 可选 |
在命令执行后打开该命令创建的表。 仅当该命令创建输出表时有效。 |
示例
导入指定的域
您执行导入以定义一个名为 Credit_Cards 的新 Analytics 表。 它使用 Excel 数据的第一行作为域名称。
从源表中的十二个域,该 Analytics 表定义并包括了三个域,并且排除了九个域:
IMPORT EXCEL TO 信用卡 "Credit Cards.fil" FROM "Credit_Cards_Metaphor.xls" TABLE "Corp_Credit_Cards$" KEEPTITLE FIELD "CARDNUM" N WID 16 DEC 0 AS "卡号" FIELD "EXPDT" D WID 10 PIC "YYYY-MM-DD" AS "到期日期" FIELD "PASTDUEAMT" N WID 6 DEC 2 AS "过期" IGNORE 2 IGNORE 3 IGNORE 5 IGNORE 6 IGNORE 7 IGNORE 9 IGNORE 10 IGNORE 11 IGNORE 12
导入所有域
您执行导入以定义一个名为 May_Transactions 的新 Analytics 表。 它使用 Excel 数据的第一行作为域名称。
Analytics 表包括源表中的所有域并且使用默认域定义。
域长度被设置为最长值
在第一个示例中,最初作为源数据文件中的字符数据的域的长度被设置为该域中最长值的长度:
IMPORT EXCEL TO May_Transactions "May_Transactions.fil" FROM "Trans_May.xls" TABLE "Trans1_May$" KEEPTITLE ALLFIELDS
域长度被限制
在第二个示例中,最初作为源数据文件中的字符数据的域的长度被设置为该域中最长值的长度,或被设置为 100 个字符的 CHARMAX 值(两者之中取较短者):
IMPORT EXCEL TO May_Transactions "May_Transactions.fil" FROM "Trans_May.xls" TABLE "Trans1_May$" KEEPTITLE CHARMAX 100
将所有域导入为字符数据
您执行导入以定义一个名为 May_Transactions 的新 Analytics 表。 所有域(包括数字和日期)都被导入为字符数据。
IMPORT EXCEL TO May_Transactions "May_Transactions.fil" FROM "Trans_May.xls" TABLE "Trans1_May$" KEEPTITLE ALLCHAR ALLFIELDS
将所有域导入为字符数据,而跳过标头信息
您执行导入以定义一个名为 Past_Due_Report 的新 Analytics 表。
您跳过 Excel 文件的前两行(其中包含报告标头信息),并且在第三行开始读取该文件(该行包含域名称)。 所有域(包括数字和日期)都被导入为字符数据。
IMPORT EXCEL TO Past_Due_Report "Past_Due_Report.fil" FROM "Past_Due_Report.xlsx" TABLE "Sheet1$" KEEPTITLE STARTLINE 3 ALLCHAR ALLFIELDS
备注
说明
有关此命令工作原理的详细信息,请参见 Analytics 帮助。
分别定义域,或者使用默认定义导入所有域
在将 Excel 文件导出到 Analytics 表时,您可以使用 FIELD 参数单个地定义各个域,或者您可以使用 ALLFIELDS 参数或 CHARMAX 参数以及默认的 Analytics 域定义导入所有域。
不同参数组合生成不同的结果。 下表总结了不同的可能性。
说明
“定义”意味着手动指定域名称、数据类型、长度、日期时间格式等等。
我想要: | 使用下列参数: | 请勿使用下列参数: |
---|---|---|
|
ALLFIELDS | CHARMAX、FIELD |
|
CHARMAX | ALLFIELDS、FIELD |
|
FIELD |
ALLFIELDS、CHARMAX |
|
FIELD IGNORE |
ALLFIELDS、CHARMAX |
|
ALLCHAR FIELD |
ALLFIELDS、CHARMAX |
|
STARTLINE | |
|
KEEPTITLE | |
|
KEEPTITLE STARTLINE |
Analytics 在您使用 ALLFIELDS 或 CHARMAX 时如何分配数据类型
当您使用 ALLFIELDS 或 CHARMAX 参数而不是分别定义域时,Analytics 会检查 Excel 文件开头的记录子集并且基于内部规则集向域分配数据类型。
一旦将数据导入 Analytics,您就可以根据需要向域分配不同的数据类型(如数值或日期时间),并且指定格式详细信息。
数据导入的最大大小
文件格式 .xlsx 或 .xlsm
您可以从 .xlsx 或 .xlsm 文件导入的 Excel 列的最大数量以及域中字符的最大数量不受限制。
从这些 Excel 文件类型导入的操作受到 Analytics 数据文件 (.fil) 中的 32 KB 记录长度限制的约束。 如果源 Excel 文件中的任何记录会创建比 32 KB 长的 Analytics 记录,则导入失败。
文件格式 .xls
导入 .xls (Excel 97 - 2003) 文件时会使用不同类型的处理,并且遵守下列限制:
- 最多 255 列
- 每个域最多 255 个字符
- 每个记录最多 32 KB
- 最多 65,000 行
域数据类型标识符
下表列出了您在为 FIELD 指定类型时必须使用的字母。 每个字母都对应于一个 Analytics 数据类型。
例如,如果您要定义一个需要字符数据类型的“姓氏”域,那么您可以指定 "C": FIELD "Last_Name" C。
有关详细信息,请参见 Analytics 数据类型。
说明
当使用数据定义向导 定义包含 EBCDIC 字段、Unicode 字段或 ASCII 字段的表时,这些字段会被自动分配字母 “C”(对于 CHARACTER 类型)。
当手动输入 IMPORT 语句或编辑现有 IMPORT 语句时,您可以用更加具体的字母 “E” 或 “U” 替换 EBCDIC 字段和 Unicode 字段。
字母 |
Analytics 数据类型 |
---|---|
A |
ACL |
B |
BINARY |
C |
CHARACTER |
D |
DATETIME |
E |
EBCDIC |
F |
FLOAT |
G |
ACCPAC |
I |
IBMFLOAT |
K |
UNSIGNED |
L |
LOGICAL |
N |
|
P |
PACKED |
Q |
BASIC |
R |
MICRO |
S |
CUSTOM |
T |
PCASCII |
U |
UNICODE |
V |
VAXFLOAT |
X |
NUMERIC |
Y |
UNISYS |
Z |
ZONED |