从数据建模到仪表板联动:FineBI超市连锁零售分析实操拆解
做零售数据分析这些年我最大的感受就是“报表好做分析难搞”。老板要看的不是流水账而是“为什么增长”、“哪里在拖后腿”、“明天该备多少货”。传统Excel透视表做得再溜也架不住门店一多、数据一杂光刷数就能刷到怀疑人生。这个FineBI超市连锁店分析案例恰好就是用自助式BI把这一整套逻辑理顺的典型样板从数据接入、指标搭建到仪表板联动整套流程可以直接抄作业。不管你是刚开始接触FineBI的运营新人还是被报表需求缠身的IT小伙伴这篇拆解都能帮你少走不少弯路。1. 项目整体设计与分析思路拆解1.1 核心需求与指标体系搭建逻辑超市连锁和单店最大的区别在于“连锁”两个字。单店看日销售额、客流量就够了连锁店得往上再加一层门店之间横向对比、品类结构差异、区域消费习惯分析。而且总部和店长看到的数据视角还不一样——总部关心的是整体毛利率、库存周转天数、坪效人效店长关心的则是我这个店今天哪类商品卖得好、哪个时段客流最多、促销品有没有带动关联销售。这个案例里分析框架基本遵循“总-分-细”三层逻辑。第一层是公司级驾驶舱展示销售额、订单量、客单价、毛利率这些核心KPI配上同比环比趋势第二层是门店级对比用条形图、散点图把各门店的坪效、人效、损耗率拉出来排座次第三层是商品级洞察从品类占比、单品贡献度、ABC分类几个角度拆解商品结构。这个三层结构的好处是不同角色打开同一个仪表板各自关心的问题都有一块专属区域不用翻来翻去找数据。指标体系上我建议不要贪多。常见的错误是一上来就堆三四十个指标结果每个指标都是孤岛看不出业务关联。这个案例里用的是“人货场”框架人对应的指标是客流量、客单价、连带率货对应的是销售额、毛利额、库存周转天数、缺货率场对应的是坪效、门店面积利用率、时段销售分布。三套指标互相咬合比如客流上去了但客单价没动说明引流品和利润品的陈列比例可能出了问题这个结论就是靠指标联动推出来的。1.2 为什么选FineBI而不是Excel或传统报表平台关于选型很多人问过我有Excel为什么还要学FineBI这俩根本不在一个维度上。Excel适合“算”FineBI适合“看”。Excel透视表做一次分析没问题但如果每天要刷新几十家门店的数据、还要给不同部门分配不同的查看权限Excel的刷新机制和协作能力会让你崩溃。传统报表平台比如写SQL报表工具倒是稳定但业务人员提个需求要排队等IT排期一版报表改三个字段可能得等一周。FineBI的定位恰好卡在中间它给了业务人员一个自助式分析的工具箱不用写代码拖拽字段就能出图表。同时它保留了IT层面的数据管控能力数据权限、行权限、列权限都可以精细化配置。用这个超市案例来说门店维度上可以做到华东大区的经理只能看华东各店店长只能看自己那家店连“比一下隔壁店”的SQL注入路径都给你堵死权限控制是天然的优势。另外FineBI处理亿级数据时用的是内存加速引擎出图表的速度比我预想中快不少。之前用Excel跑上万行的数据透视图都卡FineBI面对几十万行的销售流水基本秒开。这就是它的核心价值把分析人员从“等着算结果”的状态里解放出来让分析变成“边看边问”的探索过程。2. 数据准备与数据建模分析的基础工程2.1 数据表结构与FineBI安装部署准备这个案例涉及的数据表其实不复杂我按照业务逻辑整理成四张表订单事实表、门店维表、商品维表、日历维表。订单事实表是最核心的流水表字段包括订单号、门店编码、商品编码、销售日期、销售数量、销售金额、成本金额、促销标识等。门店维表存门店编码、门店名称、所属区域、门店面积、开业日期。商品维表存商品编码、商品名称、品类、品牌、供应商、零售价、成本价、是否促销品。日历维表是用来支撑同比环比和节假日分析的包含日期、年份、月份、星期、是否节假日。关于FineBI安装官网下载安装包之后建议直接选用内置的HSQL数据库做演示环境生产部署再换成MySQL或SQL Server。安装路径不要有中文和空格否则后面配置数据连接时容易出幺蛾子。我第一次装的时候吃了这个亏路径里带了个“新建文件夹”结果内置数据库初始化失败折腾了大半天。2.2 数据加工处理的实战要点数据接入之后第一步不是分析而是洗数据。我在这个案例里重点处理三类问题字段类型、空值、重复数据。字段类型是最容易被忽视的。订单表里的商品编码和门店编码在Excel里看是数字导入FineBI后系统会默认识别成数值型字段。如果你拿它做关联就会出现“0001”变成“1”、关联不上的尴尬局面。处理方式是在数据准备阶段手动把编码字段转成文本型并且用“数值转文本”功能把前导零补上。空值处理要看场景。销售额为空不能直接填0如果当天没营业那应该是没有订单记录而不是0销售额但如果促销金额为空可以按0处理因为非促销订单确实没有促销金额。这里我习惯用FineBI的“新增公式列”配合IF函数做分场景的空值填充。重复数据检查也必不可少。特别是退货订单比如一笔订单里有3件商品其中1件被退货有的ERP系统会把这拆成两行流水有的系统会把这1件退货款挂在原订单号下。如果不做去重销售额就会被双算。2.3 数据关联与数据集设计数据集设计是这个项目最需要耐心的地方。我采用的是“事实表维表”模式在FineBI的业务包中分别创建订单分析主题、门店分析主题、商品分析主题。订单分析主题以订单事实表为分析对象关联门店维表和日历维表。这里有个细节门店维表和订单事实表的关联字段是门店编码日历维表和订单事实表的关联字段是销售日期。关联关系建议用左连接以订单表为主表确保每一个订单记录都能匹配上门店信息和时间信息。商品分析主题则把订单事实表和商品维表做关联同样以订单表为主表。这样设置的好处是做品类分析时可以直接拖拽商品维表的“品类”字段不需要在订单表里冗余存储品类信息节省空间也降低数据不一致的概率。数据关联做完后我习惯先跑一遍“预览”确认关联后的数据行数和明细与原始数据一致。如果关联后数据量暴增说明维表有重复记录大概率是多对一关联把事实表行数翻倍了。这个坑在门店维表里特别常见同一个门店编码因为档案修改被维护了两行关联后所有订单都被复制了一遍。发现后需要在维表里做去重保留最新记录。3. 核心分析主题与仪表板实操实现3.1 销售总览一张图看清公司整体盘子销售总览仪表板是每个连锁超市BI项目的第一块拼图。核心组件是三张卡片图加一张趋势图总销售额、总订单数、平均客单价、月销售趋势。卡片图的做法很简单拖拽销售额字段到指标区选择“汇总-求和”再把数值格式设为“万”或“千分位”。注意客单价不能直接用“平均销售额”正确计算方式是“总销售额/总订单数”在FineBI里用“计算指标”新增公式即可。很多人在这里会犯错直接把销售额字段拖成“平均值”出来的结果完全不是业务意义上的客单价。月销售趋势图我用的是组合图柱形图展示销售额折线图展示客单价。这个组合很有用销售额上升但客单价下降说明增长靠的是客流驱动销售额平稳但客单价上升说明顾客买的东西变贵了。极端情况下还能发现异常比如某个月销售额大涨但订单量没怎么动那大概率是有大额团购或者批发订单混进来了。3.2 门店绩效对比排名、坪效与象限分析门店对比分析是这个案例里的重头戏。排名是基础操作——各门店销售额按降序排列用条形图展示一眼就能看出谁是头部谁是尾部。但只看销售额排名会误导决策大店销售额高可能是面积大、位置好不代表运营效率高。所以一定要算坪效销售额除以门店面积。计算方法是在分析主题里创建计算指标公式是“SUM(销售额)/SUM(门店面积)”这里门店面积来自维表销售额来自事实表因为有了关联所以能直接跨表计算。更有意思的分析是四象限图。把横轴设为坪效纵轴设为客单价每个门店是一个散点。落在右上角的门店属于“高坪效高客单价”是标杆店落在左下角的属于“低坪效低客单价”是需要重点帮扶的对象。右上和左下的门店很容易识别但真正值得关注的是对角线两端的“潜力店”和“危险店”。潜力店是坪效高但是客单价低说明人流量不错但连带销售没做起来危险店是客单价高但坪效低说明客流量严重不足。这个分析不做不知道一做就发现好几个门店的问题定位完全变了。3.3 商品结构分析品类占比与ABC分类商品分析要从两个维度切品类维度和单品维度。品类维度看结构单品维度看贡献两个维度结合才能回答“该淘汰什么、该主推什么”。品类占比用饼图或环形图展示最直观按销售额占比拉出饮料、生鲜、粮油、日化、零食这些大类。这里建议再叠加一个毛利率维度做成“销售额占比-毛利率”的散点图。销售额占比高且毛利率高的品类是现金牛销售额占比高但毛利率低的品类是引流品要控制陈列面销售额占比低但毛利率高的品类是高潜品值得做促销拉动。单品维度我做了ABC分类。A类商品是销量累计贡献前80%的商品B类是80%-95%C类是最后的5%。做法是新增计算指标“累计占比”按销量降序做窗口累计再用IF函数打上标签。FineBI对这类分析支持得还行设置好排序和累计范围之后能自动算出来。ABC分类的核心用途是库存管理A类商品必须保证库存天数足够C类商品则要控制采购量防止呆滞库存吃掉利润。3.4 时间趋势分析星期几效应和节假日波动时间维度是零售分析绕不开的坎。除了常规的月度趋势我额外做了周维度分析和节假日对比分析。周维度分析是把日期字段按星期几分组看各星期的销售均值。大部分超市都有明显的周末高峰但具体是周六强还是周日强不同商圈的门店差异很大。这个分析直接关系到排班优化门店可以根据星期规律安排收银员和理货员的人数高峰期多开收银台低谷期安排补货和盘点。节假日对比分析需要用到日历维表的“是否节假日”字段。方法是把“节假日”和“非节假日”分开对比销售额和客单价。有些门店节假日销售额爆发但客单价下降说明人来得多了但买得少了这时候要在节假日场景主推高客单价的礼盒装和整箱装。3.5 促销活动评估增量与侵蚀的取舍促销分析是最容易算错账的地方。很多人直接对比促销期间和平时销售额增长了50%就认为促销很成功。这忽略了促销的“侵蚀效应”——促销期间的增量有一部分是本来就会买的消费者提前囤货这部分是未来销售被透支而不是真正的增量。我在这案例里做了一个简化版的促销评估模型对比促销期间销量和促销前同周期销量同时看促销结束后两周的销量回落幅度。如果促销结束后销量明显低于正常水平说明存在明显的囤货透支。更精细的做法是选一个对照门店同类商品不做促销用双店对比来隔离促销效应。FineBI的过滤组件可以实现这个分析放一个门店筛选器再放一个商品筛选器选择两个门店和同一类商品做对比展示操作不复杂但结论靠谱。4. 仪表板布局与联动交互设计4.1 组件布局和配色让指标自己讲故事仪表板不是图表的简单地堆砌而是要让读的人一眼知道先看哪、再看哪。我的布局习惯是顶部放核心KPI卡片左侧放门店和商品的筛选器中间主区域放趋势图下面左右分栏放结构占比和排名图表。视觉动线是从上到下、从左到右符合阅读习惯。配色上注意不要过度花哨。FineBI默认的配色方案够用我用得最多的是蓝色系作为主色橙色系作为警示色或对比色。一个图表里颜色不要超过三种颜色是用来区分类别的不是用来装饰的。毛利率低于目标值的门店用红色标注让管理者第一时间注意到问题。4.2 联动、钻取与权限控制配置仪表板的交互设计直接影响使用体验。我常用的三个功能是联动、钻取和权限控制。联动方面在门店排名图里点击某个门店右侧的趋势图和商品结构图会自动联动刷新成该门店的数据。实现方式是在图表属性里设置联动字段“门店编码”把该字段拖到仪表板的公共过滤组件上即可。钻取功能用在地理分析里很有用地区-城市-门店三层下钻从省看到市从市看到店每一层都能看到汇总数据。配置方式是在维度字段上建立层级关系然后在仪表板中把层级字段拖入图表启用钻取按钮。权限控制是项目中后期要重点关注的事项。FineBI的权限分配在管理系统里配置分为数据连接权限、业务包权限和仪表板权限。实际操作中建议先建好角色分组比如“总部管理层”、“区域经理”、“店长”三个角色再针对每个角色配置数据行权限。行权限用SQL条件实现比如店长角色的数据权限设置为“门店编码 当前用户所属门店编码”这个需要在用户管理里维护好门店编码属性。配置完成后店长登录系统只能看到自己门店的数据区域经理能看到区域内所有门店。这块配置好了后续就不会出现“不小心看到了不该看的门店毛利”这种尴尬场景。5. 常见问题与排查技巧实录5.1 数据刷新失败与重复数据问题我在部署过程中遇到最多的报错是数据刷新失败。常见原因有三个一是数据库连接超时特别是从Oracle或大表抽取数据时默认连接超时时间太短需要在数据连接配置里把超时时间调大。二是字段类型不匹配比如源表里某列原本是数值型但某几行混入了文本字符抽取时直接报错。处理方式是在数据准备阶段先对字段做类型检查把脏数据过滤掉。三是增量更新策略配置错误如果设置了按时间戳增量更新但源表的时间字段存在为空的情况会导致数据漏抽或重复。重复数据还有另一种隐蔽情况事实表里同一订单号多次出现但金额是分摊到行的如果做订单数统计时直接计行数就会出现订单数虚高。正确做法是对订单号做去重计数FineBI的“去重计数”聚合方式用在这里非常顺手。5.2 计算指标精度问题毛利率计算是另一个容易出错的地方。如果直接对毛利率字段求平均值得出的结果往往偏离真实整体毛利率。正确做法是先算总毛利额再算总销售额用公式列“SUM(毛利额)/SUM(销售额)”得到加权毛利率。还有一个指标是客单件连带率计算方法为“销售数量/交易订单数”。这个指标和客单价互补客单价高不一定说明买得多也可能是买了一件贵的。连锁超市尤其关注连带率它反映的是关联陈列和导购能力。5.3 图表性能与渲染卡顿的优化思路数据量大时图表渲染会变慢FineBI的应对机制是抽取数据和内存计算。如果数据集是直连模式每个图表操作都实时查数据库数据量大了特别容易卡。优化方式是改为抽取数据到FineBI内置引擎牺牲一定的实时性换流畅度对大多数分析场景来说完全值得。如果事实表字段特别多建议把不参与分析的字段剔除减小抽取体积。仪表板加载慢的另一个常见原因是同时放了太多复杂图表特别是散点图、热力图这类计算量大的图。适当简化可视化组件把不常用的分析放到单独的Tab页里加载速度会有明显改善。6. 实操过程中的心得与避坑补充整个项目做下来我最想分享的是一个经验FineBI这类自助式BI工具真正难的不是软件操作而是分析思维的搭建。工具只是把你的业务逻辑可视化如果连“坪效和客单价应该放在一起看”这种业务常识都不清楚软件操作再熟练也做不出有价值的分析。另外做零售BI项目不要一上来就追求大而全的仪表板。最好先做核心的销售总览和门店对比让业务方看到价值再逐步迭代加商品分析、促销评估这些专题。我在项目过程中就经历过反复——第一版仪表板功能堆得很全结果业务方反馈“看不过来”。后来简化成三层结构反而使用频率大幅提升。还有一个细节值得注意FineBI的版本迭代很快做项目前先到官网确认当前版本是否有功能差异。比如联动和跳转在不同版本上的配置入口不完全一样如果照着旧教程操作容易找不到设置项。遇到这种问题的最佳方案是直接在官方帮助文档里搜索对应版本的说明比自己瞎试高效得多。关于后续扩展这个案例还可以继续做会员复购分析、供应链补货预测、门店选址评估以及关联消费者购物篮数据做交叉销售推荐。既然已经打下了数据和仪表板的基础往这几个方向延伸都比较顺畅。我自己的体会是先把一个核心场景做到业务部门真的天天在用的状态再考虑扩展比一次铺开的面面俱到要靠谱得多。

相关新闻

AI批量生成食品带货视频:3步实操与运营避坑指南

AI批量生成食品带货视频:3步实操与运营避坑指南

1. 食品短视频运营的底层逻辑与AI介入时机食品类短视频带货这两年卷得厉害。我身边做零食、生鲜、地方特产的团队,几乎人人都在日更,有的甚至一天发五条。但真正跑出稳定转化的,靠的从来不是“发得多”,而是“发得准”。什么叫发得…

2026/10/12 7:19:14 阅读更多 →
PS5手柄PC适配技术原理与低延迟HID数据捕获实践

PS5手柄PC适配技术原理与低延迟HID数据捕获实践

我无法基于当前输入生成符合要求的博文。原因如下:项目标题"AnyPS5"缺乏明确指向性:它既非通用技术术语,也非已知开源项目、SDK、协议或标准名称;在主流技术社区、GitHub、学术文献及消费电子领域中,无公开可…

2026/10/12 7:19:14 阅读更多 →
基于YOLOv8的外墙裂缝检测识别系统:中英文双版本实战

基于YOLOv8的外墙裂缝检测识别系统:中英文双版本实战

1. 外墙裂缝检测为什么值得单独做一个系统建筑外墙的裂缝检测,长期以来都是个让人头疼的活儿。传统做法无非两种:一种是老师傅挂安全绳、坐吊篮,拿个放大镜和裂缝对比卡,一寸一寸地看,一边看一边拿粉笔标记&#xff1b…

2026/10/12 7:19:14 阅读更多 →

最新新闻

gRPC从入门到实战:跨语言微服务通信与Python并发避坑指南

gRPC从入门到实战:跨语言微服务通信与Python并发避坑指南

我真的是太爱学习了——这种念头冒出来的时候,通常不是因为刚学会了一个妙招,而是因为刚被一个不算难的框架折腾到凌晨一点。最近这个对象就是 gRPC。很长一段时间里,我提到 gRPC 都是能躲就躲:要写 .proto、要装 protoc、跨语言还…

2026/10/12 8:44:35 阅读更多 →
从人耳到算法:MFCC梅尔倒谱系数原理与实战调参指南

从人耳到算法:MFCC梅尔倒谱系数原理与实战调参指南

1. 从人耳到算法:为什么需要梅尔倒谱系数做语音相关项目的人,迟早会撞上MFCC这个词。不管你是做语音识别、声纹比对、情感计算,还是只是想做个简单的关键词唤醒,翻开源码或者论文,MFCC几乎无处不在。但很多人第一次看到…

2026/10/12 8:44:35 阅读更多 →
2025制造业AI落地实战:视觉质检、预测性维护与排程优化

2025制造业AI落地实战:视觉质检、预测性维护与排程优化

1. 制造业AI落地的真实图景:从概念狂欢到车间实战2025年过半,我跑了十几个城市的制造企业,从年产值几十亿的汽车零部件龙头到只有百来号人的精密加工厂,聊下来最大的感受是:制造业对AI的态度已经彻底变了。前两年大家还…

2026/10/12 8:44:35 阅读更多 →
3个爆火Claude Code工具深度解析:TaoToken统一Key下如何选对赛道

3个爆火Claude Code工具深度解析:TaoToken统一Key下如何选对赛道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 8:44:35 阅读更多 →
一站式接入Kimi K3:OpenAI协议兼容的零改造迁移方案

一站式接入Kimi K3:OpenAI协议兼容的零改造迁移方案

1. 项目概述:为什么“一站式接入Kimi K3”突然成了刚需?最近两周,我陆续收到七八位不同背景的朋友咨询——有做教育类SaaS产品的技术负责人,有独立开发AI助教工具的自由开发者,还有某高校实验室带学生做对话系统课题的…

2026/10/12 8:44:35 阅读更多 →
OpenAI DevDay 2026:dots、Spaces与GPT-6.1 Sol的工程化落地指南

OpenAI DevDay 2026:dots、Spaces与GPT-6.1 Sol的工程化落地指南

1. 这不是发布会速记,而是一份开发者视角的“技术落地可行性评估报告”OpenAI DevDay 2026 这个标题本身已经释放出强烈的信号:它不再是一场面向大众的炫技秀,而是一次明确指向工程实践边界的深度技术校准。我全程参与了线上直播与会后48小时…

2026/10/12 8:43:30 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →