以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]列平均值为尺度单元格绘制  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192990)

--  作者:185723664
--  发布时间:2024/8/8 12:18:00
--  [求助]列平均值为尺度单元格绘制
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列平均值为尺度单元格绘制.foxdb


当前列单元格值,与当前列平均值对比,绘制单元格样式如下:
当前列单元格值=列平均值
当前列单元格值超列平均值10%
当前列单元格值超列平均值20%
当前列单元格值超列平均值30%
当前列单元格值低列平均值10%
当前列单元格值低列平均值20%
当前列单元格值低列平均值30%

--  作者:y2287958
--  发布时间:2024/8/8 12:42:00
--  
Select Case e.Col.Name
    Case "第一列", "第二列", "第三列"
        Dim 平均值 As Double = e.Table.Compute ("Avg(" & e.Col.Name & ")")
        If e.Row.IsNull (e.Col) = False Then 
            If e.Row(e.Col) < 平均值 * 0.7 Then
                e.Style = "当前列单元格值低列平均值30%"
            ElseIf e.Row(e.Col) < 平均值 * 0.8 Then
                e.Style = "当前列单元格值低列平均值20%"
            ElseIf e.Row(e.Col) < 平均值 * 0.9 Then
                e.Style = "当前列单元格值低列平均值10%"
            ElseIf e.Row(e.Col) = 平均值 Then
                e.Style = "当前列单元格值=列平均值"
            ElseIf e.Row(e.Col) > 平均值 * 1.1 Then
                e.Style = "当前列单元格值超列平均值10%"
            ElseIf e.Row(e.Col) > 平均值 * 1.2 Then
                e.Style = "当前列单元格值超列平均值20%"
            ElseIf e.Row(e.Col) > 平均值 * 1.3 Then
                e.Style = "当前列单元格值超列平均值30%"
            End If 
        End If 
End Select