Browse Source

fix: 百分位算法

hsun 1 year ago
parent
commit
96e3f1ab0b
2 changed files with 3 additions and 2 deletions
  1. 1 1
      services/data/cross_variety/chart.go
  2. 2 1
      services/data/line_feature/chart_info.go

+ 1 - 1
services/data/cross_variety/chart.go

@@ -355,7 +355,7 @@ func GetChartData(chartInfoId int, config request.ChartConfigReq) (edbList []*da
 				}
 				numerator := decimal.NewFromInt(int64(tinyN - 1))
 				denominator := decimal.NewFromInt(int64(bigN - 1))
-				percentVal, _ = numerator.Div(denominator).Round(4).Float64()
+				percentVal, _ = numerator.Div(denominator).Mul(decimal.NewFromFloat(100)).Round(4).Float64()
 			}
 
 			// key的生成(日期配置下标+指标id)

+ 2 - 1
services/data/line_feature/chart_info.go

@@ -183,7 +183,8 @@ func GetPercentileData(chartInfoId int, startDate, endDate string, mappingInfo *
 			}
 			numerator := decimal.NewFromInt(int64(tinyN - 1))
 			denominator := decimal.NewFromInt(int64(bigN - 1))
-			percentVal, _ := numerator.Div(denominator).Round(4).Float64()
+			// 因为是百分位所以这里是要*100, 跟之前的算法保持同步
+			percentVal, _ := numerator.Div(denominator).Mul(decimal.NewFromFloat(100)).Round(4).Float64()
 
 			// 写进数组并判断指标最大最小值
 			newDataList = append(newDataList, data_manage.EdbDataList{