{
  "id": "scene-gradebook",
  "version": "2024-12-24",
  "name": "成绩分析：录进去，分析自己出",
  "category": "场景模板",
  "description": "一张成绩表，总分、平均分、极差（偏科）、等第全是公式算的；班级平均分、等第分布、班级 × 等第，三张图一个看板。下次月考把新成绩导进来，这套分析原样还在。",
  "locale": "zh_CN",
  "imageSrc": "",
  "vipOnly": false,
  "author": "TableDI",
  "tags": {
    "functions": []
  },
  "resourceCount": {
    "Sheet": 1,
    "Component": 4,
    "Dashboard": 1
  },
  "installations": 0,
  "resources": {
    "sheet1": {
      "key": "sheet1",
      "type": "Sheet",
      "name": "成绩表",
      "content": {
        "sheet": {
          "name": "成绩表",
          "uniqueIndex": {
            "uniqueHeaders": []
          },
          "headers": [
            {
              "title": "#",
              "meta": {
                "AUTO_SCALE": 3,
                "thousandPoint": false,
                "type": "Number",
                "decimal": 0
              }
            },
            {
              "title": "学号",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "姓名",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "班级",
              "meta": {
                "type": "Text"
              }
            },
            {
              "title": "语文",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "数学",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "英语",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "总分",
              "formula": "{{$sheet1.headers[4].code}} + {{$sheet1.headers[5].code}} + {{$sheet1.headers[6].code}}",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "平均分",
              "formula": "{{$sheet1.headers[7].code}} / 3",
              "meta": {
                "type": "Number",
                "decimal": 1,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "最高分",
              "formula": "IF({{$sheet1.headers[4].code}} > {{$sheet1.headers[5].code}}, IF({{$sheet1.headers[4].code}} > {{$sheet1.headers[6].code}}, {{$sheet1.headers[4].code}}, {{$sheet1.headers[6].code}}), IF({{$sheet1.headers[5].code}} > {{$sheet1.headers[6].code}}, {{$sheet1.headers[5].code}}, {{$sheet1.headers[6].code}}))",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "最低分",
              "formula": "IF({{$sheet1.headers[4].code}} < {{$sheet1.headers[5].code}}, IF({{$sheet1.headers[4].code}} < {{$sheet1.headers[6].code}}, {{$sheet1.headers[4].code}}, {{$sheet1.headers[6].code}}), IF({{$sheet1.headers[5].code}} < {{$sheet1.headers[6].code}}, {{$sheet1.headers[5].code}}, {{$sheet1.headers[6].code}}))",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "极差",
              "formula": "{{$sheet1.headers[9].code}} - {{$sheet1.headers[10].code}}",
              "meta": {
                "type": "Number",
                "decimal": 0,
                "unit": "none",
                "thousandPoint": true
              }
            },
            {
              "title": "等第",
              "formula": "IF({{$sheet1.headers[7].code}} = 0, \"待核对\", IF({{$sheet1.headers[8].code}} >= 85, \"优\", IF({{$sheet1.headers[8].code}} >= 75, \"良\", IF({{$sheet1.headers[8].code}} >= 60, \"及格\", \"待提高\"))))",
              "meta": {
                "type": "Text"
              }
            }
          ]
        },
        "entries": {
          "csv": "学号,姓名,班级,语文,数学,英语\nS-2601,王一诺,初二1班,86,92,78\nS-2602,李书航,初二1班,74,65,81\nS-2603,周思远,初二1班,91,88,95\nS-2604,陈亦泽,初二1班,63,71,58\nS-2605,张梓涵,初二1班,88,79,84\nS-2606,赵嘉懿,初二1班,79,94,72\nS-2607,孙若曦,初二1班,95,86,90\nS-2608,吴宇轩,初二1班,58,62,67\nS-2609,郑欣妍,初二2班,82,77,88\nS-2610,冯予墨,初二2班,90,95,86\nS-2611,韩雨桐,初二2班,68,58,74\nS-2612,曹嘉宁,初二2班,77,83,69\nS-2613,许沐辰,初二2班,93,90,91\nS-2614,邓可欣,初二2班,71,66,79\nS-2615,萧文博,初二2班,85,88,80\nS-2616,程语彤,初二2班,64,73,61\nS-2617,任浩然,初二3班,89,84,93\nS-2618,叶awa,初二3班,0,0,0\nS-2619,顾清越,初二3班,76,81,70\nS-2620,潘岸芝,初二3班,94,91,89"
        }
      }
    },
    "component1": {
      "key": "component1",
      "type": "Component",
      "name": "各班平均分",
      "content": {
        "@t": "next.component.pivot.table",
        "sheetId": "{{$sheet1.id}}",
        "type": "Pivot",
        "title": "各班平均分",
        "config": {
          "@t": "next.component.pivot.config",
          "pivotDataOption": {
            "@t": "next.component.pivot.config.data.option",
            "filters": {
              "@t": "core.or.filter",
              "filters": [],
              "type": "OR"
            },
            "simpleFilters": [],
            "orders": [],
            "rows": [],
            "columns": [
              {
                "@t": "next.component.pivot.config.textHeader.item",
                "headerId": "{{$sheet1.headers[3].id}}",
                "dataItemType": "TextHeader",
                "label": "班级",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.text",
                  "type": "Text"
                }
              }
            ],
            "values": [
              {
                "@t": "next.component.pivot.config.formula.item",
                "headerId": "{{$sheet1.headers[8].id}}",
                "calcType": "Average",
                "formula": "",
                "dataItemType": "FormulaHeader",
                "label": "平均分",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.number",
                  "type": "Number",
                  "decimal": 1,
                  "unit": "none",
                  "thousandPoint": true
                }
              }
            ],
            "aggregated": true
          },
          "displayType": "ChartColumnar",
          "configType": "Pivot"
        },
        "css": {
          "@t": "next.component.pivot.css",
          "titleSize": 15,
          "dataLabel": {
            "@t": "next.component.mixmap.css.datalable",
            "showRule": "AllShow",
            "fontSize": 12,
            "placement": "outSideTop",
            "intervalNumber": 0
          },
          "legendSize": 12,
          "axisLabel": {
            "@t": "next.component.pivot.css.axis",
            "fontSize": 12,
            "interval": 0,
            "rotate": 0
          },
          "horizontalDisplay": false,
          "chartPieDisplay": "Ring",
          "cssType": "Pivot",
          "background": {
            "@t": "next.component.css.background",
            "color": "#ffffff",
            "opacity": 1
          },
          "border": {
            "@t": "next.component.css.border",
            "opacity": 0,
            "color": "#CAD0D5"
          },
          "showTitle": true
        },
        "actions": []
      }
    },
    "component2": {
      "key": "component2",
      "type": "Component",
      "name": "等第分布",
      "content": {
        "@t": "next.component.pivot.table",
        "sheetId": "{{$sheet1.id}}",
        "type": "Pivot",
        "title": "等第分布",
        "config": {
          "@t": "next.component.pivot.config",
          "pivotDataOption": {
            "@t": "next.component.pivot.config.data.option",
            "filters": {
              "@t": "core.or.filter",
              "filters": [],
              "type": "OR"
            },
            "simpleFilters": [],
            "orders": [],
            "rows": [],
            "columns": [
              {
                "@t": "next.component.pivot.config.textHeader.item",
                "headerId": "{{$sheet1.headers[12].id}}",
                "dataItemType": "TextHeader",
                "label": "等第",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.text",
                  "type": "Text"
                }
              }
            ],
            "values": [
              {
                "@t": "next.component.pivot.config.formula.item",
                "headerId": "{{$sheet1.headers[7].id}}",
                "calcType": "Count",
                "formula": "",
                "dataItemType": "FormulaHeader",
                "label": "总分",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.number",
                  "type": "Number",
                  "decimal": 0,
                  "unit": "none",
                  "thousandPoint": true
                }
              }
            ],
            "aggregated": true
          },
          "displayType": "ChartPie",
          "configType": "Pivot"
        },
        "css": {
          "@t": "next.component.pivot.css",
          "titleSize": 15,
          "dataLabel": {
            "@t": "next.component.mixmap.css.datalable",
            "showRule": "AllShow",
            "fontSize": 12,
            "placement": "outSideTop",
            "intervalNumber": 0
          },
          "legendSize": 12,
          "axisLabel": {
            "@t": "next.component.pivot.css.axis",
            "fontSize": 12,
            "interval": 0,
            "rotate": 0
          },
          "horizontalDisplay": false,
          "chartPieDisplay": "Ring",
          "cssType": "Pivot",
          "background": {
            "@t": "next.component.css.background",
            "color": "#ffffff",
            "opacity": 1
          },
          "border": {
            "@t": "next.component.css.border",
            "opacity": 0,
            "color": "#CAD0D5"
          },
          "showTitle": true
        },
        "actions": []
      }
    },
    "component3": {
      "key": "component3",
      "type": "Component",
      "name": "班级 × 科目平均分",
      "content": {
        "@t": "next.component.pivot.table",
        "sheetId": "{{$sheet1.id}}",
        "type": "Pivot",
        "title": "班级 × 科目平均分",
        "config": {
          "@t": "next.component.pivot.config",
          "pivotDataOption": {
            "@t": "next.component.pivot.config.data.option",
            "filters": {
              "@t": "core.or.filter",
              "filters": [],
              "type": "OR"
            },
            "simpleFilters": [],
            "orders": [],
            "rows": [
              {
                "@t": "next.component.pivot.config.textHeader.item",
                "headerId": "{{$sheet1.headers[3].id}}",
                "dataItemType": "TextHeader",
                "label": "班级",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.text",
                  "type": "Text"
                }
              }
            ],
            "columns": [
              {
                "@t": "next.component.pivot.config.textHeader.item",
                "headerId": "{{$sheet1.headers[12].id}}",
                "dataItemType": "TextHeader",
                "label": "等第",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.text",
                  "type": "Text"
                }
              }
            ],
            "values": [
              {
                "@t": "next.component.pivot.config.formula.item",
                "headerId": "{{$sheet1.headers[8].id}}",
                "calcType": "Average",
                "formula": "",
                "dataItemType": "FormulaHeader",
                "label": "平均分",
                "showTotal": false,
                "meta": {
                  "@t": "next.component.pivot.table.meta.number",
                  "type": "Number",
                  "decimal": 1,
                  "unit": "none",
                  "thousandPoint": true
                }
              }
            ],
            "aggregated": true
          },
          "displayType": "SheetReport",
          "configType": "Pivot"
        },
        "css": {
          "@t": "next.component.pivot.css",
          "titleSize": 15,
          "dataLabel": {
            "@t": "next.component.mixmap.css.datalable",
            "showRule": "AllShow",
            "fontSize": 12,
            "placement": "outSideTop",
            "intervalNumber": 0
          },
          "legendSize": 12,
          "axisLabel": {
            "@t": "next.component.pivot.css.axis",
            "fontSize": 12,
            "interval": 0,
            "rotate": 0
          },
          "horizontalDisplay": false,
          "chartPieDisplay": "Ring",
          "cssType": "Pivot",
          "background": {
            "@t": "next.component.css.background",
            "color": "#ffffff",
            "opacity": 1
          },
          "border": {
            "@t": "next.component.css.border",
            "opacity": 0,
            "color": "#CAD0D5"
          },
          "showTitle": true
        },
        "actions": []
      }
    },
    "component4": {
      "key": "component4",
      "type": "Component",
      "name": "成绩表 · 带分析列",
      "content": {
        "@t": "next.component.workbook",
        "sheetId": "{{$sheet1.id}}",
        "type": "Workbook",
        "title": "成绩表 · 带分析列",
        "config": {
          "@t": "next.component.workbookConfig",
          "headers": [
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[2].id}}",
              "width": 100
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[3].id}}",
              "width": 100
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[4].id}}",
              "width": 80
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[5].id}}",
              "width": 80
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[6].id}}",
              "width": 80
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[7].id}}",
              "width": 90
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[8].id}}",
              "width": 90
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[11].id}}",
              "width": 80
            },
            {
              "@t": "next.component.workbook.header",
              "id": "{{$sheet1.headers[12].id}}",
              "width": 90
            }
          ],
          "page": 0,
          "pageSize": 12,
          "editable": true,
          "filters": {
            "@t": "core.or.filter",
            "filters": [],
            "type": "OR"
          },
          "orders": [],
          "configType": "Workbook"
        },
        "css": {
          "@t": "next.component.workbook.css",
          "titleSize": 15,
          "headerSize": 14,
          "paginationSize": 11,
          "cssType": "Workbook",
          "background": {
            "@t": "next.component.css.background",
            "color": "#ffffff",
            "opacity": 1
          },
          "border": {
            "@t": "next.component.css.border",
            "opacity": 0,
            "color": "#CAD0D5"
          },
          "showTitle": true
        },
        "actions": []
      }
    },
    "dashboard1": {
      "key": "dashboard1",
      "type": "Dashboard",
      "name": "班级成绩总览",
      "content": {
        "@t": "net.thingworks.jarvis.dashboard",
        "name": "班级成绩总览",
        "components": [
          {
            "@t": "dashboard.component",
            "innerComponentId": "{{$component1.id}}",
            "position": {
              "@t": "dashboard.component.position",
              "x": 0,
              "y": 0,
              "w": 14,
              "h": 10
            }
          },
          {
            "@t": "dashboard.component",
            "innerComponentId": "{{$component2.id}}",
            "position": {
              "@t": "dashboard.component.position",
              "x": 14,
              "y": 0,
              "w": 10,
              "h": 10
            }
          },
          {
            "@t": "dashboard.component",
            "innerComponentId": "{{$component3.id}}",
            "position": {
              "@t": "dashboard.component.position",
              "x": 0,
              "y": 10,
              "w": 24,
              "h": 8
            }
          },
          {
            "@t": "dashboard.component",
            "innerComponentId": "{{$component4.id}}",
            "position": {
              "@t": "dashboard.component.position",
              "x": 0,
              "y": 18,
              "w": 24,
              "h": 12
            }
          }
        ]
      }
    }
  }
}
