批量上傳:別讓一鍵高效工具成為“導(dǎo)入失敗”的警報(bào)器
編輯導(dǎo)讀:批量導(dǎo)入是在基礎(chǔ)數(shù)據(jù)錄入很常見的一個功能,即可以節(jié)省逐條新增的人力成本,又可以避免數(shù)據(jù)重復(fù)錄入的問題,一舉多得;但是模板處理不當(dāng),導(dǎo)入過程中不同報(bào)錯導(dǎo)入失敗,會讓用戶煩躁不安。本文作者帶我們躲避設(shè)計(jì)里的那些坑。
一、明確的導(dǎo)入操作指引,減輕用戶學(xué)習(xí)成本
- 提供下載導(dǎo)入模板和導(dǎo)入模板的入口;
- 下載和導(dǎo)入的模板入口在一個頁面,避免出現(xiàn)點(diǎn)擊“導(dǎo)入”,還要花時間找導(dǎo)入模板的情況。
常規(guī)設(shè)計(jì)如圖:
(提供下載和導(dǎo)入的模板)
二、 字段/字符詳細(xì)說明,將導(dǎo)入失敗的風(fēng)險扼殺在模板設(shè)計(jì)中
1. 標(biāo)注出必填和非必填字段
標(biāo)注方式不限,可以為單元格角標(biāo)(圖二)、字段前加 “ * ” 必填符號(圖三)、字體加粗或單元格顏色區(qū)別(圖四):
2. 明確字符的類型,盡量細(xì)化字段的校驗(yàn)顆粒度
導(dǎo)入中常見的字符類型:
文本:對文本長度進(jìn)行限制。
(若文本長度超出則報(bào)錯警示)
數(shù)字:整數(shù)(是否必須為整數(shù))、正負(fù)數(shù)(是否允許負(fù)數(shù))、小數(shù)(明確限制小數(shù)點(diǎn)后幾位),以上均需要進(jìn)行提示說明。
特殊數(shù)字,如銀行卡號,確保單元格為文本格式,不會出現(xiàn)科學(xué)計(jì)數(shù)法,否則后臺校驗(yàn)無法通過,且用戶錄入數(shù)據(jù)會很苦惱。
(提前處理好數(shù)字的保存格式)
日期:規(guī)范時間格式,常見的有2020-07-24、2020/07/24、2020.07.24,但是用戶實(shí)際使用的格式可能會超乎你的想象,畢竟很多人是不按規(guī)則出牌的。
所以格式有明確限制的,需要在模板中標(biāo)明:
(示例數(shù)據(jù)盡量列明模板允許的數(shù)據(jù)格式)
下拉框:可選范圍固定的字段,設(shè)計(jì)下拉選擇,可以避免用戶手填錯誤信息的情況。
下拉選擇的值確認(rèn)是在系統(tǒng)的表結(jié)構(gòu)中已經(jīng)存在的,杜絕出現(xiàn)導(dǎo)入模板有農(nóng)業(yè)銀行,數(shù)據(jù)庫銀行表沒有農(nóng)業(yè)銀行的情況。
也有可能出現(xiàn)用戶直接從自己的excel表格復(fù)制數(shù)據(jù),粘貼到模板中的情況,所以校驗(yàn)字段是否和表對應(yīng)很重要。
(模板中設(shè)計(jì)好下拉字段可選范圍)
特殊符號:模板中有限制中英文輸入法的特殊字符,需要作出明確指示。
后者告知后臺開發(fā),對于中英文字符做兼容識別處理。
3. 鎖定禁止刪除的字段
以本模板為例:為了防止用戶誤操作,鎖定了表頭字段數(shù)據(jù)和第二排的示范數(shù)據(jù)。
這里需要和后臺開發(fā)說明,示范數(shù)據(jù)已鎖定,數(shù)據(jù)的導(dǎo)入校驗(yàn)從第三排開始。
(警示用戶列表已鎖定)
4. 附帶單位
數(shù)據(jù)有單位的,最好是在字段后標(biāo)注上,以免用戶對數(shù)據(jù)格式產(chǎn)生疑惑或者自己單獨(dú)在數(shù)字上加單位導(dǎo)致數(shù)據(jù)校驗(yàn)不合格,無法通過。
(字段標(biāo)注單位)
模板中可能會存在空格的情況,需要開發(fā)對空格進(jìn)行處理。
避免正確數(shù)據(jù)因?yàn)橛锌崭穸r?yàn)不通過,導(dǎo)入報(bào)錯而用戶無法定位數(shù)據(jù)誤差的原因發(fā)生。
小結(jié):模板內(nèi)字段的設(shè)計(jì)與限制,更多的是產(chǎn)品對excel功能的熟悉程度靈活運(yùn)用,以及如何和項(xiàng)目的實(shí)際業(yè)務(wù)結(jié)合起來,協(xié)助用戶在信息的新增環(huán)節(jié)避錯。
三、報(bào)錯給予明確提示,提示導(dǎo)入成功的概率和用戶體驗(yàn)
- 杜絕英文報(bào)錯提示用戶體驗(yàn)非常糟糕,很容易讓用戶認(rèn)為系統(tǒng)崩掉了。
- 盡量明確的進(jìn)行報(bào)錯提示,方便用戶對錯誤數(shù)據(jù)進(jìn)行處理后再重新導(dǎo)入。
常見的導(dǎo)入失敗原因有:
- 字符格式校驗(yàn)不通過;
- 數(shù)據(jù)重復(fù)報(bào)錯;
- 必填字段缺失;
- 導(dǎo)入模板錯誤;
- 數(shù)據(jù)量過大,系統(tǒng)卡死;
四、重復(fù)導(dǎo)入如何處理
1. 重復(fù)導(dǎo)入的定義
根據(jù)業(yè)務(wù)情況,確認(rèn)具體哪些字段的重復(fù)屬于同一條數(shù)據(jù),需要判定為重復(fù)數(shù)據(jù)。
一般會根據(jù)數(shù)據(jù)的主鍵來定義重復(fù)數(shù)據(jù)。
如下圖,員工個人信息以姓名和身份證號碼合并為主鍵,構(gòu)成唯一的員工ID。
如果后臺校驗(yàn)到這兩個字段一樣,就不會再對其他字段進(jìn)行校驗(yàn)。
(姓名和身份證號形成ID,相同則報(bào)數(shù)據(jù)重復(fù))
2. 是否允許重復(fù)導(dǎo)入
1)對于重復(fù)的數(shù)據(jù),需要根據(jù)實(shí)際使用情況,確認(rèn)是否允許導(dǎo)入。
2)不允許重復(fù)導(dǎo)入,則需要明確報(bào)錯提示。
重復(fù)導(dǎo)入的數(shù)據(jù),處理方式可能有:用戶刪除重復(fù)數(shù)據(jù)后再次上傳,后臺報(bào)錯提示。
(明確指示重復(fù)的數(shù)據(jù))
直接剔除掉模板中的重復(fù)數(shù)據(jù),成功導(dǎo)入正常數(shù)據(jù),頁面無提示;這種方式明顯減少了用戶需要操作的步驟和內(nèi)容,體驗(yàn)更友好。
3)允許重復(fù)導(dǎo)入,處理方式可能有:
覆蓋原有數(shù)據(jù),并且標(biāo)記出變動的字段差異,甚至允許用戶直接在頁面上對重復(fù)字段進(jìn)行修改后保存再次上傳。
這種方式開發(fā)成本比較高,且僅適用于導(dǎo)入的數(shù)據(jù)量較小的情況。
(頁面修改重復(fù)字段后上傳)
直接覆蓋原有數(shù)據(jù),且頁面無標(biāo)記;這種方式開發(fā)成本較低,也不需要用戶再做判斷,但是相應(yīng)的可能會有一定的風(fēng)險,比如用戶誤修改了個別字段直接覆蓋了原有數(shù)據(jù),導(dǎo)致其他環(huán)節(jié)出錯。特別是涉及到財(cái)務(wù)結(jié)算的模塊,慎用!
五、大數(shù)據(jù)量異步導(dǎo)入,節(jié)省用戶時間
如果導(dǎo)入的數(shù)據(jù)量很大,或者校驗(yàn)的字段需要調(diào)用的接口比較多,同步導(dǎo)入會占用很大的內(nèi)存。
且同步導(dǎo)入用戶需要一直盯著頁面,無法使用其他窗口;若網(wǎng)絡(luò)發(fā)生故障或者其他原因,導(dǎo)致導(dǎo)入失敗,需要再次重新導(dǎo)入,用戶體驗(yàn)會很差。
所以對數(shù)據(jù)量比較大或者接口復(fù)雜的數(shù)據(jù),可以采取異步導(dǎo)入的方式。
異步導(dǎo)入在條件允許的情況下,可以用進(jìn)度條展示當(dāng)前數(shù)據(jù)的傳輸百分比,預(yù)計(jì)完成用時。這樣用戶離開窗口再次回來查看的時候,明確估算回查上傳的數(shù)據(jù)情況。
以上基本歸納了筆者在項(xiàng)目中踩過的“批量導(dǎo)入”坑,如有遺漏或者錯誤的地方,請大家指出。
本文由 @RaRa 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于CC0協(xié)議
你好,想問個關(guān)于題庫導(dǎo)入的問題:
1、后臺導(dǎo)入模板只能用Excel么,word可以嗎?
2、導(dǎo)入后的內(nèi)容,可以自動生成目錄和內(nèi)容么?內(nèi)容需要帶格式怎么處理?(例如,有些資料需要通過顏色,下劃線,特殊字符標(biāo)注重點(diǎn))
word沒試過,字段有規(guī)律可共用,應(yīng)該是可以的。
第二點(diǎn),需要和開發(fā)探討實(shí)現(xiàn)的難度。
好的,感謝
組織架構(gòu)層級
醫(yī)藥供應(yīng)鏈
大量數(shù)據(jù)異步導(dǎo)入的話,能關(guān)閉當(dāng)前上傳彈窗嗎?可以關(guān)閉的話,進(jìn)度和狀態(tài)可以在哪里查看啊
等待時間長的,可以關(guān)閉上傳彈窗,可以給一個入口,顯示當(dāng)前上傳進(jìn)度,或者上傳完畢后,另外消息提示。視業(yè)務(wù)情況而定。
導(dǎo)入還有一個巨大的坑,增量導(dǎo)入還是覆蓋導(dǎo)入
是的,這個我在salesforece里面看到了一個解決方案,就是在導(dǎo)入的時候,直接問你需要什么方式導(dǎo)入(新增導(dǎo)入/覆蓋導(dǎo)入/更改導(dǎo)入),導(dǎo)入后的預(yù)期結(jié)果也會直接在頁面中警示。這種方式的技術(shù)實(shí)現(xiàn)成本稍高一些,但是全面。
兩個問題
1.表有錯誤數(shù)據(jù)校驗(yàn)不通過時推薦導(dǎo)入失敗,還是把沒問題的先導(dǎo)入提示問題數(shù)據(jù)?如果回答是看情況而定,請分別舉例場景。
2.導(dǎo)入數(shù)據(jù)有100條錯誤,各條錯法還不同,如何提醒?
謝謝
這個的看情況,實(shí)際上是根據(jù)研發(fā)資源、項(xiàng)目周期、用戶接受度來看的。如果有錢任性,都可以做先導(dǎo)入正確的,然后導(dǎo)出錯誤的內(nèi)容(這一點(diǎn)比是否先導(dǎo)入正確數(shù)據(jù)更重要),并在導(dǎo)出模板中準(zhǔn)確標(biāo)注出具體錯誤原因,用戶修改后再次上傳,這樣最快也最省事。
至于分情況舉例,可能有這些:
1. 直接報(bào)導(dǎo)入失敗,不做導(dǎo)入報(bào)錯等其他處理 — 用戶體驗(yàn)最糟糕,除非用戶有能力自行判斷導(dǎo)入的數(shù)據(jù)具體是哪里錯了。不過如果是這種情形,用戶也不太容易導(dǎo)入錯誤數(shù)據(jù);非常不建議的做法;
2. 頁面給出導(dǎo)入錯誤原因,用戶按照頁面指示修改模板內(nèi)容后再次重新上傳 — 適用于數(shù)據(jù)量小、出錯率低、且用戶能接受此方式的場景;也是我目前項(xiàng)目中比較常用的形式;
3. 先導(dǎo)入正確的,提示問題數(shù)據(jù),這種又分為很多場景了:
a. 僅提供錯誤數(shù)據(jù)導(dǎo)出模板,不標(biāo)注具體錯誤原因 — 研發(fā)成本相對前者高一些;
b. 提供錯誤數(shù)據(jù)導(dǎo)出模板,且標(biāo)注出所有未通過校驗(yàn)的字段 — 研發(fā)成本最高,但方便用戶快速定位錯誤問題;
c. 支持直接在頁面修改錯誤數(shù)據(jù)后重新上傳 — 研發(fā)成本高,適用于數(shù)據(jù)量小且用戶對字段熟悉度高,改動量??;
所以你的問題2,看完解釋應(yīng)該心里也有答案了吧~~
歡迎一起探討哦~
謝謝,想的比較細(xì),受用了