| 123456789101112131415161718192021222324252627282930313233 |
- namespace Admin.NET.Plugin.AiDOP.DataPlatform.S0Dim;
- /// <summary>
- /// dim 列的取值方式,决定 <see cref="S0DimSqlBuilder"/> 为该列生成哪种 SQL 表达式。
- /// 除 <see cref="TenantIdColumn"/> 外全部作用于 staging 的 <c>raw_data</c> JSON,
- /// 底层统一走 <see cref="MdpJsonSql"/>(已处理 JSON null → 字符串 'null'、ISO-T 时间、STRICT CAST)。
- /// </summary>
- public enum S0DimValueKind
- {
- /// <summary>取 staging 的物理列 <c>s.tenant_id</c>,不走 raw_data。租户身份的唯一来源。</summary>
- TenantIdColumn,
- /// <summary>可空字符串。</summary>
- Str,
- /// <summary>可空整数(SIGNED)。</summary>
- Int,
- /// <summary>可空 DECIMAL(Precision, Scale)。</summary>
- Dec,
- /// <summary>秒级 datetime(源侧微秒被截断,与对账口径一致)。</summary>
- DateTimeSec,
- /// <summary>
- /// 布尔判真,产出 1/0。
- /// ⚠️ <see cref="MdpJsonSql.BoolTrue"/> 会把 JSON null / 无法识别的值**静默判为 0**。
- /// 为杜绝静默失真,<see cref="S0DimSqlBuilder"/> 对本类型**强制追加可辨识性守卫**
- /// (原始值必须是 1/0/true/false 之一),不满足的行被过滤掉 →
- /// 触发 <c>dim_count < stg_count</c> → 对账 FAIL,问题被暴露而非被吞掉。
- /// </summary>
- BoolTrue
- }
|