🎨 Improve database rollup number calculation https://github.com/siyuan-note/siyuan/issues/10822
This commit is contained in:
parent
e8f0ea7c09
commit
a3be3aea33
1 changed files with 6 additions and 6 deletions
|
@ -716,7 +716,7 @@ func (r *ValueRollup) RenderContents(calc *RollupCalc, destKey *Key) {
|
|||
case CalcOperatorSum:
|
||||
sum := 0.0
|
||||
for _, v := range r.Contents {
|
||||
if nil != v.Number {
|
||||
if KeyTypeNumber == v.Type && nil != v.Number && v.Number.IsNotEmpty {
|
||||
sum += v.Number.Content
|
||||
}
|
||||
}
|
||||
|
@ -725,7 +725,7 @@ func (r *ValueRollup) RenderContents(calc *RollupCalc, destKey *Key) {
|
|||
sum := 0.0
|
||||
count := 0
|
||||
for _, v := range r.Contents {
|
||||
if nil != v.Number {
|
||||
if KeyTypeNumber == v.Type && nil != v.Number && v.Number.IsNotEmpty {
|
||||
sum += v.Number.Content
|
||||
count++
|
||||
}
|
||||
|
@ -736,7 +736,7 @@ func (r *ValueRollup) RenderContents(calc *RollupCalc, destKey *Key) {
|
|||
case CalcOperatorMedian:
|
||||
var numbers []float64
|
||||
for _, v := range r.Contents {
|
||||
if nil != v.Number {
|
||||
if KeyTypeNumber == v.Type && nil != v.Number && v.Number.IsNotEmpty {
|
||||
numbers = append(numbers, v.Number.Content)
|
||||
}
|
||||
}
|
||||
|
@ -747,7 +747,7 @@ func (r *ValueRollup) RenderContents(calc *RollupCalc, destKey *Key) {
|
|||
case CalcOperatorMin:
|
||||
minVal := math.MaxFloat64
|
||||
for _, v := range r.Contents {
|
||||
if nil != v.Number {
|
||||
if KeyTypeNumber == v.Type && nil != v.Number && v.Number.IsNotEmpty {
|
||||
if v.Number.Content < minVal {
|
||||
minVal = v.Number.Content
|
||||
}
|
||||
|
@ -757,7 +757,7 @@ func (r *ValueRollup) RenderContents(calc *RollupCalc, destKey *Key) {
|
|||
case CalcOperatorMax:
|
||||
maxVal := -math.MaxFloat64
|
||||
for _, v := range r.Contents {
|
||||
if nil != v.Number {
|
||||
if KeyTypeNumber == v.Type && nil != v.Number && v.Number.IsNotEmpty {
|
||||
if v.Number.Content > maxVal {
|
||||
maxVal = v.Number.Content
|
||||
}
|
||||
|
@ -768,7 +768,7 @@ func (r *ValueRollup) RenderContents(calc *RollupCalc, destKey *Key) {
|
|||
minVal := math.MaxFloat64
|
||||
maxVal := -math.MaxFloat64
|
||||
for _, v := range r.Contents {
|
||||
if nil != v.Number {
|
||||
if KeyTypeNumber == v.Type && nil != v.Number && v.Number.IsNotEmpty {
|
||||
if v.Number.Content < minVal {
|
||||
minVal = v.Number.Content
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue