產品功能設計之——表格導入功能,你真的會了嗎?

0 評論 7704 瀏覽 32 收藏 6 分鐘

編輯導語:表格導入是日常生活中我們常接觸的功能之一,在導入過程中,我們可能會遇到數據重復、導入內容不固定等情景,碰到這些問題情景,我們應該如何處理呢?本篇文章里,作者就表格導入功能可能遇到的問題情景、解決方案等方面進行了總結,一起來看一下。

產品功能設計是最近自己比較想聊的一個話題,主要看到身邊很多人在設計功能的時候還是停留在樣式交互,底層的邏輯和功能本身的適配方案反而不受關注。

所以,之后我會把日常過程中接觸到比較有代表性的功能拿出來好好總結一下分享給大家,希望能給大家帶來一點啟發。

接下來,看正文!

一、重復數據處理

導入過程中,我們最常見的異常流程就是重復數據如何處理的情況。在設計這種異常流程時,我們首先要明確重復數據的概念。

一般我們定義重復數據時,定義的是導入的數據源中存在重復數據,也就是你的導入表格中存在重復數據。同時這里的重復數據應該指的是表頭的number ID的重復,如下圖:

產品功能設計之—表格導入功能,你真的會了嗎?

針對number ID與內容一一對應的情況,為了能夠確保導入數據的準確性,一般會設計三種邏輯。

第一種:以最先導入的數據為準;第二種,以最后導入的數據為準;第三種,存在重復數據時不執行。單看這三種方式,一般會選取第二、三種,第一種對于開發來說不太友好。大家可以基于實際場景去考量。

這種導入的結果會存在新增和覆蓋兩種,新增對應數據庫沒有該number ID產生新的number ID數據,覆蓋對應數據庫中已有number ID且數據內容不一致則進行覆蓋。

如果說你導入的表格,number ID與內容存在一對多或多對多的關系,就不用考慮重復數據,導入結果只會有新增。Number ID和內容完全一樣的數據,對于實現結果來說是不需要考慮的。

二、一對多關系導入

對于常規的導入一般都是一對一的關系,這種場景基本比較好理解,模版上基本也沒有過多的設計。

但當我們導入的內容,number ID與內容存在一對多的關系,這個時候我們對于模版的設計會大大影響使用者的效率,具體怎么設計還是需要考慮實際場景。

第一種:內容包含元素較多時,運用平鋪的方式設計模版,如圖:

產品功能設計之—表格導入功能,你真的會了嗎?

第二種:同樣的內容,在同一單元格內分隔符的方式區分,如圖:

產品功能設計之—表格導入功能,你真的會了嗎?

這兩種方式的本質其實都是一樣的,將復雜數據結構化存儲。這樣的數據導入大多數情況一般都用于數據初始化,在這里其實我們要順便提一句表格導入情況下的配套功能。

其實看了上述兩種導入,你會很自然地發現導入只能做到數據新增,為什么呢?

如果我們以表格內容數據做到替換,那么每一次用戶在導入的時候,他其實都要拿到全量數據才能維護,這對于用戶日常使用顯然是很不合理的。所以,后續我們針對所有參數會在系統本身考慮增加刪除的功能,而不會考慮對表格內容本身做替換。

三、導入內容表頭不固定

最后一種導入在常規的場景中也會遇到,主要是用于導入內容不固定的情況。如下圖這種:

產品功能設計之—表格導入功能,你真的會了嗎?

對于這種表格,我們一般會比較靈活地去考慮功能設計。如果考慮是一對一的情況,number ID存在多條,參數內容沒有重復的情況,將其定義為新增。如下圖:

產品功能設計之—表格導入功能,你真的會了嗎?

一旦有重復參數,我們都將其默認為重復數據,執行我們之前的三種邏輯。

整體來說,上訴的表格內容導入一般能解決大多數的場景需求。這次的表格導入功能也分享到這里了。感謝大家的閱讀!

 

作者:紅塵;公眾號:都市擺渡人

本文由 @都市擺渡人 原創發布于人人都是產品經理,未經作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!