{{-- Tab: プロ --}}
{{-- Row 1: Group headers --}} {{-- プロ全体 (4 cols: MRR + 決済件数 + 日次売上 + 30日平均比) --}} {{-- 月払い (新規3 + 更新3 + S→P2 + 従量2 + 解約1 = 11 cols) --}} {{-- 年間一括払い (新規3 + 更新3 + S→P2 + 従量2 + 解約1 = 11 cols) --}} {{-- Row 2: Sub-group headers --}} {{-- プロ全体 subs are merged into row 1 via rowspan="2" above --}} {{-- 月払い sub-groups --}} {{-- 年間一括払い sub-groups --}} {{-- Row 3: Leaf column headers --}} {{-- プロ全体 leaf cols --}} {{-- 月払い: 新規 --}} {{-- 月払い: 更新 --}} {{-- 月払い: S→Pアップグレード 日割り --}} {{-- 月払い: 従量課金 --}} {{-- 月払い: 解約 --}} {{-- 年間一括払い: 新規 --}} {{-- 年間一括払い: 更新 --}} {{-- 年間一括払い: S→Pアップグレード 日割り --}} {{-- 年間一括払い: 従量課金 --}} {{-- 年間一括払い: 解約 --}} {{-- Dòng 平均 PHẢI nằm TRONG , ngay dưới hàng sub-header — KHÔNG chuyển xuống cuối (đã xét và bác đề xuất của Redmine #40225): 1. Figma (screens/images/SCR-08-s3-monthly-a/b/c.png) vẽ 平均 ngay dưới header, TRÊN 12 dòng tháng, ở CẢ 3 tab; 合計 mới là dòng cuối (chỉ tab 全体). 2. Ràng buộc kỹ thuật: ở hàng trên phủ xuống chính dòng này, nên dòng 平均 cố tình THIẾU 1 {{-- プロ全体 --}} {{-- 月払い: 新規 --}} {{-- 月払い: 更新 --}} {{-- 月払い: S→P --}} {{-- 月払い: 従量 --}} {{-- 月払い: 解約 --}} {{-- 年間一括払い: 新規 --}} {{-- 年間一括払い: 更新 --}} {{-- 年間一括払い: S→P --}} {{-- 年間一括払い: 従量 --}} {{-- 年間一括払い: 解約 --}} {{-- 月払い: 新規 --}} {{-- 月払い: 更新 --}} {{-- 月払い: S→Pアップグレード 日割り --}} {{-- 月払い: 従量課金 --}} {{-- 月払い: 解約 --}} {{-- 年間一括払い: 新規 --}} {{-- 年間一括払い: 更新 --}} {{-- 年間一括払い: S→Pアップグレード 日割り --}} {{-- 年間一括払い: 従量課金 --}} {{-- 年間一括払い: 解約 --}}
日付 プロ全体 月払い年間一括払い
新規 更新 S→Pアップグレード 日割り 従量課金 解約新規 更新 S→Pアップグレード 日割り 従量課金 解約
MRR累積 決済件数 日次売上 30日平均比決済件数 決済額 30日平均比決済件数 決済額 30日平均比決済件数 決済額決済件数 決済額件数決済件数 決済額 30日平均比決済件数 決済額 30日平均比決済件数 決済額決済件数 決済額件数
MRR累積. rowspan KHÔNG vượt qua ranh giới thead/tbody ⇒ chuyển xuống tbody sẽ mất ô phủ, mọi số liệu lệch trái 1 cột — đúng bug #39508 đã fix. Muốn đổi vị trí thì phải ĐỒNG THỜI: bỏ rowspan="2" của MRR累積 + thêm lại ô MRR累積 cho dòng này (cho đủ số ô như dòng tháng). Chờ BA chốt trước. --}}
平均@{{ avgPro.pro_count }} @{{ avgPro.pro_daily_sales }} @{{ avgPro.pro_avg_ratio }} @{{ avgPro.pro_m_new_count }} @{{ avgPro.pro_m_new_amount }} @{{ avgPro.pro_m_new_avg_ratio }}@{{ avgPro.pro_m_renew_count }} @{{ avgPro.pro_m_renew_amount }} @{{ avgPro.pro_m_renew_avg_ratio }}@{{ avgPro.pro_m_upgrade_count }} @{{ avgPro.pro_m_upgrade_amount }}@{{ avgPro.pro_m_usage_count }} @{{ avgPro.pro_m_usage_amount }}@{{ avgPro.pro_m_cancel_num }}@{{ avgPro.pro_y_new_count }} @{{ avgPro.pro_y_new_amount }} @{{ avgPro.pro_y_new_avg_ratio }}@{{ avgPro.pro_y_renew_count }} @{{ avgPro.pro_y_renew_amount }} @{{ avgPro.pro_y_renew_avg_ratio }}@{{ avgPro.pro_y_upgrade_count }} @{{ avgPro.pro_y_upgrade_amount }}@{{ avgPro.pro_y_usage_count }} @{{ avgPro.pro_y_usage_amount }}@{{ avgPro.pro_y_cancel_num }}
@{{ row.month }} @{{ row.pro_mrr }} @{{ row.pro_count }} @{{ row.pro_daily_sales }} @{{ row.pro_avg_ratio }} @{{ row.pro_m_new_count }} @{{ row.pro_m_new_amount }} @{{ row.pro_m_new_avg_ratio }}@{{ row.pro_m_renew_count }} @{{ row.pro_m_renew_amount }} @{{ row.pro_m_renew_avg_ratio }}@{{ row.pro_m_upgrade_count }} @{{ row.pro_m_upgrade_amount }}@{{ row.pro_m_usage_count }} @{{ row.pro_m_usage_amount }}@{{ row.pro_m_cancel_num }}@{{ row.pro_y_new_count }} @{{ row.pro_y_new_amount }} @{{ row.pro_y_new_avg_ratio }}@{{ row.pro_y_renew_count }} @{{ row.pro_y_renew_amount }} @{{ row.pro_y_renew_avg_ratio }}@{{ row.pro_y_upgrade_count }} @{{ row.pro_y_upgrade_amount }}@{{ row.pro_y_usage_count }} @{{ row.pro_y_usage_amount }}@{{ row.pro_y_cancel_num }}