目的
根据客户目前的折扣开发定价模型。请注意,当前客户的折扣并非完全相同(例如,客户A获得25.25%的折扣,而客户B获得25.1238%的折扣)。
APPROACH
计算现有客户,加权折扣(已完成)
创建一个带范围的DISCOUNT TABLE(例如“青铜折扣”= 0-15%, 白银= 15-25%,黄金= 25%-35%等。)(已完成)
问题
由于舍入变量(即“最接近的10%”)实际上正在发生变化,我很难将某人四舍五入到最近的等级 - 第一层= 15%,第二层= 10%,第三层= 25%。由于等级正在发生变化,Allen Browne's strategy还不够。
请注意,我正试图根据他们的CURRENT DISCOUNT和新的折扣表将人们推到最近的等级;只是检查某人是否落在两个表层之间是不够的。
示例
表: 青铜= 0-15% 银= 15-25%
客户A,现有加权平均折扣= 15.50%,新计算等级= 25%(银) 客户B,现有加权平均折扣= 14.95%,新计算等级= 15%(青铜)
在上述案例中,与客户B相比,客户A获得了巨大的折扣,尽管他们现有的加权平均值接近。客户A的新计算层不正确,应放入青铜包中。
问题(S)
答案 0 :(得分:1)
您只需要更高的百分比,如:
Bronze = 15
Silver = 25
Gold = 35
然后:
Select
Customers.*,
(Select Top 1 Discount.DiscountName
From Discount
Order By Abs(Discount.Percentage - Customer.Discount) Asc) As CustomerDiscount
From Customers
答案 1 :(得分:0)
由于我不确定你的确切表格结构,这样的可能会起作用或者是一个很好的起点。
System.ComponentModel.DataAnnotations.MaxLength