描述源 CSV 数据
Workday Studio 的“PrismAnalytics”构成需要获得源 CSV 数据的描述。您可以在所选工具中创建 JSON 文本,然后在 Workday Studio 中进行使用。示例:将其粘贴到“write”步骤的“Message Builder”选项卡上的文本消息中。
- 创建包含 2 个主节点的 JSON 文本:
- parseOptions:有关 CSV 数据格式的信息,包括字符集和分隔符字符。
- fields:CSV 数据中每个字段的相关信息,包括数据类型和格式。
- 在parseOptions节点时,您可以定义以下字段:字段名称类型必需描述charsetName对象是CSV 数据文件的字符集。示例:"charset": { "id": "Encoding=UTF-8" }目前,Workday 仅支持 UTF-8 编码格式。Workday 最终以 Unicode 格式存储数据。没有 Unicode 等效项的字符将存储为 Unicode 替换字符,即一个黑色菱形背景下的问号。fieldsEnclosedByString否用于将 CSV 数据中的字段括起来的字符。默认为英文双引号。如果在字段中使用了双引号,请在前面添加另一个双引号以将其转义。示例:"fieldsEnclosedBy": "\""fieldsDelimitedByString是用于分隔 CSV 数据中字段值的字符。示例:"fieldsDelimitedBy": ","headerLinesToIgnore数字否解析器要忽略的标头行数。设置为0如果 CSV 数据没有标头示例:"headerLinesToIgnore": 1type对象是输入文件的类型。目前,Workday 仅支持分隔文件。示例:"type": { "id": "Schema_File_Type=Delimited" }此值区分大小写。请注意“带分隔符”字段中的大写 D。
- 在fields节点时,您可以定义以下字段:字段名称类型必需描述ordinal数字是字段在 CSV 数据集中的顺序(即索引)。序数值:
- 必须从 1 开始。
- 必须是连续的。
- 不能跳过任何数字。
- 最多 1000 个。
nameString是CSV 数据集字段的名称。字段名称:- 在数据集中必须唯一。
- 最多可包含 255 个字符。
- 只能包含字母数字字符和下划线字符。
- 必须以字母开头。
- 不能以下划线字符结尾。
- 不能以 WPA_ 开头。
descriptionString否字段的描述。最多 1000 个字符。示例:"description": "The worker's full name."type对象是字段的类型。选项包括:- 文本
- 数值
- 布尔值
- 日期
"type": { "id":"Schema_Field_Type=Date"}parseFormatString是(针对日期类型)日期的格式。示例:"parseFormat": "dd-MM-yy HH24:mm:ss"precision数字是(针对数值类型)数值的最大位数。包括小数点左右两侧的所有数字,但不包括小数点本身。最大值为 38。示例:"precision": 38scale数字是(针对数值类型)数值中小数点右侧的位数。必须小于precision值示例:"scale": 2defaultValue文本否如果上传文件中未提供字段值,则此值即为字段的默认值。使用双引号表示默认文本值。示例:“N/A”。默认日期值必须采用以下格式:yyyy-MM-dd'T'HH:mm:ss'Z'。默认数值必须与指定的数值一致。precision与scale。required布尔值否指定字段是否必须包含值。设置为True则设置为必填字段,否则设置为False。如果某个字段为必填字段,则在任何插入、更新和更新插入的数据操作中,该字段的值都不能为空。externalID布尔值是(利用更新、更新和插入以及删除操作的前提条件)。指定字段是否表示外部编号。设置为True以“外部编号”指定字段,否则设置为False。由于“外部编号”字段不得为空,您应指定所有“外部编号”字段为必填字段。您只能将 1 个字段指定为外部编号。如果您想利用更新、更新和插入以及删除功能,请在新表格中指定外部编号。要在现有表格中使用更新、更新和插入以及删除功能,您必须对表格进行修改,使其具有一个指定为外部编号的字段。Prism 公开 API 不支持修改包含数据的表格。在这种情况下,请在 Workday 中进行修改。
您的 CSV 源文件描述了以下表格:
员工 | 员工编号 | 职务名称 | 雇用日期 | 年薪 |
|---|---|---|---|---|
Logan McNeil | 21001 | 人力资源副总裁 | 1/1/2010 | 213298.00 |
Oliver Reynolds | 21003 | 首席信息官 | 1/1/2010 | 394935.00 |
Maximilian Schneider | 21004 | 首席运营官 | 1/1/2010 | 255373.00 |
Teresa Serrano | 21005 | 财务主管 | 1/1/2010 | 291785.00 |
您可以使用 JSON 对其进行描述,如下所示:
{ "parseOptions": { "fieldsDelimitedBy": ",", "fieldsEnclosedBy": "\"", "headerLinesToIgnore": 1, "charset": { "id": "Encoding=UTF-8" }, "type": { "id": "Schema_File_Type=Delimited" } }, "fields": [ { "ordinal": 1, "name": "Employee", "description": "Employee", "precision": 255, "scale": 0, "parseFormat": null, "type": { "id": "Schema_Field_Type=Text" } }, { "ordinal": 2, "name": "Employee_ID", "description": "Employee ID", "precision": 38, "scale": 0, "parseFormat": null, "type": { "id": "Schema_Field_Type=Numeric" } }, { "ordinal": 3, "name": "Job_Title", "description": "Job Title", "precision": 255, "scale": 0, "parseFormat": null, "type": { "id": "Schema_Field_Type=Text" } }, { "ordinal": 4, "name": "Hire_Date", "description": "Hire Date", "precision": 0, "scale": 0, "parseFormat": "MM/dd/yy", "type": { "id": "Schema_Field_Type=Date" } }, { "ordinal": 5, "name": "Annual_Salary", "description": "Annual Salary", "precision": 38, "scale": 2, "type": { "id": "Schema_Field_Type=Numeric" } } ], "schemaVersion": { "id": "Schema_Version=1.0" } }