diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/manager/SemanticSchemaManager.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/manager/SemanticSchemaManager.java index 795ec42f0..e7bf45b87 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/manager/SemanticSchemaManager.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/manager/SemanticSchemaManager.java @@ -131,19 +131,13 @@ public class SemanticSchemaManager { datasource.setTimePartType(TimePartType.of(d.getModelSourceTypeEnum().name())); } if (Objects.nonNull(d.getFields()) && !CollectionUtils.isEmpty(d.getFields())) { - Set dimensions = datasource.getDimensions().stream().map(dd -> dd.getBizName()) - .collect(Collectors.toSet()); Set measures = datasource.getMeasures().stream().map(mm -> mm.getName()) .collect(Collectors.toSet()); - Set identifiers = datasource.getIdentifiers().stream().map(ii -> ii.getName()) - .collect(Collectors.toSet()); for (Field f : d.getFields()) { - if (dimensions.contains(f.getFieldName()) || measures.contains(f.getFieldName()) - || identifiers.contains(f.getFieldName())) { - continue; + if (!measures.contains(f.getFieldName())) { + datasource.getMeasures() + .add(Measure.builder().expr(f.getFieldName()).name(f.getFieldName()).agg("").build()); } - datasource.getMeasures() - .add(Measure.builder().expr(f.getFieldName()).name(f.getFieldName()).agg("").build()); } } return datasource;