createparameter(产品功能设计之表格导入功能)

编辑导语:表格导入是日常生活中我们常**的功能之一,在导入过程中,我们可能会遇到数据重复、导入内容不固定等情景,碰到这些问题情景,我们应该如何处理呢?本篇文章里,作者就表格导入功能可...

编辑导语:表格导入是日常生活中我们常**的功能之一,在导入过程中,我们可能会遇到数据重复、导入内容不固定等情景,碰到这些问题情景,我们应该如何处理呢?本篇文章里,作者就表格导入功能可能遇到的问题情景、解决方案等方面进行了总结,一起来看一下。

产品功能设计之——表格导入功能,你真的会了吗?

产品功能设计是最近自己比较想聊的一个话题,主要看到身边很多人在设计功能的时候还是停留在样式交互,底层的逻辑和功能本身的适配方案反而不受关注。

所以,之后我会把日常过程中**到比较有代表性的功能拿出来好好总结一下分享给大家,希望能给大家带来一点启发。

接下来,看正文!

一、重复数据处理

导入过程中,我们最常见的异常流程就是重复数据如何处理的情况。在设计这种异常流程时,我们首先要明确重复数据的概念。

一般我们定义重复数据时,定义的是导入的数据源中存在重复数据,也就是你的导入表格中存在重复数据。同时这里的重复数据应该指的是表头的number ID的重复,如下图:

产品功能设计之——表格导入功能,你真的会了吗?

针对number ID与内容一一对应的情况,为了能够确保导入数据的准确性,一般会设计三种逻辑。

第一种:以最先导入的数据为准;第二种,以最后导入的数据为准;第三种,存在重复数据时不执行。单看这三种方式,一般会选取第二、三种,第一种对于**来说不太友好。大家可以基于实际场景去考量。

这种导入的结果会存在新增和覆盖两种,新增对应数据库没有该number ID产生新的number ID数据,覆盖对应数据库中已有number ID且数据内容不一致则进行覆盖。

如果说你导入的表格,number ID与内容存在一对多或多对多的关系,就不用考虑重复数据,导入结果只会有新增。Number ID和内容完全一样的数据,对于实现结果来说是不需要考虑的。

二、一对多关系导入

对于常规的导入一般都是一对一的关系,这种场景基本比**理解,模版上基本也没有过多的设计。

但当我们导入的内容,number ID与内容存在一对多的关系,这个时候我们对于模版的设计会大大影响使用者的效率,具体怎么设计还是需要考虑实际场景。

第一种:内容包含元素较多时,运用平铺的方式设计模版,如图:

第二种:同样的内容,在同一单元格内分隔符的方式区分,如图:

产品功能设计之——表格导入功能,你真的会了吗?

这两种方式的本质其实都是一样的,将复杂数据结构化存储。这样的数据导入大多数情况一般都用于数据初始化,在这里其实我们要顺便提一句表格导入情况下的配套功能。

其实看了上述两种导入,你会很自然地发现导入只能做到数据新增,为什么呢?

如果我们以表格内容数据做到替换,那么每一次用户在导入的时候,他其实都要拿到全量数据才能维护,这对于用户日常使用显然是很不合理的。所以,后续我们针对所有参数会在系统本身考虑**删除的功能,而不会考虑对表格内容本身做替换。

三、导入内容表头不固定

最后一种导入在常规的场景中也会遇到,主要是用于导入内容不固定的情况。如下图这种:

对于这种表格,我们一般会比较灵活地去考虑功能设计。如果考虑是一对一的情况,number ID存在多条,参数内容没有重复的情况,将其定义为新增。如下图:

产品功能设计之——表格导入功能,你真的会了吗?

一旦有重复参数,我们都将其默认为重复数据,执行我们之前的三种逻辑。

整体来说,上诉的表格内容导入一般能解决大多数的场景需求。这次的表格导入功能也这里了。感谢大家的阅读!

作者:红尘;:都市摆渡人

本文由 @都市摆渡人 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

  • 发表于 2023-02-06 21:18
  • 阅读 ( 182 )
  • 分类:二手水吧

0 条评论

请先 登录 后评论
历史大纵横
历史大纵横

440 篇文章

感兴趣的文章

相关问题