# Data Formulator 分支报告

已真实读取原创CSV、独立Python重算并渲染数据结果；未调用Data Formulator模型。配图中的参考图为独立计算产物，不是伪造的工具界面。

1. 识别行与人的不同
输入8行代表4个人的两场记录，不是8个人。每行attended只能为0或1，先验证重复(person_id,session)和总行数。
python3 verify.py

2. 导入并澄清分析单位
导入后要求Data Thread先解释一行是什么。模型若把行数当人数，明确person_id为参与者主键，不进入后续图表。


3. 分支A按场次计算
第一场3/4出勤，第二场3/4出勤，合计6次出勤/8个应到机会=75%。图标题写“出勤次数”，不写“参与人数”。


4. 分支B按人计算
从共同输入分支，按person_id聚合，至少出勤一次为4/4人=100%。保留P02/P03各一次与P01/P04各两次的明细，解释100%不是全勤率。


5. 写成可核查的报告
将两个分支的图表并列：75%场次出勤率与100%至少参与一次。报告结论说明差异来自统计单位；不要编造提升原因或课程效果。


6. 检查独立统计与负例
运行analyze.py核对8/4/6/75/100。verify.py在临时副本加入重复场次或attended=2时应拒绝，不会改动原文件。
python3 analyze.py
python3 verify.py

7. 保存实际分支与报告
导出自己的实际报告并保留Data Thread上下文。素材中的reference-report.md是人工参考，报告图为Python真值渲染，不是工具模型已完成的报告。


官方来源：https://github.com/microsoft/data-formulator
