B端產(chǎn)品中,為什么批量導(dǎo)入功能很重要?
B端產(chǎn)品的重要價值是提高企業(yè)的辦公效率,在企業(yè)的日常工作中批量錄入數(shù)據(jù)的場景很多,所以批量導(dǎo)入是b端設(shè)計中很重要的一個功能。本文作者結(jié)合案例,分享了自己關(guān)于B端產(chǎn)品批量導(dǎo)入功能的思考。
在做b端產(chǎn)品的時候,對于數(shù)據(jù)需要大量添加、修改的場景,一般會設(shè)計成批量導(dǎo)入功能。相較于c端產(chǎn)品,為什么批量導(dǎo)入功能在b端產(chǎn)品中如此重要?
首先是因為b端產(chǎn)品一個重要的價值是提高企業(yè)的效率,而批量導(dǎo)入功能恰恰能成倍提高使用者的操作效率。因為相較于單個添加功能,在Excel里面批量填寫數(shù)據(jù)可以復(fù)制粘貼多條相同字段,比單個錄入更快捷。能提高效率第二個原因是Excel支持多人分工協(xié)作填寫,協(xié)同更有效率。
其次是因為批量錄入數(shù)據(jù)的場景真的很多。以購物中心信息化為例,新商戶信息需要批量錄入,每個商戶的銷售指標(biāo)、銷售實績、費用等都需要批量導(dǎo)入。
問題
但是看似一個簡單的文件批量導(dǎo)入功能,如果設(shè)計者當(dāng)時未做全面的思考,容易被操作人反饋模板填寫模板麻煩,上傳導(dǎo)入時報錯時體驗不好,上傳后導(dǎo)入數(shù)據(jù)不便于查閱與修改。這些問題都影響了功能的體驗感,甚至嚴(yán)重影響工作效率。這些問題顯然與批量導(dǎo)入功能以提高企業(yè)效率的目的背道而馳。那么,b端批量導(dǎo)入功能有哪些套路呢?
下面以常見的Excel批量導(dǎo)入為例,從下載模板、導(dǎo)入時的便利性、導(dǎo)入后數(shù)據(jù)的查詢修改三方面分享下b端產(chǎn)品批量導(dǎo)入功能的思考。
一、模板設(shè)置
1. 模板的設(shè)置
(1)如何設(shè)計導(dǎo)入字段
確定字段設(shè)計模板最開始的環(huán)節(jié),應(yīng)和業(yè)務(wù)方溝通,確認(rèn)包含哪些字段。其次需確定字段維度的規(guī)則。
我們舉個案例,來看一下導(dǎo)入字段設(shè)計的思考。假如:我們需要設(shè)計一個批量導(dǎo)入供應(yīng)商信息的功能,基于此功能來說明設(shè)置字段的流程。
1)確定所需的字段。比如供應(yīng)商信息批量導(dǎo)入,所需字段:供應(yīng)商名稱、簡稱、營業(yè)執(zhí)照、稅號、納稅類別、特別屬性、法人代表、成立日期。
2)確認(rèn)每個字段的相關(guān)屬性。供應(yīng)商名稱等字符串字段長度是多少,是否允許重復(fù)?過長應(yīng)該進(jìn)行錯誤提示防止數(shù)據(jù)沖突的產(chǎn)生,且這種字段為必填項,為空也應(yīng)該進(jìn)行報錯提示。
供應(yīng)商編號是自動生成還是手動添加,自動生成編碼規(guī)則是按順序生成還是按地區(qū)等要素有特定編碼規(guī)則?這些問題都需要進(jìn)行思考。
營業(yè)執(zhí)照這類字段是字符串還是枚舉?是枚舉的話應(yīng)事先在模板內(nèi)提示用戶只能填寫哪幾類數(shù)據(jù)。為了防止枚舉字段輸入其他內(nèi)容引起數(shù)據(jù)庫混亂,應(yīng)該設(shè)定好導(dǎo)入校驗規(guī)則,在導(dǎo)入時不允許此類數(shù)據(jù)導(dǎo)入。
此外還需考慮到浮點數(shù)的位數(shù)。浮點數(shù)參與運算時會造成精度丟失問題,包含浮點數(shù)的加減乘除都有可能導(dǎo)致計算誤差,所以在導(dǎo)入數(shù)據(jù)時如果類型是浮點數(shù),應(yīng)該定義小數(shù)點前后位數(shù)的規(guī)則。
3)需要確定導(dǎo)入時異常數(shù)據(jù)格式的處理。比如數(shù)據(jù)只能導(dǎo)入兩位小數(shù)的數(shù)據(jù),用戶導(dǎo)入了小數(shù)點后三位,是只取前兩位進(jìn)行保存還是不進(jìn)行導(dǎo)入。最后用表格形式呈現(xiàn)出來。如下圖。
(2)模板規(guī)則的提醒
在設(shè)計模板設(shè)計好后,須提示填寫規(guī)則。
可以在頂部列出填寫規(guī)則。例如供應(yīng)商信息導(dǎo)入案例,對于稅號字段填寫,需告知用戶稅號應(yīng)該填寫的是數(shù)字或字符,如果與系統(tǒng)內(nèi)已有的稅號重復(fù),應(yīng)告知其應(yīng)該怎么做。
還可以用添加有效性提示文字的方式,減少在填寫階段的錯誤。例如納稅類別字段,只能填寫普通、特殊字段,只在上面顯示規(guī)則不明顯,可以在下方點擊時彈出提示性問題,減少出錯可能。如下圖:
2. 模板的下載入口
模板的入口設(shè)置要結(jié)合用戶的使用場景來設(shè)計。有兩種方案,一種是在列表頂部分別放模板下載和批量導(dǎo)入按鈕,第二種方案是只放一個批量上傳按鈕,點開后讓用戶在上傳的彈窗頁面進(jìn)行模板下載。
從場景看,第二種方案更貼近文件上傳的場景,批量上傳只有一個按鈕,點開后下載模板,而不用點開批量彈窗后再關(guān)掉去外面下載模板,減少用戶的操作。
二、上傳操作便利性
1. 兼容各版本下的文件格式
必須同時支持各版本下xls、xlsx格式的Excel上傳。因為在實際過程中,一部分人下載模板填寫完內(nèi)容后會使用另存為,在這一過程中容易選其他文件格式進(jìn)行保存,容易出現(xiàn)格式不支持上傳情況。
此外還需注意兼容不同瀏覽器以及軟件版本的差異,讓Excel文件的各種形式能在不同文件形式、不同瀏覽器和軟件版本進(jìn)行上傳,使得上傳體驗更加友好。
2. 上傳錯誤提示詳盡準(zhǔn)確
在一些文件批量上傳項目中,對數(shù)據(jù)校驗后前端提示太過簡單,用戶收到錯誤通知一臉懵,還得去Excel中一個個去查找哪些填寫不規(guī)范,這無疑是與提高效率背道而馳的做法。
在導(dǎo)入過程中一般需注意以下2點:
- 設(shè)置好每個導(dǎo)入字段的校驗規(guī)則。對于每個字段,哪些是必填的,哪些是只能填寫數(shù)字,哪些是只能填寫日期,日期格式否是YYYY-MM-DD,某個字段數(shù)據(jù)系統(tǒng)內(nèi)已有是否可以重復(fù)添加?A鋪位的使用面積是能否大于計租面積?鋪位面積大的小數(shù)點是保留整數(shù)還是保留兩位,導(dǎo)入位數(shù)異常如何處理?只有校驗規(guī)則設(shè)定了,才能在導(dǎo)入解析時給予詳盡的錯誤提示。
- 錯誤提示要詳盡。針對錯誤提示太簡單的情況,在數(shù)據(jù)導(dǎo)入進(jìn)行校驗后,產(chǎn)品可以告知開發(fā)每個字段的校驗規(guī)則,數(shù)據(jù)導(dǎo)入時定位錯誤的行數(shù)和列數(shù),最后在上傳頁面直接顯示第幾行哪些字段填寫不規(guī)范,方便用戶進(jìn)行修改。但是要想在系統(tǒng)內(nèi)實現(xiàn)自動解析錯誤的成本很高,我們可以只顯示用戶錯在什么地方,在上傳頁面顯示出來哪些字段有問題,分別是第幾行。
對于多條內(nèi)容報錯的情況處理,比如同一個字段100行都填寫錯誤,可以用列所在的字段為一行顯示出本列應(yīng)該填寫的規(guī)則,后面括號內(nèi)顯示出那100行的行號。
報錯樣式如下圖:
3.思考上傳失敗是否允許導(dǎo)入
在上一步某些行數(shù)有錯誤報錯顯示的情況下,對于數(shù)據(jù)上傳有三種方式:
- 有報錯,不允許所有數(shù)據(jù)導(dǎo)入。只顯示哪些數(shù)據(jù)在第幾行有錯誤,需要重新對模板修改再次導(dǎo)入全部校驗通過后數(shù)據(jù)進(jìn)行導(dǎo)入;
- 只導(dǎo)入正確數(shù)據(jù)。提示成功導(dǎo)入哪幾條數(shù)據(jù),哪幾條數(shù)據(jù)有誤,有誤的是哪個字段第幾行;
- 導(dǎo)入所有數(shù)據(jù),錯誤數(shù)據(jù)可以進(jìn)行在線修改。將所有數(shù)據(jù)導(dǎo)入詳情頁,點擊修改按鈕可根據(jù)彈窗提示對錯誤數(shù)據(jù)進(jìn)行修改。
三種方式,我更推薦第一種。第二種方式報錯后雖然一部分?jǐn)?shù)據(jù)導(dǎo)入了,但錄入錯誤的數(shù)據(jù)得去Excel里面進(jìn)行修改,甚至還得一個個去查閱哪些是已導(dǎo)入的,哪些是未導(dǎo)入的需要做修改,徒增工作量。第三種方式開發(fā)量相對大一些,用戶上傳后可以直接在列表中刪除,對于只有個別數(shù)據(jù)有誤時用這種方式改起來更加方便。但當(dāng)出錯比較多的時候,用第一種方式在EXCEL中修改會更方便.
4. 上傳文件限制大小的說明
對于上傳的文件,需要在頁面提醒單個文件的大小限制,這樣既可以明確告知用戶文件大小上限,減少上傳等待時間,還能防止上傳文件過大而上傳失敗。所以需要和開發(fā)確定好上傳文件的大小上限。
5. 數(shù)據(jù)導(dǎo)入頁面是否可進(jìn)行其他操作
在數(shù)據(jù)導(dǎo)入時,是應(yīng)該設(shè)計成全局遮罩,無法操作頁面其他功能?還是設(shè)計成在上傳過程中可以操作頁面其他功能?
在筆者看來,在導(dǎo)入數(shù)據(jù)過程中,操作當(dāng)前頁面其他功能與導(dǎo)入過程在業(yè)務(wù)上和邏輯上不影響其他情況下可以設(shè)計成導(dǎo)入時可操作其他頁面。比如我在一個頁面需要上傳五個階段的數(shù)據(jù)。在導(dǎo)入第一個階段數(shù)據(jù)時,我也可以去導(dǎo)入第二個階段的數(shù)據(jù)。這種就可以設(shè)計成導(dǎo)入時不是全局遮罩的形式。其他業(yè)務(wù)層面先后有關(guān)聯(lián)(比如說導(dǎo)入后需要對數(shù)據(jù)進(jìn)行批量審核)的情況需設(shè)計成全局遮罩的形式。
三、數(shù)據(jù)導(dǎo)入后的修改、查看
1. 上傳后頁面直觀顯示
數(shù)據(jù)批量上傳后,除了更直觀的提示他哪行數(shù)據(jù)那個字段填寫不對報錯以外,對于一次性上傳成功的數(shù)據(jù),還需要一目了然顯示出來一共導(dǎo)入了哪些數(shù)據(jù),合計是多少,首列是否要凍結(jié),若導(dǎo)入合計與預(yù)期有差異還能根據(jù)準(zhǔn)確定位是哪個字段與預(yù)期不符,方便及時修改。
舉一個例子:
圖1是系統(tǒng)內(nèi)原有的導(dǎo)入功能。主要是對個多個品牌的多條費用進(jìn)行批量導(dǎo)入。原有功能導(dǎo)入后只會顯示成功導(dǎo)入了多少條數(shù)據(jù)。但是查找具體某個專柜導(dǎo)入多少條數(shù)據(jù)時,需要去上百個品牌去搜索品牌,然后點擊加號展開查找每項費用。而且還無法根據(jù)專柜維度顯示合計費用。一旦數(shù)據(jù)有誤進(jìn)行排查,十分不方便。
圖2是優(yōu)化后的頁面,首先這個頁面基本和模板結(jié)構(gòu)一致,讓用戶查看導(dǎo)入明細(xì)項,對比預(yù)期導(dǎo)入合計和實際導(dǎo)入合計更加直觀,減少操作維度。還能根據(jù)部門、專柜等維度查詢每一項費用的合計值,便于查詢和錯誤數(shù)據(jù)修正。
對于同一專柜,同一日期同一費用項的不同調(diào)整項目,原有設(shè)計是需要通過專柜維度查詢?nèi)掌谌缓笕ピ斍槔锩娌榭?。非常的麻煩,還無法直觀查看導(dǎo)入后到底哪一項有問題。優(yōu)化后的顯示頁面直接對于這種情況將多筆調(diào)整費用顯示在一起,更注重過程數(shù)據(jù)而不是結(jié)果數(shù)據(jù),更便于財務(wù)審核。
所以導(dǎo)入后頁面設(shè)計直觀些能極大的提高導(dǎo)入后數(shù)據(jù)的核查,提高導(dǎo)入數(shù)據(jù)的工作效率。
2. 思考哪些角色可對數(shù)據(jù)覆蓋或追加
對于某些導(dǎo)入場景,可能業(yè)務(wù)人員只允許導(dǎo)入一次,數(shù)據(jù)覆蓋的權(quán)限需要另一個角色進(jìn)行操作。在設(shè)計導(dǎo)入過程時需要根據(jù)業(yè)務(wù)需要將這一點納入考慮范圍??梢栽谕豁撁娓鶕?jù)角色組設(shè)置不同的導(dǎo)入按鈕,也可以設(shè)置兩個菜單來實現(xiàn)再次導(dǎo)入的權(quán)限控制。
3. 思考哪些數(shù)據(jù)狀態(tài)可覆蓋或追加
在導(dǎo)入或再次導(dǎo)入數(shù)據(jù)時,需要思考已有類似數(shù)據(jù)是否對原有數(shù)據(jù)進(jìn)行覆蓋還是不進(jìn)行覆蓋。
例如我導(dǎo)入了一批費用調(diào)整單據(jù),需要根據(jù)業(yè)務(wù)場景思考當(dāng)導(dǎo)入除金額不同的費用調(diào)整時,是覆蓋還是追加?未審核狀態(tài)的調(diào)整單據(jù)是覆蓋還是追加?已審核的調(diào)整單據(jù)是覆蓋還是追加?
一般來講,未審核的調(diào)整單據(jù)再次導(dǎo)入是是可以進(jìn)行覆蓋的,已審核的單據(jù)一般不能直接進(jìn)行覆蓋,需進(jìn)行審核后進(jìn)行覆蓋。
4. 導(dǎo)入記錄的查看
對于一個完整的系統(tǒng)來說,不光要知道數(shù)據(jù)導(dǎo)入后的結(jié)果,數(shù)據(jù)的增、刪、改也需要方便后續(xù)查證。可以采用單獨日志的形式,也可以在數(shù)據(jù)后加變更備注的形式,查詢是誰在上面時候?qū)肓四男?shù)據(jù),給系統(tǒng)帶來了數(shù)據(jù)上的改變。
四、價值
以上對于b端產(chǎn)品批量導(dǎo)入功能的思考的價值在于:
- 能極大地提高操作人員的輸入效率。從模板下載、填寫、導(dǎo)入、查看整個過程都考慮到用戶操作的便利性,顯著提高輸入效率。
- 提示更加友好。在填寫過程中注明規(guī)則,在導(dǎo)入過程中針對每個字段進(jìn)行提示,有助于減少用戶的迷惑,更好地完成導(dǎo)入操作。
- 方便對上傳數(shù)據(jù)進(jìn)行排查。導(dǎo)入后頁面設(shè)置的更加直觀,免去了繁復(fù)的查找過程,方便排查和修改。
- 可以復(fù)用于其他項目。對于一套成熟的上傳方案,可以復(fù)用于其他項目,不必重復(fù)造輪子,提高開發(fā)效率。
總結(jié)
b端產(chǎn)品的價值是提高企業(yè)的效率,目的是利用系統(tǒng)功能去解放人。雖然批量導(dǎo)入在b端產(chǎn)品功能中是一個很小的功能點,但是提高效率在這個功能上卻始終是基本準(zhǔn)繩。從模板下載、上傳操作、查看與修改等功能的設(shè)計,都需要思考如何提高使用人員的工作效率。
希望以此為參考,大家能提出更多的優(yōu)化思路。
作者:旺仔哥哥,微信公眾號:旺仔哥哥
本文由 @旺仔哥哥 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
數(shù)據(jù)批量導(dǎo)入在設(shè)計時作為單獨一個模塊嗎?
數(shù)據(jù)量太大涉及到五十萬行的業(yè)務(wù)數(shù)據(jù)一次性導(dǎo)入,要如何去保證系統(tǒng)性能和導(dǎo)入效率呢?
異步操作,系統(tǒng)判斷數(shù)據(jù)量并按照預(yù)設(shè)進(jìn)行數(shù)據(jù)拆分。提供一個統(tǒng)一的批量業(yè)務(wù)辦理中心供查詢導(dǎo)入結(jié)果,并且對導(dǎo)入結(jié)果可進(jìn)行篩選。個人想法~
異步+1
另外涉及到的導(dǎo)入失敗數(shù)據(jù)的說明和告知,可提供下載導(dǎo)入失敗數(shù)據(jù)的功能
導(dǎo)入我感覺這個功能看場景,如果b端自己用的話,從數(shù)據(jù)庫導(dǎo)入不完了,這種功能業(yè)務(wù)不一定用還花時間
多學(xué)習(xí)吧,有多少人可以直接去操作數(shù)據(jù)庫?安全性怎么保證
只是說看場景
這個屬于數(shù)據(jù)初始化了,適用于僅在系統(tǒng)上線初期需要大批量數(shù)據(jù)導(dǎo)入,而后續(xù)使用過程無大批量數(shù)據(jù)上傳需求的場景,直接給個單個添加功能就好,這篇文章是對后期也有大批量數(shù)據(jù)上傳需求的情況而言
二-5.數(shù)據(jù)導(dǎo)入頁面是否可進(jìn)行其他操作有一個疑問:一個頁面中支持打開多個批量導(dǎo)入的彈窗,為何不通過多復(fù)制頁面,每個頁面中做一次批量導(dǎo)入呢?這樣每個頁面不是更簡潔嗎
另外,全局遮罩可以直觀地告訴用戶當(dāng)前任務(wù)還在進(jìn)行中,暫時不要進(jìn)行其他操作,避免關(guān)聯(lián)操作發(fā)生錯誤;頂著一個彈窗在當(dāng)前頁面繼續(xù)操作總覺得很別扭,如果同時需要進(jìn)行查詢操作,復(fù)制一個新頁面,在新頁面中操作即可。
第三項第一條不太明白,導(dǎo)入成功后查看導(dǎo)入明細(xì)項嗎?如果上傳多個品牌的數(shù)據(jù),統(tǒng)計出來的合計數(shù)據(jù)對業(yè)務(wù)來說沒有意義吧?
這應(yīng)該是領(lǐng)導(dǎo)方面的需求,B端需要考慮業(yè)務(wù)人員和信息管理及領(lǐng)導(dǎo)幾方面人員的需求
樓主全篇重點都在講如何做批量導(dǎo)入功能,而并沒深入解釋為什么
很詳細(xì)了
寫得非常細(xì)致了~
哈哈,誰用誰知道,,
產(chǎn)品同學(xué)想了一大堆,研發(fā)同學(xué)估計得砍需求了哈哈
確實,該功能是剛需
模板可以有示例數(shù)據(jù)。如果填寫項是多選,要設(shè)置分隔符規(guī)則,比如用&連接。
做過分行提示,研發(fā)真的很抗拒。要做到好用,的確要考慮這么多。
昨天剛做了個這個功能,不過說實話,實現(xiàn)小編說的,研發(fā)的內(nèi)容很多
是的,尤其是導(dǎo)入異常提示。估計開發(fā)會跳腳
是一定會跳腳,除非是saas產(chǎn)品
作為一個開發(fā),表示需求不飽和
決定把上面的功能都做了