1. 帮助中心 >
  2. 博客 >
  3. 用户分享
返回

简道云使用案例:如何根据销售额计算提成?

2015-12-31 标签:案例 数据管理 公式 

作者:独孤行

Q:前天在群里有个朋友问起这样一个问题:他想针对业务员的销售业绩进行按月查询,并根据销售商品的类别(常规销售或促销销售)来统计浮动比例的提成额。这个例子中的要求如下:

促销商品类业绩  >= 1万 提10%   否则 提5%

其它商品业绩 >= 10万 提30%  否则 提15%

他期望的是如下这样的方式来实现(图1,这是我当时在一个测试表单页面做出来的效果,实际上应该用当月比这个本月更能表达实际的意思)。

A: 根据这个问题,通过现有的报表汇总表功能,目前可以实现按门店、年、月、业务员来分类汇总(如图1),单独对促销商品进行汇总统计等(如图2,这两报表本来不想再截图,因为确实没有什么可特别说的地方,主要是考虑为了后面的阅读理解方便)。但在汇总表中目前暂时只支持简单运算而不支持通过公式来计算,故而无法实现按浮动比例来计算提成额。

 

在了解了需求和挑战后,就要以终为始的来考虑如何实现了。当然,我这里只是抛块砖,本文目的不是说如何去设计一个门店销售管理系统,主要目的是演示下如何利用当前简道云现有的控件、函数与公式以及一些刚刚推出的新的功能点,拓展思路,实现1+1>2的效果(已经准备开始吹了啊)。

在这个例子中将要使用的控件有:文本控件,数字控件,单选按钮组,日期时间控件,下拉框。

要使用的功能有:控件的关联,联动

表单属性的新功能:隐藏控件赋值----始终重新计算(这也是我之前跟不同的简道云的兄弟妹妹们都提过要求的一个大杀器功能)

要使用的函数(详见简道云帮助中心之公式与函数):

IF(), CONCATENATE() MAP(), YEAR(), MONTH(), DATE(),

要说在这个例子中,在函数上的使用上,并没有太多特别复杂的地方。主要想说的是一个思路,我扔块砖,等大伙儿的玉啊。 题外话,由于简道云的成员控件还没有开发完,所以目前很多人提出过的要求在表单中使用提交人这个系统字段的事情,还暂时不能实现。所以,大家就不要介意我这个演示应用在获取用户身份上的不足了。 (如果现在这个控件可用,我就要换种方法来使用提交人这个系统字段了)。 回到正题,首先将应用中的表单分为如下的几个分组(图4,只是为了便于理解,这个不是本文重点),

至于【门店】,【产品记录】,【业务员表】,没什么好说的,就是文本控件,录入记录,供别的表单(【销售录入】,【业绩查询】)关联或联动调用的。

可以先看一下预先设置的数据结构,以方便理解下面的说明。

【商品记录】表单中的记录(图5)

【业务员表】表单中的记录(图6)

【销售录入】表单中使用的控件(图7)-- 这里是重头戏开始了。

其中门店,业务员,销售商品,促销,单价这些控件采用联动、关联等方式显示、选择其它表单中的数据。

参考这张图来看一下相关控件是怎么设置的(图7a):

实现如图1要求的重点是在最下面两个隐藏的文本控件上(在右侧的控件属性的操作权限上取消选择可见,并在表单属性的隐藏控件赋值中选择始终重新计算),全部使用编辑公式来产生最终提交的值。

为了统计针对每名业务员的全部销售业绩,在这儿使用了一个文本控件(标题为“统计检索(隐藏) ”,这里面的记录稍后可通过MAP()来使用),通过连接函数CONCATENATE()将业务员-门店-年-月连接生成一个文本值用来提交。

CONCATENATE(门店,'-',业务员,'-',YEAR(DATE(销售日期)),'-',MONTH(DATE(销售日期)))

为了统计针对每个业务员在促销商品上的销售业绩,使用了一个文本控件(标题为“促销统计检索(隐藏)”,同样也是让其记录供MAP()在后期使用),通过通过连接函数CONCATENATE()将业务员-门店-年-月-“促销”文本控件中的值来生成的一个固定文本。

这儿的思路是:如果“促销”这个文本控件在数据联动后的值为空,则“促销统计检索(隐藏)”这个文本控件的值为空。否则,连接业务员-门店-年-月-‘是’

在这个提交值上,为了在数据管理里能便于观察,先加了一个判断。实际上在公式编辑器中,我们不必全部写成一行,针对复杂点的公式,也可以写成下面这种格式。 IF (促销=='', '', CONCATENATE(门店,'-',业务员,'-',YEAR(DATE(销售日期)),'-',MONTH(DATE(销售日期)),'-',促销) )

这样,在通过表单提交数据后,在数据管理中可看到类似的数据(图8).

有了数据后,我们来准备【业绩查询】表单,因为目的是想通过表单来查询每个业务员在所选择月份的分类业绩与相应提成。根据之前的要求,设置了如下的表单(图9)

同样,上面的下拉框控件“门店”,“业务员”仍然与【业务员表】关联与联动使用。

这张表单上的主要要点是这6个通过编辑公式来使用的文本控件:

当月促销商品业绩

当月促销商品提成

当月其它商品业绩

当月其它商品提成

统计检索(隐藏)

促销检索(隐藏)

首先仍是编辑这两个隐藏控件的公式(注意表单属性隐藏控件赋值要设置为始终重新计算)。分别 如下:

统计检索(隐藏)– 这个与【销售录入】表单中的公式类似

CONCATENATE(门店,'-',业务员,'-',YEAR(DATE(查询当月)),'-',MONTH(DATE(查询当月)))

促销(隐藏)– 这个【销售录入】表单中的公式类似但销有不同,因为只是为了检索含促销标识的记录,所以可以直接用连接函数加上一个“是”,这样使用MAP()函数时就可以检索到相符的记录了:

CONCATENATE(门店,'-',业务员,'-',YEAR(DATE(查询当月)),'-',MONTH(DATE(查询当月)),'-','是')

在给这两个关键的隐藏控件赋值之后,就可以来轻松完全其它4个文件控件值的计算了。

当月促销商品业绩

SUM(MAP(促销检索(隐藏),促销统计检索(隐藏),小计))

当月促销商品提成 (*比例为:促销商品  >=1万 提10%   否则 提5%)

IF(当月促销商品业绩>=10000,当月促销商品业绩0.1,当月促销商品业绩0.05)

当月其它商品业绩

SUM(MAP(统计检索(隐藏),统计检索(隐藏),小计))-SUM(MAP(促销检索(隐藏),促销统计检索(隐藏),小计))

当月其它商品提成(*比例为:其它商品业绩>=10万 提30%  否则 提15%)

IF(当月其它商品业绩>=100000,当月其它商品业绩0.3,当月其它商品业绩0.15)

最后加一个表单提交检验加一个提示说明本表单不许提交,其实这里可以写成任意一个不满足的条件就行了(图10,在这儿这个值永远是不会等于1的)。

希望以上的演示能够给大家一些思路,举一返三,欢迎各位积极砸玉。

本文示例的外链:

 销售录入(表单) https://jiandaoyun.com/f/5678a3432656deb15f00290a 

 业绩查询(表单) https://jiandaoyun.com/f/5678a57b693d3d63670919fa 

 业绩统计(报表) https://jiandaoyun.com/r/5678b1e52656deb15f00a5c5

给简道云的兄弟妹妹们 应用地址,不知道能否制成模板供有兴趣的朋友们参考 https://www.jiandaoyun.com/dashboard/app/56789a595096d32e043cfa39