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