B端【數據批量導入功能】避坑指南

0 評論 2537 瀏覽 34 收藏 13 分鐘

數據批量導入功能,是許多B端產品的“剛需模塊”,也是產品設計中的“高風險地帶”。本篇文章將結合真實項目經驗,拆解導入功能的常見坑點與設計要點,幫助產品人構建更穩(wěn)定、易用、可控的導入機制。

在B端后臺產品中,批量導入是非常常見的功能,一個好的數據導入功能可以大大的提高用戶的工作效率和滿意度,反之則讓用戶覺得平臺不好用。

因此,批量導入乍看簡單,但如果你只是覺得放一個上傳按鈕,讓用戶選擇文件導入就行的話,就等著被開發(fā)吐槽吧!只要做過批量導入,你就會發(fā)現實際做起來里面的坑著實不少。例如:

  1. 導入數據的唯一標識是什么?重復數據應該如何處理?
  2. 存在錯誤數據時,忽略錯誤數據允許正常數據導入,還是全部打回重新導入?

我們可以將數據導入流程拆解為三個核心環(huán)節(jié):導入指引、導入文件和結果反饋。接下來,我們將圍繞這三個環(huán)節(jié),逐一解析各環(huán)節(jié)的關鍵注意點。

一、導入指引

導入指引就是讓用戶知道要導入的內容是哪些,規(guī)則是什么,并給出一份導入模板文件。

1.1 導入說明

也就是對導入的內容進行說明,明確導入的規(guī)則、文件類型、文件大小等。

一般分為直接導入和分步驟導入。如果導入過程并不復雜,直接導入即可;如果流程比較長,需要給出一條明確的步驟指引,可以分步驟導入。

直接導入示例(左) 分步驟導入示例(右)

1.2 模板說明

模板最重要的就是寫清楚填寫規(guī)則。對一些重要的、不易察覺的系統(tǒng)要求,做進一步解釋,引導用戶正確填寫數據。可以用以下6種方式進行模板填寫規(guī)則的設計,可以混合使用,比如我們可以在模板前幾行寫上文字說明,也會給用戶提供填寫示例。

1.用單獨一個sheet進行說明。

2.在模板前幾行寫清楚規(guī)則,方便用戶在填寫表格前閱讀。此外這里的說明支不支持用戶刪除,要說明清楚。

3.在字段后面直接寫上文字說明。

4.在字段后面用插入批注的方式。

5.對模板的字段做好格式限制。

  • 明確字段是否必填。比如必填字段可以用*號在字段后面進行標注。
  • 明確字段格式,盡可能讓用選擇代替輸入。比如:選擇項就提供標準的選擇項,供用戶直接選擇;數量限制只能輸入數字,可限制數量輸入范圍;日期限制只能輸入日期,可限制日期輸入范圍;如果有經緯度,可以設置經緯度的正常范圍等。
  • 必要情況下可使用有效性檢測約定模板輸入內容

6.給用戶提供填寫示例,比如新增加一行或幾行示例數據,讓用戶知道怎么填寫。

1.3 導入方式

系統(tǒng)中已有數據的情況下,本次導入方式是“全部覆蓋”還是“部分覆蓋”,也就是完全覆蓋系統(tǒng)已有的數據,還是在其后添加數據。具體選擇哪種要依據實際業(yè)務場景,部分情況下也可以讓用戶自己定義。

全部覆蓋:指最新一次導入的內容會現將已有內容清空再導入。

部分覆蓋:指最新一次導入內容已經存在在系統(tǒng)中時,數據以最新導入為準或者直接跳過;系統(tǒng)中有但是最新導入內容里沒有的數據,繼續(xù)保留在系統(tǒng)不會被清空掉;而系統(tǒng)中沒有但最新導入內容里有的數據,則增量加入系統(tǒng)。

這里還要注意重復數據的問題,視具體情況來定,可以分為以下3種情況:

  1. 重復數據以最后一條為準。
  2. 重復明細的數量相加。
  3. 重復數據導入失敗。

二、導入文件

在用戶導入文件后,系統(tǒng)就會開始進行校驗,主要分成兩步,第一步是校驗文件格式,第二步是校驗數據內容合法性。由于數據合法性校驗會比較慢,為了降低服務器側的壓力,我們在文件格式校驗不通過后會直接返回錯誤信息,沒必要再進行后續(xù)合法性的校驗。

2.1 文件格式校驗

在寫入數據前,首先會校驗文件的基本格式是否符合規(guī)范,如果不符合則需提示用戶檢查上傳的文件并重新上傳。一般會有如下規(guī)則:

1.格式:常見的表格格式是xls、xlsx和csv,其中csv是純文本格式,上傳更快,當上傳文件需要支持大量數據時可以使用csv格式。這個在本地選擇和拖拽上傳的時候就可以過濾掉,比如本地選擇只展示excel文件,其他格式的文件自動過濾。

2.大?。簽榱斯?jié)省服務器的空間和提高文件傳輸的速度,需要限制上傳文件的大小。盡量不要超過10M,不過這一點可以提前跟研發(fā)同事商量對齊。

3.名稱:當上傳與要求的文件名稱不一致時則報錯。如果文件名稱沒有特殊作用,不建議對名稱進行校驗。

4.表頭名稱和字段順序:當字段列名稱、順序和模板不一樣的時候,則提示模板不對。

5.行數:對用戶上傳的行數是都有限制,比如最多上傳2000條記錄,超過2000條就要報錯。盡量支持最大值,讓用戶可以一次性導入成功,而不是讓用戶多次導入。

2.2 數據內容合法性校驗

1.數據是否為空:如果數據為空這個時候不需要處理,直接提示:文件數據為空,請補充數據后再上傳。

2.基本要求不滿足:導入模版中有要求值的字符類型、字符長度、業(yè)務規(guī)則限制,但導入文件就中的值不滿足。

  • 字符類型:如數字格式、日期格式、時間格式、字符串格式。如果這列字段和數據庫表字段的格式對不上,也導不進去。
  • 字符長度:比如手機號碼規(guī)定是11位,但是用戶輸入了12位,此時針對這個數據就會顯示報錯。常見的類型還有身份證號、稅號等基礎格式的校驗。
  • 字符是否必填:如果表格字段必填值是空的,導入excel的時候,需要進行報錯提示。
  • 字符固定值校驗:比如性別只有男和女,用戶輸入了其他數據就會報錯,不過這個可以在導入模板內設置下拉框,讓用戶選擇,從而規(guī)避掉這個情況。

3.找不到匹配的值:導入文件中的部分字段的值,要求在已有數據表中存在,如果找不到,會導致該數據找不到對應的歸屬主體。如導入文件中“項目ID”的值,在項目表中找不到。

4.與其他字段的關聯(lián)關系錯誤:某幾個字段的值之間有聯(lián)動關系,但導入文件中的值聯(lián)動關系錯誤。如項目所在地,分省、市、區(qū)3列,若省的值為浙江,則該條數據中,市的值必須是浙江省的地級市,不允許出現了其他省的市。

三、結果反饋

3.1 失敗數據處理方式

這里有兩種情況:

  1. 有一條導入失敗,整個導不進去。
  2. 有一條導入失敗,只有這一條導不進去,其他都導入成功。

如果導入內容相互獨立,我們都選擇2,否則會導致絕大部分完全正確的數據無法快速錄入系統(tǒng),之前校驗的結果都無用,造成資源浪費;如果導入內容有某種關聯(lián)或者是敏感數據,比如順序不能變,那就得選1。

3.2 報錯提示時機

  1. 發(fā)現錯誤立即報錯:適用于文件格式校驗出錯時,比如文件大小不符合規(guī)則時直接給出提示。
  2. 發(fā)現錯誤,記錄錯誤,最后統(tǒng)一報錯:這種情景主要針對用戶導入excel表格后,這時系統(tǒng)會對填寫的每個字段數據進行校驗,這種時候出現的問題,可以先記錄下來,最后統(tǒng)一報錯。

3.3 報錯處理方式

1.錯誤信息在平臺上直接修改。適用于數據量不是很多,不存在敏感信息的情況。

2.提供錯誤清單,修改后再重新上傳。適用于數據量比較大或者存在敏感信息的情況。也就是在導入表格后面增加一列“導入失敗原因”。

3.提供導入歷史記錄,從記錄中導出失敗文件,修改后再重新上傳。出于安全考慮,可以提供導入導出記錄,方便問題跟蹤,比如一些敏感的財務類數據,用戶可能會對系統(tǒng)的準確性產生質疑,通過保存導入的記錄和源文件,可以幫助我們對比是客戶提供的數據的問題還是系統(tǒng)的問題。

四、總結

需要記住:批量導入功能最基礎也是最重要的要求就是一個數據也不能錯。除了上面說的之外,還需要考慮以下幾個方面:

  1. 提供有效反饋,導入失敗的提示要準確,方便用戶定位修改。文案提示盡量正著說,如請輸入必填項客戶名稱;少反著說,如客戶名稱不能為空。
  2. B端系統(tǒng)內,一般在多處都有導入功能,因此導入頁面、導入模板樣式、失敗原因描述等最好一致,保證系統(tǒng)的統(tǒng)一性。

本文由 @樹袋熊 原創(chuàng)發(fā)布于人人都是產品經理。未經作者許可,禁止轉載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務

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