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