跳至主要内容
Administrator Guide
上次更新时间 :2023-06-23
描述源 CSV 数据

描述源 CSV 数据

Workday Studio 的“PrismAnalytics”
构成需要获得源 CSV 数据的描述。您可以在所选工具中创建 JSON 文本,然后在 Workday Studio 中进行使用。示例:将其粘贴到“write”
步骤的“Message Builder”选项卡上的文本消息中。
  1. 创建包含 2 个主节点的 JSON 文本:
    • parseOptions
      :有关 CSV 数据格式的信息,包括字符集和分隔符字符。
    • fields
      :CSV 数据中每个字段的相关信息,包括数据类型和格式。
  2. parseOptions
    节点时,您可以定义以下字段:
    字段名称
    类型
    必需
    描述
    charsetName
    对象
    CSV 数据文件的字符集。示例:
    "charset": { "id": "Encoding=UTF-8" }
    目前,Workday 仅支持 UTF-8 编码格式。Workday 最终以 Unicode 格式存储数据。没有 Unicode 等效项的字符将存储为 Unicode 替换字符,即一个黑色菱形背景下的问号。
    fieldsEnclosedBy
    String
    用于将 CSV 数据中的字段括起来的字符。默认为英文双引号。如果在字段中使用了双引号,请在前面添加另一个双引号以将其转义。示例:
    "fieldsEnclosedBy": "\""
    fieldsDelimitedBy
    String
    用于分隔 CSV 数据中字段值的字符。示例:
    "fieldsDelimitedBy": ","
    headerLinesToIgnore
    数字
    解析器要忽略的标头行数。设置为
    0
    如果 CSV 数据没有标头示例:
    "headerLinesToIgnore": 1
    type
    对象
    输入文件的类型。目前,Workday 仅支持分隔文件。示例:
    "type": { "id": "Schema_File_Type=Delimited" }
    此值区分大小写。请注意“带分隔符”字段中的大写 D。
  3. fields
    节点时,您可以定义以下字段:
    字段名称
    类型
    必需
    描述
    ordinal
    数字
    字段在 CSV 数据集中的顺序(即索引)。序数值:
    • 必须从 1 开始。
    • 必须是连续的。
    • 不能跳过任何数字。
    • 最多 1000 个。
    name
    String
    CSV 数据集字段的名称。字段名称:
    • 在数据集中必须唯一。
    • 最多可包含 255 个字符。
    • 只能包含字母数字字符和下划线字符。
    • 必须以字母开头。
    • 不能以下划线字符结尾。
    • 不能以 WPA_ 开头。
    description
    String
    字段的描述。最多 1000 个字符。示例:
    "description": "The worker's full name."
    type
    对象
    字段的类型。选项包括:
    • 文本
    • 数值
    • 布尔值
    • 日期
    示例:
    "type": { "id":"Schema_Field_Type=Date"}
    parseFormat
    String
    是(针对日期类型)
    日期的格式。示例:
    "parseFormat": "dd-MM-yy HH24:mm:ss"
    precision
    数字
    是(针对数值类型)
    数值的最大位数。包括小数点左右两侧的所有数字,但不包括小数点本身。最大值为 38。示例:
    "precision": 38
    scale
    数字
    是(针对数值类型)
    数值中小数点右侧的位数。必须小于
    precision
    值示例:
    "scale": 2
    defaultValue
    文本
    如果上传文件中未提供字段值,则此值即为字段的默认值。
    使用双引号表示默认文本值。示例:
    “N/A”
    默认数值必须与指定的数值一致。
    precision
    scale
    默认日期值必须采用以下格式:yyyy-MM-dd'T'HH:mm:ss'Z'。
    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" } }