Codex changes
This commit is contained in:
parent
0bae902e08
commit
d4dde21ad2
46 changed files with 4953 additions and 966 deletions
|
|
@ -14,6 +14,7 @@ use tracing::{info, warn};
|
|||
use crate::auth::OptionalUser;
|
||||
use crate::consts::NAN_U16;
|
||||
use crate::data::QuantRef;
|
||||
use crate::features::INTEGER_BIN_FEATURES;
|
||||
use crate::licensing::check_license_bounds;
|
||||
use crate::parsing::{parse_field_indices, parse_filters, require_bounds, row_passes_filters};
|
||||
use crate::routes::{fetch_screenshot_bytes, FeatureInfo};
|
||||
|
|
@ -315,6 +316,11 @@ pub async fn get_export(
|
|||
})
|
||||
.collect();
|
||||
|
||||
let integer_feature_indices: FxHashSet<usize> = INTEGER_BIN_FEATURES
|
||||
.iter()
|
||||
.filter_map(|name| state.feature_name_to_index.get(*name).copied())
|
||||
.collect();
|
||||
|
||||
// Build Excel number formats per feature index for unit display
|
||||
let mut feat_num_fmts: FxHashMap<usize, Format> = FxHashMap::default();
|
||||
for &feat_idx in &all_feature_indices {
|
||||
|
|
@ -324,6 +330,8 @@ pub async fn get_export(
|
|||
}
|
||||
let num_fmt_str = if !prefix.is_empty() {
|
||||
format!("\"{}\"#,##0", prefix)
|
||||
} else if integer_feature_indices.contains(&feat_idx) {
|
||||
format!("#,##0\"{}\"", suffix)
|
||||
} else {
|
||||
format!("#,##0.0\"{}\"", suffix)
|
||||
};
|
||||
|
|
@ -488,7 +496,11 @@ pub async fn get_export(
|
|||
} else {
|
||||
let fc = agg.finite_counts[feat_idx];
|
||||
if fc > 0 {
|
||||
let mean = (agg.sums[feat_idx] / fc as f64 * 100.0).round() / 100.0;
|
||||
let mean = if integer_feature_indices.contains(&feat_idx) {
|
||||
(agg.sums[feat_idx] / fc as f64).round()
|
||||
} else {
|
||||
(agg.sums[feat_idx] / fc as f64 * 100.0).round() / 100.0
|
||||
};
|
||||
if let Some(fmt) = feat_num_fmts.get(&feat_idx) {
|
||||
sheet
|
||||
.write_number_with_format(row, col, mean, fmt)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue