文件规则和验证错误

在本文中,我们将介绍如何设置上传文件的格式,并提供将数据引入高级见解应用时可能遇到的错误。

文件和字段规则

当任何数据行或列具有任何属性的无效值时,整个上传可能会失败或产生警告,具体取决于在高级配置下上传有效行和排除具有无效数据的行是打开还是关闭。

如果在“高级配置”下禁用了“上传有效行”和“排除包含无效数据的行”,则由于验证错误,整个上传将失败,直到源文件 (修复,或者映射会更改属性的验证类型,使值) 有效。

如果在“高级配置”下启用了“上传有效行”和“排除包含无效数据的行”,它将仅上传包含有效值的行,并且将显示因错误而未引入的行的警告。 默认情况下,此设置处于关闭状态。

文件的规则

数据文件需要采用 .csv UTF-8 格式,不能为空。

源和目标字段标头的规则

所有源和目标字段标题或列名都需要:

  1. 仅包含 ASCII 字母数字字符 (字母和数字,例如 Date1) 或下划线 (_) 。 不支持特殊非字母字母字符,例如 @、#、% & 或其他字符。
  2. 包含一个值。
  3. 独一无二。

自定义目标字段标头的规则

所有自定义目标字段标题或列名称都需要:

  1. 没有前导、中间或尾随空格。
  2. 不包含系统字段,这些字段包括:
    • PeopleHistoricalId
    • StartDate
    • EndDate
    • Domain
    • PopulationType
    • TimeZone
    • StandardTimeZone
    • WorkdayStart
    • WorkDayEnd
    • 周末日
    • InferredTeamSize
    • ObjectId
    • IsActive
    • 从“Microsoft_”开始
    • MetricDate
    • PrimaryCollaborator_PersonId
    • SecondaryCollaborator_PersonId

必填字段需要为每一行指定一个值。

上传文件后,只能将一列标题映射到每个Viva Insights数据字段。

字段值的规则

需要以正确的数据类型提供字段值。 请参阅 属性引用

字段值中字符的规则

  • 行中字段值的字符长度不能超过 128 KB,大约为 1024 x 128 个字符。
  • 字段值中不允许使用“新行” (\n) 字符。

注意

可以在字段值中使用双字节字符,例如日语字符。

ManagerId 字段中值的规则

每个 PersonId 都需要具有唯一的 ManagerId。 换句话说,一个人不能有多个经理。

不能有循环,其中:

  • 经理和员工相互报告。
  • 经理向员工报告。

假设迪伦是克里斯的经理。 组织数据无法显示:

  • 克里斯向迪伦报告, 也迪伦向克里斯报告。
  • 迪伦向克里斯报告。

以下两个层次结构都会在最终用户体验中产生错误:

显示三个人之间的经理层次结构循环的屏幕截图。

示例 .csv 导出文件

下面是有效 .csv 导出文件的示例片段:

PersonId,EffectiveDate,HireDate,ManagerId,LevelDesignation,Organization,Layer,Area Emp1@contoso.com,12/1/2020,1/3/2014,Mgr1@contoso.com,Junior IC,Sales,8,Southeast Emp2@contoso.com,11/1/2020,1/3/2014,Mgr1@contoso.com,Junior IC,Sales,8,Southeast Emp3@contoso.com,12/1/2020,1/3/2014,Mgr2@contoso.com,Manager,Sales,7,Northeast Emp4@contoso.com,10/1/2020,8/15/2015,Mgr3@contoso.com,Support,Sales,9,Midwest Emp5@contoso.com,11/1/2020,8/15/2015,Mgr3@contoso.com,Support,Sales,9,Midwest Emp6@contoso.com,12/1/2020,8/15/2015,Mgr3@contoso.com,Support,Sales,9,Midwest

为缺少数据的员工下载日志

数据质量 ”页可让你知道组织数据文件中是否缺少测量用户。 如果是这样,你将看到消息“{number} 度量用户缺少组织数据。 下载哪些用户缺少组织数据,并上传其数据以获取更高质量的见解。”

下载日志显示除“域”和“时区”系统字段 缺少任何数据字段的测量用户。

验证错误和警告

下面是将数据上传到高级见解应用时可能会遇到的验证错误。 在大多数情况下,需要更正错误并再次上传文件。 查看 准备组织数据 一文,了解如何设置数据的格式并准备好上传数据。

类别 相关规则 邮件 适用对象
文件和文件扩展名 数据文件需要采用 .csv UTF-8 格式,不能为空。 文件为空。 选择另一个文件,然后再次上传。 仅 .csv 上传
此文件的扩展名“”{0}无效。 选择 .csv 文件,然后再次上传。 仅 .csv 上传
用于基于 API 的导入和 Azure Blob 导入的数据文件需要采用 .zip 文件格式,并包含一个 UTF-8 格式的 .csv 文件和一个.json映射文件。 文件不能为空。 .zip 文件中的文件存在问题。 请确保 .zip 文件仅包含一个.json文件和一个 .csv 文件,然后再次上传。 基于 API 的导入和 Azure Blob 导入
.zip 文件中的 .csv 文件为空。 添加非空 .csv 文件,然后再次上传 .zip 文件。 基于 API 的导入和 Azure Blob 导入
.zip 文件中的.json文件为空。 添加非空.json文件,然后再次上传 .zip 文件。 基于 API 的导入和 Azure Blob 导入
.json文件无效。 使用有效的.json文件并再次上传 .zip 文件。 基于 API 的导入和 Azure Blob 导入
列标题 所有字段标题或列名称都需要是唯一的。 文件中的两个或更多列标题相同。 包含每列的唯一标头。 全部
所有字段标题或列名都需要包含一个值。 列 ({J}) 中缺少标头。 在所选文件中包含标头名称,然后再次上传。 全部
.csv 文件映射到.json文件中的 null 或空字段。 将其映射到非空字段,然后再次上传 .zip 文件。 基于 API 的导入和 Azure Blob 导入
所有字段标题或列名称只需包含字母和数字 (字母数字字符,例如 Date1) 或以下符号:~ ! @ # $ % ^ & * + > : <> [] ?. 不支持其他字符 {标头名称} 包含不支持的特殊字符。 删除特殊字符,然后再次上传。
所有字段标题或列名都需要包含任何系统字段。 {header name} 是一个系统字段。 请重命名 {header name},使其不使用系统字段并再次上传文件。 全部
上传文件后,只能将一列标题映射到每个Viva Insights数据字段。 文件有多个映射到数据字段的源列。 确保每个源列都映射到唯一字段。 全部
.csv 文件中的标头名称与在 .json 文件中映射的字段不匹配。 请确保.json文件包含的字段与 .csv 文件相同,然后再次上传 .zip 文件。 基于 API 的导入和 Azure Blob 导入
.csv 文件中的标头数与在 .json 文件中映射的字段不匹配。 请确保.json文件包含的字段与 .csv 文件相同,然后再次上传 .zip 文件。 基于 API 的导入和 Azure Blob 导入
所有源列都需要映射到受支持的数据类型 源列未映射到受支持的数据类型。 映射到支持的数据类型,然后再次上传文件。 基于 API 的导入和 Azure Blob 导入
.json文件指定了预期的“DatasetType”。 指定正确的值,然后再次上传 .zip 文件。 基于 API 的导入和 Azure Blob 导入

下面是与字段值相关的验证错误和警告。 如果在“高级配置”下禁用了“上传有效行”和“排除具有无效数据的行”,则会创建错误并验证失败。 如果启用,它将仅上传包含有效值的行,并且将显示因错误而未引入的行的警告。 默认情况下,此设置处于关闭状态。

类别 相关规则 邮件 错误或警告 适用对象
字段值 数据文件需要采用 .csv UTF-8 格式。 .csv 格式无效。 行中的列数与标题中的列数不匹配。 请检查缺少或错放的逗号,然后再次上传。 错误 全部
.csv 格式无效。 行中的列数与标题中的列数不匹配。 不会上传具有无效值的行。 请检查缺少或错放的逗号,然后再次上传。  警告 全部
找到非 UTF-8 字符。 请确保 .csv 文件使用 UTF-8 编码,然后再次上传。 错误 全部
找到非 UTF-8 字符。 不会上传具有无效值的行。 请确保 .csv 文件使用 UTF-8 编码,然后再次上传。  警告 全部
需要以正确的数据类型提供字段值。 请参阅 属性引用 {header name} 值无效。 {Header name} 应为 格式 employee@contoso.com后面的电子邮件地址。 警告 全部
{Header name} 包含无效值。 不会上传具有无效值的行。 {Header name} 应为 格式 employee@contoso.com后面的电子邮件地址。 警告 全部
{header name} 值无效。 {Header name} 应为字符串。 错误 全部
{Header name} 包含无效值。 不会上传具有无效值的行。 {Header name} 应为字符串。  警告 全部
  • {Header name} 包含无效值。 不会上传具有无效值的行。 {标头名称} 应是 MM/DD/YYYYY、MM/DD/YYYY、MM/DD/YYYY,后跟更多文本 (如时间) 、 MM-DD-YYYYY、MM-DD-YYY、YYYY-MM-DD、2012 年 3 月 14 日星期三、2012 年 3 月 14 日、2012 年 3 月 14 日或 14-Mar-12。
  • OR
  • {Header name} 包含无效值。 不会上传具有无效值的行。 {标头名称} 应是格式为 DD/MM/YYYYY、DD/MM/YYYY,后跟更多文本 (,例如时间) , D/MM/YYYYY、D/MM/YYY、DD-MM-YYYY、DD-MM-YYY、YYYY-DD-MM、YYYYY-DD-MM、2012 年 3 月 14 日星期三、2012 年 3 月 14 日、2012 年 3 月 14 日或 14 月 12 日。
  • 警告 全部
    {header name} 值无效。 {Header name} 应为 23.75 格式后的双精度值。 错误 全部
    {Header name} 包含无效值。 不会上传具有无效值的行。 {Header name} 应为 23.75 格式后的双精度值。  警告 全部
    {header name} 值无效。 {Header name} 应为整数。 错误 全部
    {Header name} 包含无效值。 不会上传具有无效值的行。 {Header name} 应为整数。  警告 全部
    必填字段需要为每一行指定一个值。 缺少 {header name} 列或 {header name} 值。 {Header name} 是必填字段,每行都需要一个值。 添加 {header name} 值,然后再次上传文件。 错误 全部
    缺少新 PersonId 字段的 ManagerId 值。 ManagerId 是必填字段。 添加相应的 ManagerId 字段,然后再次上传。 错误 全部
    每个 PersonId 都需要具有唯一的 ManagerId。 全部
    不能有 循环, 其中:
    • 经理和员工相互报告。
    • 经理向员工报告。
    错误 全部