{
  "mode": "window",
  "window": {
    "start": "2025-06-30T22:00:00+08:00",
    "end": "2026-01-29T01:00:00+08:00",
    "segments": 8
  },
  "windows": [
    {
      "mode": "window",
      "window": {
        "start": "2025-06-30T22:00:00+08:00",
        "end": "2025-07-01T00:00:00+08:00",
        "label": "segment_1",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2025-06-30T22:00:00+08:00",
        "end": "2025-07-01T00:00:00+08:00",
        "cutoff": null,
        "window_days": 0,
        "window_hours": 2,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 69,
            "records_with_pk": 69,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10051,
            "records_with_pk": 10051,
            "missing": 10,
            "missing_samples": [
              {
                "id": 3071130738067397
              },
              {
                "id": 3071125551089541
              },
              {
                "id": 3071119209908101
              },
              {
                "id": 3071116033132485
              },
              {
                "id": 3071112298170181
              },
              {
                "id": 3071109789845381
              },
              {
                "id": 3071106986821445
              },
              {
                "id": 3071106250278725
              },
              {
                "id": 3071101089515525
              },
              {
                "id": 3071097321392133
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11870,
            "records_with_pk": 11870,
            "missing": 10,
            "missing_samples": [
              {
                "id": 3071130735790021
              },
              {
                "id": 3071125548877701
              },
              {
                "id": 3071119207712645
              },
              {
                "id": 3071116030707653
              },
              {
                "id": 3071112295941957
              },
              {
                "id": 3071109787338629
              },
              {
                "id": 3071106984527685
              },
              {
                "id": 3071106248099653
              },
              {
                "id": 3071101085566981
              },
              {
                "id": 3071097319147525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17144,
            "records_with_pk": 17144,
            "missing": 6,
            "missing_samples": [
              {
                "id": 3071144368408582
              },
              {
                "id": 3071140708878277
              },
              {
                "id": 3071136224348101
              },
              {
                "id": 3071118437451717
              },
              {
                "id": 3071116463540165
              },
              {
                "id": 3071096665737157
              }
            ],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3071139583805125
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8231,
            "records_with_pk": 8231,
            "missing": 6,
            "missing_samples": [
              {
                "id": 3071130738902981
              },
              {
                "id": 3071125551646597
              },
              {
                "id": 3071106987394885
              },
              {
                "id": 3071106250884933
              },
              {
                "id": 3071101090465797
              },
              {
                "id": 3071097322293253
              }
            ],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1753,
            "records_with_pk": 1753,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 172,
            "records_with_pk": 172,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 33,
        "total_errors": 0,
        "generated_at": "2026-01-28T23:15:39.302595+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18618,
              "diff": -18617
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 172,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18618,
              "diff": -232
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 334347.43,
                "diff": -4742.989999999991
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5050,
              "diff": -47
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11589,
              "diff": -162
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17138,
              "diff": -161
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -19897
      },
      "generated_at": "2026-01-28T23:15:48.107329+08:00"
    },
    {
      "mode": "window",
      "window": {
        "start": "2025-07-01T00:00:00+08:00",
        "end": "2025-08-01T00:00:00+08:00",
        "label": "segment_2",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2025-07-01T00:00:00+08:00",
        "end": "2025-08-01T00:00:00+08:00",
        "cutoff": null,
        "window_days": 31,
        "window_hours": 0,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 69,
            "records_with_pk": 69,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 1776,
            "records_with_pk": 1776,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10051,
            "records_with_pk": 10051,
            "missing": 10,
            "missing_samples": [
              {
                "id": 3071130738067397
              },
              {
                "id": 3071125551089541
              },
              {
                "id": 3071119209908101
              },
              {
                "id": 3071116033132485
              },
              {
                "id": 3071112298170181
              },
              {
                "id": 3071109789845381
              },
              {
                "id": 3071106986821445
              },
              {
                "id": 3071106250278725
              },
              {
                "id": 3071101089515525
              },
              {
                "id": 3071097321392133
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 351,
            "records_with_pk": 351,
            "missing": 0,
            "missing_samples": [],
            "pages": 2,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11870,
            "records_with_pk": 11870,
            "missing": 10,
            "missing_samples": [
              {
                "id": 3071130735790021
              },
              {
                "id": 3071125548877701
              },
              {
                "id": 3071119207712645
              },
              {
                "id": 3071116030707653
              },
              {
                "id": 3071112295941957
              },
              {
                "id": 3071109787338629
              },
              {
                "id": 3071106984527685
              },
              {
                "id": 3071106248099653
              },
              {
                "id": 3071101085566981
              },
              {
                "id": 3071097319147525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17144,
            "records_with_pk": 17144,
            "missing": 6,
            "missing_samples": [
              {
                "id": 3071144368408582
              },
              {
                "id": 3071140708878277
              },
              {
                "id": 3071136224348101
              },
              {
                "id": 3071118437451717
              },
              {
                "id": 3071116463540165
              },
              {
                "id": 3071096665737157
              }
            ],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3071139583805125
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 44,
            "records_with_pk": 44,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8231,
            "records_with_pk": 8231,
            "missing": 6,
            "missing_samples": [
              {
                "id": 3071130738902981
              },
              {
                "id": 3071125551646597
              },
              {
                "id": 3071106987394885
              },
              {
                "id": 3071106250884933
              },
              {
                "id": 3071101090465797
              },
              {
                "id": 3071097322293253
              }
            ],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 2551,
            "records_with_pk": 2551,
            "missing": 0,
            "missing_samples": [],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1753,
            "records_with_pk": 1753,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 172,
            "records_with_pk": 172,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 1845,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 10,
            "skipped_missing_pk": 1845,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 33,
        "total_errors": 0,
        "generated_at": "2026-01-28T23:19:08.479525+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18618,
              "diff": -18617
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 1246,
              "diff": -1246
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 23,
              "ods": 23,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 466,
              "ods": 466,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 751,
              "ods": 751,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 149,
              "ods": 149,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 172,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 14,
              "ods": 14,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1246,
              "ods": 1246,
              "diff": 0
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 18607.65,
                "ods_sum": 18607.65,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 68759.8,
                "ods_sum": 68759.8,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 133842.45,
                "ods_sum": 133842.45,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 10234.83,
                "ods_sum": 10234.83,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 46883.63,
                "ods_sum": 46883.63,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18618,
              "diff": -232
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 334347.43,
                "diff": -4742.989999999991
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1575,
              "ods": 1575,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 14.25,
                "ods_sum": 14.25,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 31186.8,
                "ods_sum": 31186.8,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 29160.8,
                "ods_sum": 29160.8,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 351,
              "ods": 351,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 1261.59,
                "ods_sum": 1261.59,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 113232.99,
                "ods_sum": 113232.99,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5050,
              "diff": -47
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11589,
              "diff": -162
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1007,
              "ods": 1007,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 72348.0,
                "ods_sum": 72348.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17138,
              "diff": -161
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 1833,
              "ods": 1833,
              "diff": 0
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 178060.0,
                "ods_sum": 178060.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -21143
      },
      "generated_at": "2026-01-28T23:19:16.633416+08:00"
    },
    {
      "mode": "window",
      "window": {
        "start": "2025-08-01T00:00:00+08:00",
        "end": "2025-09-01T00:00:00+08:00",
        "label": "segment_3",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2025-08-01T00:00:00+08:00",
        "end": "2025-09-01T00:00:00+08:00",
        "cutoff": null,
        "window_days": 31,
        "window_hours": 0,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 69,
            "records_with_pk": 69,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 4602,
            "records_with_pk": 4602,
            "missing": 0,
            "missing_samples": [],
            "pages": 24,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10051,
            "records_with_pk": 10051,
            "missing": 10,
            "missing_samples": [
              {
                "id": 3071130738067397
              },
              {
                "id": 3071125551089541
              },
              {
                "id": 3071119209908101
              },
              {
                "id": 3071116033132485
              },
              {
                "id": 3071112298170181
              },
              {
                "id": 3071109789845381
              },
              {
                "id": 3071106986821445
              },
              {
                "id": 3071106250278725
              },
              {
                "id": 3071101089515525
              },
              {
                "id": 3071097321392133
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 859,
            "records_with_pk": 859,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11870,
            "records_with_pk": 11870,
            "missing": 10,
            "missing_samples": [
              {
                "id": 3071130735790021
              },
              {
                "id": 3071125548877701
              },
              {
                "id": 3071119207712645
              },
              {
                "id": 3071116030707653
              },
              {
                "id": 3071112295941957
              },
              {
                "id": 3071109787338629
              },
              {
                "id": 3071106984527685
              },
              {
                "id": 3071106248099653
              },
              {
                "id": 3071101085566981
              },
              {
                "id": 3071097319147525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17144,
            "records_with_pk": 17144,
            "missing": 6,
            "missing_samples": [
              {
                "id": 3071144368408582
              },
              {
                "id": 3071140708878277
              },
              {
                "id": 3071136224348101
              },
              {
                "id": 3071118437451717
              },
              {
                "id": 3071116463540165
              },
              {
                "id": 3071096665737157
              }
            ],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3071139583805125
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 94,
            "records_with_pk": 94,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8233,
            "records_with_pk": 8233,
            "missing": 6,
            "missing_samples": [
              {
                "id": 3071130738902981
              },
              {
                "id": 3071125551646597
              },
              {
                "id": 3071106987394885
              },
              {
                "id": 3071106250884933
              },
              {
                "id": 3071101090465797
              },
              {
                "id": 3071097322293253
              }
            ],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 5196,
            "records_with_pk": 5196,
            "missing": 0,
            "missing_samples": [],
            "pages": 26,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1753,
            "records_with_pk": 1753,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 172,
            "records_with_pk": 172,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 4763,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 24,
            "skipped_missing_pk": 4763,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 33,
        "total_errors": 0,
        "generated_at": "2026-01-28T23:22:47.273168+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18618,
              "diff": -18617
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 3587,
              "diff": -3587
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 7,
              "ods": 7,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 18,
              "ods": 18,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 51,
              "ods": 51,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 6,
              "ods": 6,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 172,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1,
              "ods": 1,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 3587,
              "ods": 3587,
              "diff": 0
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 54919.33,
                "ods_sum": 54919.33,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 186359.95,
                "ods_sum": 186359.95,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 383097.96,
                "ods_sum": 383097.96,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 44840.88,
                "ods_sum": 44840.88,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 145513.13,
                "ods_sum": 145513.13,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18618,
              "diff": -232
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 334347.43,
                "diff": -4742.989999999991
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 4305,
              "ods": 4305,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 47.45,
                "ods_sum": 47.45,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 87523.4,
                "ods_sum": 87523.4,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 83759.0,
                "ods_sum": 83759.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 859,
              "ods": 859,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 1874.75,
                "ods_sum": 1874.75,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 268501.57,
                "ods_sum": 268501.57,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5050,
              "diff": -47
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11589,
              "diff": -162
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2850,
              "ods": 2850,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 189960.0,
                "ods_sum": 189960.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17138,
              "diff": -161
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 4763,
              "ods": 4763,
              "diff": 0
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 381598.0,
                "ods_sum": 381598.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -23484
      },
      "generated_at": "2026-01-28T23:22:56.269227+08:00"
    },
    {
      "mode": "window",
      "window": {
        "start": "2025-09-01T00:00:00+08:00",
        "end": "2025-10-01T00:00:00+08:00",
        "label": "segment_4",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2025-09-01T00:00:00+08:00",
        "end": "2025-10-01T00:00:00+08:00",
        "cutoff": null,
        "window_days": 30,
        "window_hours": 0,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 69,
            "records_with_pk": 69,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 3720,
            "records_with_pk": 3720,
            "missing": 0,
            "missing_samples": [],
            "pages": 19,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10052,
            "records_with_pk": 10052,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156553942917
              },
              {
                "id": 3071130738067397
              },
              {
                "id": 3071125551089541
              },
              {
                "id": 3071119209908101
              },
              {
                "id": 3071116033132485
              },
              {
                "id": 3071112298170181
              },
              {
                "id": 3071109789845381
              },
              {
                "id": 3071106986821445
              },
              {
                "id": 3071106250278725
              },
              {
                "id": 3071101089515525
              },
              {
                "id": 3071097321392133
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 654,
            "records_with_pk": 654,
            "missing": 0,
            "missing_samples": [],
            "pages": 4,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11871,
            "records_with_pk": 11871,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156551698309
              },
              {
                "id": 3071130735790021
              },
              {
                "id": 3071125548877701
              },
              {
                "id": 3071119207712645
              },
              {
                "id": 3071116030707653
              },
              {
                "id": 3071112295941957
              },
              {
                "id": 3071109787338629
              },
              {
                "id": 3071106984527685
              },
              {
                "id": 3071106248099653
              },
              {
                "id": 3071101085566981
              },
              {
                "id": 3071097319147525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17144,
            "records_with_pk": 17144,
            "missing": 6,
            "missing_samples": [
              {
                "id": 3071144368408582
              },
              {
                "id": 3071140708878277
              },
              {
                "id": 3071136224348101
              },
              {
                "id": 3071118437451717
              },
              {
                "id": 3071116463540165
              },
              {
                "id": 3071096665737157
              }
            ],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3071139583805125
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 54,
            "records_with_pk": 54,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8233,
            "records_with_pk": 8233,
            "missing": 8,
            "missing_samples": [
              {
                "id": 3071156554631045
              },
              {
                "id": 3071156554631046
              },
              {
                "id": 3071130738902981
              },
              {
                "id": 3071125551646597
              },
              {
                "id": 3071106987394885
              },
              {
                "id": 3071106250884933
              },
              {
                "id": 3071101090465797
              },
              {
                "id": 3071097322293253
              }
            ],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 4816,
            "records_with_pk": 4816,
            "missing": 0,
            "missing_samples": [],
            "pages": 25,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1753,
            "records_with_pk": 1753,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 172,
            "records_with_pk": 172,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 3810,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 20,
            "skipped_missing_pk": 3810,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 37,
        "total_errors": 0,
        "generated_at": "2026-01-28T23:27:11.990551+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18618,
              "diff": -18617
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 1264,
              "diff": -1264
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 11,
              "ods": 11,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 6,
              "ods": 6,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 10,
              "ods": 10,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2,
              "ods": 2,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 172,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1,
              "ods": 1,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1264,
              "ods": 1264,
              "diff": 0
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 11020.51,
                "ods_sum": 11020.51,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 73893.75,
                "ods_sum": 73893.75,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 137203.92,
                "ods_sum": 137203.92,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 15685.02,
                "ods_sum": 15685.02,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 52340.33,
                "ods_sum": 52340.33,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18618,
              "diff": -232
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 334347.43,
                "diff": -4742.989999999991
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1449,
              "ods": 1449,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 1.41,
                "ods_sum": 1.41,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 24706.9,
                "ods_sum": 24706.9,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 23874.4,
                "ods_sum": 23874.4,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 654,
              "ods": 654,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 781.44,
                "ods_sum": 781.44,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 192541.75,
                "ods_sum": 192541.75,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5050,
              "diff": -47
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1173,
              "ods": 1173,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 75824.0,
                "ods_sum": 75824.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 73843.08,
                "ods_sum": 73843.08,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11589,
              "diff": -162
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2849,
              "ods": 2849,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 184722.0,
                "ods_sum": 184722.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17138,
              "diff": -161
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 1544,
              "ods": 1544,
              "diff": 0
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 108880.0,
                "ods_sum": 108880.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 3,
              "ods": 3,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": -1011.0,
                "ods_sum": -1011.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -21161
      },
      "generated_at": "2026-01-28T23:27:29.695501+08:00"
    },
    {
      "mode": "window",
      "window": {
        "start": "2025-10-01T00:00:00+08:00",
        "end": "2025-11-01T00:00:00+08:00",
        "label": "segment_5",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2025-10-01T00:00:00+08:00",
        "end": "2025-11-01T00:00:00+08:00",
        "cutoff": null,
        "window_days": 31,
        "window_hours": 0,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 69,
            "records_with_pk": 69,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 408,
            "records_with_pk": 408,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10052,
            "records_with_pk": 10052,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156553942917
              },
              {
                "id": 3071130738067397
              },
              {
                "id": 3071125551089541
              },
              {
                "id": 3071119209908101
              },
              {
                "id": 3071116033132485
              },
              {
                "id": 3071112298170181
              },
              {
                "id": 3071109789845381
              },
              {
                "id": 3071106986821445
              },
              {
                "id": 3071106250278725
              },
              {
                "id": 3071101089515525
              },
              {
                "id": 3071097321392133
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 85,
            "records_with_pk": 85,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 2,
            "records_with_pk": 2,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11871,
            "records_with_pk": 11871,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156551698309
              },
              {
                "id": 3071130735790021
              },
              {
                "id": 3071125548877701
              },
              {
                "id": 3071119207712645
              },
              {
                "id": 3071116030707653
              },
              {
                "id": 3071112295941957
              },
              {
                "id": 3071109787338629
              },
              {
                "id": 3071106984527685
              },
              {
                "id": 3071106248099653
              },
              {
                "id": 3071101085566981
              },
              {
                "id": 3071097319147525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17144,
            "records_with_pk": 17144,
            "missing": 6,
            "missing_samples": [
              {
                "id": 3071144368408582
              },
              {
                "id": 3071140708878277
              },
              {
                "id": 3071136224348101
              },
              {
                "id": 3071118437451717
              },
              {
                "id": 3071116463540165
              },
              {
                "id": 3071096665737157
              }
            ],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3071139583805125
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 8,
            "records_with_pk": 8,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8233,
            "records_with_pk": 8233,
            "missing": 8,
            "missing_samples": [
              {
                "id": 3071156554631045
              },
              {
                "id": 3071156554631046
              },
              {
                "id": 3071130738902981
              },
              {
                "id": 3071125551646597
              },
              {
                "id": 3071106987394885
              },
              {
                "id": 3071106250884933
              },
              {
                "id": 3071101090465797
              },
              {
                "id": 3071097322293253
              }
            ],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 726,
            "records_with_pk": 726,
            "missing": 0,
            "missing_samples": [],
            "pages": 4,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1753,
            "records_with_pk": 1753,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 172,
            "records_with_pk": 172,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 416,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 416,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 37,
        "total_errors": 0,
        "generated_at": "2026-01-28T23:30:19.763140+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18618,
              "diff": -18617
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 2824,
              "diff": -2824
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 5,
              "ods": 5,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 10,
              "ods": 10,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 21,
              "ods": 21,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 5,
              "ods": 5,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 172,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 1,
              "ods": 1,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2824,
              "ods": 2824,
              "diff": 0
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 40394.85,
                "ods_sum": 40394.85,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 154001.27,
                "ods_sum": 154001.27,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 310789.49,
                "ods_sum": 310789.49,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 33315.15,
                "ods_sum": 33315.15,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 116393.37,
                "ods_sum": 116393.37,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18618,
              "diff": -232
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 334347.43,
                "diff": -4742.989999999991
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 3475,
              "ods": 3475,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 1319.49,
                "ods_sum": 1319.49,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 66216.8,
                "ods_sum": 66216.8,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 64234.0,
                "ods_sum": 64234.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 573,
              "ods": 573,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 2143.56,
                "ods_sum": 2143.56,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 172536.78,
                "ods_sum": 172536.78,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5050,
              "diff": -47
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2490,
              "ods": 2490,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 160988.0,
                "ods_sum": 160988.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 154001.27,
                "ods_sum": 154001.27,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11589,
              "diff": -162
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2489,
              "ods": 2489,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 160076.0,
                "ods_sum": 160076.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17138,
              "diff": -161
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 3616,
              "ods": 3616,
              "diff": 0
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 286088.0,
                "ods_sum": 286088.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 5,
              "ods": 5,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": -47020.0,
                "ods_sum": -47020.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -22721
      },
      "generated_at": "2026-01-28T23:30:28.027992+08:00"
    },
    {
      "mode": "window",
      "window": {
        "start": "2025-11-01T00:00:00+08:00",
        "end": "2025-12-01T00:00:00+08:00",
        "label": "segment_6",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2025-11-01T00:00:00+08:00",
        "end": "2025-12-01T00:00:00+08:00",
        "cutoff": null,
        "window_days": 30,
        "window_hours": 0,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 69,
            "records_with_pk": 69,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 3874,
            "records_with_pk": 3874,
            "missing": 0,
            "missing_samples": [],
            "pages": 20,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10052,
            "records_with_pk": 10052,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156553942917
              },
              {
                "id": 3071130738067397
              },
              {
                "id": 3071125551089541
              },
              {
                "id": 3071119209908101
              },
              {
                "id": 3071116033132485
              },
              {
                "id": 3071112298170181
              },
              {
                "id": 3071109789845381
              },
              {
                "id": 3071106986821445
              },
              {
                "id": 3071106250278725
              },
              {
                "id": 3071101089515525
              },
              {
                "id": 3071097321392133
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 884,
            "records_with_pk": 884,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 12,
            "records_with_pk": 12,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11871,
            "records_with_pk": 11871,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156551698309
              },
              {
                "id": 3071130735790021
              },
              {
                "id": 3071125548877701
              },
              {
                "id": 3071119207712645
              },
              {
                "id": 3071116030707653
              },
              {
                "id": 3071112295941957
              },
              {
                "id": 3071109787338629
              },
              {
                "id": 3071106984527685
              },
              {
                "id": 3071106248099653
              },
              {
                "id": 3071101085566981
              },
              {
                "id": 3071097319147525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17145,
            "records_with_pk": 17145,
            "missing": 7,
            "missing_samples": [
              {
                "id": 3071165016180677
              },
              {
                "id": 3071144368408582
              },
              {
                "id": 3071140708878277
              },
              {
                "id": 3071136224348101
              },
              {
                "id": 3071118437451717
              },
              {
                "id": 3071116463540165
              },
              {
                "id": 3071096665737157
              }
            ],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3071139583805125
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 80,
            "records_with_pk": 80,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8233,
            "records_with_pk": 8233,
            "missing": 8,
            "missing_samples": [
              {
                "id": 3071156554631045
              },
              {
                "id": 3071156554631046
              },
              {
                "id": 3071130738902981
              },
              {
                "id": 3071125551646597
              },
              {
                "id": 3071106987394885
              },
              {
                "id": 3071106250884933
              },
              {
                "id": 3071101090465797
              },
              {
                "id": 3071097322293253
              }
            ],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 5516,
            "records_with_pk": 5516,
            "missing": 0,
            "missing_samples": [],
            "pages": 28,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1753,
            "records_with_pk": 1753,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 172,
            "records_with_pk": 172,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 3999,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 20,
            "skipped_missing_pk": 3999,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 38,
        "total_errors": 0,
        "generated_at": "2026-01-28T23:33:41.841522+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18618,
              "diff": -18617
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 3336,
              "diff": -3336
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 12,
              "ods": 12,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 40,
              "ods": 40,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 80,
              "ods": 80,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 3,
              "ods": 3,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 172,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 3336,
              "ods": 3336,
              "diff": 0
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 71642.8,
                "ods_sum": 71642.8,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 166439.03,
                "ods_sum": 166439.03,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 394705.62,
                "ods_sum": 394705.62,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 33307.25,
                "ods_sum": 33307.25,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 156623.79,
                "ods_sum": 156623.79,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18618,
              "diff": -232
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 334347.43,
                "diff": -4742.989999999991
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 4134,
              "ods": 4134,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 1544.05,
                "ods_sum": 1544.05,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 98139.8,
                "ods_sum": 98139.8,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 87610.8,
                "ods_sum": 87610.8,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 884,
              "ods": 884,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 1437.75,
                "ods_sum": 1437.75,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 281102.62,
                "ods_sum": 281102.62,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5050,
              "diff": -47
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2838,
              "ods": 2838,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 172860.0,
                "ods_sum": 172860.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 166439.03,
                "ods_sum": 166439.03,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11589,
              "diff": -162
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2843,
              "ods": 2843,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 173800.0,
                "ods_sum": 173800.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17138,
              "diff": -161
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 3999,
              "ods": 3999,
              "diff": 0
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 457185.0,
                "ods_sum": 457185.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 17,
              "ods": 17,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": -16567.0,
                "ods_sum": -16567.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -23233
      },
      "generated_at": "2026-01-28T23:33:49.977135+08:00"
    },
    {
      "mode": "window",
      "window": {
        "start": "2025-12-01T00:00:00+08:00",
        "end": "2026-01-01T00:00:00+08:00",
        "label": "segment_7",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2025-12-01T00:00:00+08:00",
        "end": "2026-01-01T00:00:00+08:00",
        "cutoff": null,
        "window_days": 31,
        "window_hours": 0,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 69,
            "records_with_pk": 69,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 4011,
            "records_with_pk": 4011,
            "missing": 0,
            "missing_samples": [],
            "pages": 21,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10052,
            "records_with_pk": 10052,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156553942917
              },
              {
                "id": 3071130738067397
              },
              {
                "id": 3071125551089541
              },
              {
                "id": 3071119209908101
              },
              {
                "id": 3071116033132485
              },
              {
                "id": 3071112298170181
              },
              {
                "id": 3071109789845381
              },
              {
                "id": 3071106986821445
              },
              {
                "id": 3071106250278725
              },
              {
                "id": 3071101089515525
              },
              {
                "id": 3071097321392133
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 975,
            "records_with_pk": 975,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 35,
            "records_with_pk": 35,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11871,
            "records_with_pk": 11871,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156551698309
              },
              {
                "id": 3071130735790021
              },
              {
                "id": 3071125548877701
              },
              {
                "id": 3071119207712645
              },
              {
                "id": 3071116030707653
              },
              {
                "id": 3071112295941957
              },
              {
                "id": 3071109787338629
              },
              {
                "id": 3071106984527685
              },
              {
                "id": 3071106248099653
              },
              {
                "id": 3071101085566981
              },
              {
                "id": 3071097319147525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17145,
            "records_with_pk": 17145,
            "missing": 7,
            "missing_samples": [
              {
                "id": 3071165016180677
              },
              {
                "id": 3071144368408582
              },
              {
                "id": 3071140708878277
              },
              {
                "id": 3071136224348101
              },
              {
                "id": 3071118437451717
              },
              {
                "id": 3071116463540165
              },
              {
                "id": 3071096665737157
              }
            ],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3071139583805125
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 70,
            "records_with_pk": 70,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8233,
            "records_with_pk": 8233,
            "missing": 8,
            "missing_samples": [
              {
                "id": 3071156554631045
              },
              {
                "id": 3071156554631046
              },
              {
                "id": 3071130738902981
              },
              {
                "id": 3071125551646597
              },
              {
                "id": 3071106987394885
              },
              {
                "id": 3071106250884933
              },
              {
                "id": 3071101090465797
              },
              {
                "id": 3071097322293253
              }
            ],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 5464,
            "records_with_pk": 5464,
            "missing": 0,
            "missing_samples": [],
            "pages": 28,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1753,
            "records_with_pk": 1753,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 172,
            "records_with_pk": 172,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 4118,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 21,
            "skipped_missing_pk": 4118,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 38,
        "total_errors": 0,
        "generated_at": "2026-01-28T23:36:42.539466+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18618,
              "diff": -18617
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 3479,
              "diff": -3479
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 5,
              "ods": 5,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 6,
              "ods": 6,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 12,
              "ods": 12,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 4,
              "ods": 4,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 172,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 13,
              "ods": 13,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 3479,
              "ods": 3479,
              "diff": 0
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 71445.57,
                "ods_sum": 71445.57,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 170800.75,
                "ods_sum": 170800.75,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 432220.76,
                "ods_sum": 432220.76,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 34544.63,
                "ods_sum": 34544.63,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 189974.44,
                "ods_sum": 189974.44,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18618,
              "diff": -232
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 334347.43,
                "diff": -4742.989999999991
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2625,
              "ods": 2625,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 190.1,
                "ods_sum": 190.1,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 65814.4,
                "ods_sum": 65814.4,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 63275.9,
                "ods_sum": 63275.9,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 975,
              "ods": 975,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 3190.05,
                "ods_sum": 3190.05,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 322183.69,
                "ods_sum": 322183.69,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5050,
              "diff": -47
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2816,
              "ods": 2816,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 179652.0,
                "ods_sum": 179652.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 170800.75,
                "ods_sum": 170800.75,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11589,
              "diff": -162
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2827,
              "ods": 2827,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 180232.0,
                "ods_sum": 180232.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17138,
              "diff": -161
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 4118,
              "ods": 4118,
              "diff": 0
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 472999.0,
                "ods_sum": 472999.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 13,
              "ods": 13,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": -4314.0,
                "ods_sum": -4314.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -23376
      },
      "generated_at": "2026-01-28T23:36:51.438669+08:00"
    },
    {
      "mode": "window",
      "window": {
        "start": "2026-01-01T00:00:00+08:00",
        "end": "2026-01-29T01:00:00+08:00",
        "label": "segment_8",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2026-01-01T00:00:00+08:00",
        "end": "2026-01-29T01:00:00+08:00",
        "cutoff": null,
        "window_days": 28,
        "window_hours": 0,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 138,
            "records_with_pk": 138,
            "missing": 0,
            "missing_samples": [],
            "pages": 2,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 3240,
            "records_with_pk": 3240,
            "missing": 12,
            "missing_samples": [
              {
                "id": 3071156537067525
              },
              {
                "id": 3071130720438085
              },
              {
                "id": 3071125534803909
              },
              {
                "id": 3071119193737221
              },
              {
                "id": 3071115826186053
              },
              {
                "id": 3071112269268997
              },
              {
                "id": 3071109658953541
              },
              {
                "id": 3071106966783877
              },
              {
                "id": 3071106233468805
              },
              {
                "id": 3071101071574981
              },
              {
                "id": 3071097305204677
              },
              {
                "id": 3071092108199813
              }
            ],
            "pages": 18,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10052,
            "records_with_pk": 10052,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156553942917
              },
              {
                "id": 3071130738067397
              },
              {
                "id": 3071125551089541
              },
              {
                "id": 3071119209908101
              },
              {
                "id": 3071116033132485
              },
              {
                "id": 3071112298170181
              },
              {
                "id": 3071109789845381
              },
              {
                "id": 3071106986821445
              },
              {
                "id": 3071106250278725
              },
              {
                "id": 3071101089515525
              },
              {
                "id": 3071097321392133
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 750,
            "records_with_pk": 750,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 36,
            "records_with_pk": 36,
            "missing": 0,
            "missing_samples": [],
            "pages": 2,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11871,
            "records_with_pk": 11871,
            "missing": 11,
            "missing_samples": [
              {
                "id": 3071156551698309
              },
              {
                "id": 3071130735790021
              },
              {
                "id": 3071125548877701
              },
              {
                "id": 3071119207712645
              },
              {
                "id": 3071116030707653
              },
              {
                "id": 3071112295941957
              },
              {
                "id": 3071109787338629
              },
              {
                "id": 3071106984527685
              },
              {
                "id": 3071106248099653
              },
              {
                "id": 3071101085566981
              },
              {
                "id": 3071097319147525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17145,
            "records_with_pk": 17145,
            "missing": 7,
            "missing_samples": [
              {
                "id": 3071165016180677
              },
              {
                "id": 3071144368408582
              },
              {
                "id": 3071140708878277
              },
              {
                "id": 3071136224348101
              },
              {
                "id": 3071118437451717
              },
              {
                "id": 3071116463540165
              },
              {
                "id": 3071096665737157
              }
            ],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3071139583805125
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 65,
            "records_with_pk": 65,
            "missing": 0,
            "missing_samples": [],
            "pages": 2,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8233,
            "records_with_pk": 8233,
            "missing": 8,
            "missing_samples": [
              {
                "id": 3071156554631045
              },
              {
                "id": 3071156554631046
              },
              {
                "id": 3071130738902981
              },
              {
                "id": 3071125551646597
              },
              {
                "id": 3071106987394885
              },
              {
                "id": 3071106250884933
              },
              {
                "id": 3071101090465797
              },
              {
                "id": 3071097322293253
              }
            ],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 4761,
            "records_with_pk": 4761,
            "missing": 33,
            "missing_samples": [
              {
                "sitegoodsstockid": 3071141751064453
              },
              {
                "sitegoodsstockid": 3071140610590533
              },
              {
                "sitegoodsstockid": 3071140610148165
              },
              {
                "sitegoodsstockid": 3071139852748613
              },
              {
                "sitegoodsstockid": 3071138960656069
              },
              {
                "sitegoodsstockid": 3071138960606917
              },
              {
                "sitegoodsstockid": 3071135739021189
              },
              {
                "sitegoodsstockid": 3071135739512709
              },
              {
                "sitegoodsstockid": 3071130407454597
              },
              {
                "sitegoodsstockid": 3071124831930117
              },
              {
                "sitegoodsstockid": 3071124832847621
              },
              {
                "sitegoodsstockid": 3071124824934149
              },
              {
                "sitegoodsstockid": 3071124827948805
              },
              {
                "sitegoodsstockid": 3071124832470789
              },
              {
                "sitegoodsstockid": 3071124830193413
              },
              {
                "sitegoodsstockid": 3071124833273605
              },
              {
                "sitegoodsstockid": 3071124830734085
              },
              {
                "sitegoodsstockid": 3071124831258373
              },
              {
                "sitegoodsstockid": 3071124832519941
              },
              {
                "sitegoodsstockid": 3071124818429701
              },
              {
                "sitegoodsstockid": 3071124820068101
              },
              {
                "sitegoodsstockid": 3071124832012037
              },
              {
                "sitegoodsstockid": 3071124828817157
              },
              {
                "sitegoodsstockid": 3071124831307525
              },
              {
                "sitegoodsstockid": 3071124833339141
              },
              {
                "sitegoodsstockid": 3071124818134789
              },
              {
                "sitegoodsstockid": 3071124826408709
              },
              {
                "sitegoodsstockid": 3071124830275333
              },
              {
                "sitegoodsstockid": 3071124830799621
              },
              {
                "sitegoodsstockid": 3071124832896773
              },
              {
                "sitegoodsstockid": 3071124820379397
              },
              {
                "sitegoodsstockid": 3071124125501253
              },
              {
                "sitegoodsstockid": 3071108934354757
              }
            ],
            "pages": 25,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1753,
            "records_with_pk": 1753,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 172,
            "records_with_pk": 172,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 3338,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 18,
            "skipped_missing_pk": 3338,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 83,
        "total_errors": 0,
        "generated_at": "2026-01-28T23:39:39.198830+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18618,
              "diff": -18617
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 2882,
              "diff": -2882
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 6,
              "ods": 6,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 10,
              "ods": 10,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 20,
              "ods": 20,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2,
              "ods": 3,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 172,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 171,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 4,
              "ods": 4,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23609,
              "diff": -243
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2650,
              "ods": 2882,
              "diff": -232
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 52426.81,
                "ods_sum": 57169.8,
                "diff": -4742.990000000005
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 133145.02,
                "ods_sum": 144481.47,
                "diff": -11336.450000000012
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 316772.7,
                "ods_sum": 348798.59,
                "diff": -32025.890000000014
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 19343.73,
                "ods_sum": 20970.02,
                "diff": -1626.2900000000009
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 132512.49,
                "ods_sum": 146832.65,
                "diff": -14320.160000000003
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18618,
              "diff": -232
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 334347.43,
                "diff": -4742.989999999991
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2889,
              "diff": -40
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 707,
              "ods": 754,
              "diff": -47
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 381.93,
                "ods_sum": 381.93,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 216727.95,
                "ods_sum": 232766.15,
                "diff": -16038.199999999983
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5050,
              "diff": -47
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 99,
              "diff": -1
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4802,
              "diff": -57
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2103,
              "ods": 2272,
              "diff": -169
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 138534.0,
                "ods_sum": 150912.0,
                "diff": -12378.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 132809.02,
                "ods_sum": 144481.47,
                "diff": -11672.450000000012
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11589,
              "diff": -162
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 2112,
              "ods": 2273,
              "diff": -161
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 139370.0,
                "ods_sum": 151190.0,
                "diff": -11820.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17138,
              "diff": -161
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 460,
              "diff": -5
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 3076,
              "ods": 3327,
              "diff": -251
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 355665.0,
                "ods_sum": 377823.0,
                "diff": -22158.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 7,
              "ods": 7,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": -87.0,
                "ods_sum": -87.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -23640
      },
      "generated_at": "2026-01-28T23:39:47.719778+08:00"
    }
  ],
  "api_to_ods": {
    "total_missing": 332,
    "total_errors": 0
  },
  "total_missing": 332,
  "total_errors": 0,
  "generated_at": "2026-01-28T23:39:47.719800+08:00"
}
