[improvement][headless]Support count(1) as metric calculation expression.

This commit is contained in:
jerryjzhang
2024-12-17 16:36:12 +08:00
parent b4c19533a4
commit 84944fa341
4 changed files with 21 additions and 18 deletions

View File

@@ -292,10 +292,10 @@ public class S2VisitsDemo extends S2BaseDemo {
metricReq.setBizName("pv");
metricReq.setDescription("一段时间内用户的访问次数");
MetricDefineByFieldParams metricTypeParams = new MetricDefineByFieldParams();
metricTypeParams.setExpr("count(imp_date)");
List<FieldParam> fieldParams = new ArrayList<>();
fieldParams.add(new FieldParam("imp_date"));
metricTypeParams.setFields(fieldParams);
metricTypeParams.setExpr("count(1)");
// List<FieldParam> fieldParams = new ArrayList<>();
// fieldParams.add(new FieldParam("imp_date"));
// metricTypeParams.setFields(fieldParams);
metricReq.setMetricDefineByFieldParams(metricTypeParams);
metricReq.setMetricDefineType(MetricDefineType.FIELD);
metricReq.setRelateDimension(getRelateDimension(

View File

@@ -7,6 +7,7 @@ import com.tencent.supersonic.headless.api.pojo.response.SemanticQueryResp;
import com.tencent.supersonic.util.DataUtils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junitpioneer.jupiter.SetSystemProperty;
import static java.time.LocalDate.now;
import static org.junit.Assert.assertEquals;
@@ -29,6 +30,7 @@ public class QueryBySqlTest extends BaseTest {
}
@Test
@SetSystemProperty(key = "s2.test", value = "true")
public void testSumQuery() throws Exception {
SemanticQueryResp semanticQueryResp =
queryBySql("SELECT SUM(访问次数) AS 总访问次数 FROM 超音数PVUV统计 ");

View File

@@ -47,7 +47,7 @@ public class TranslatorTest extends BaseTest {
.translate(QueryReqBuilder.buildS2SQLReq(sql, dataSetId), User.getDefaultUser());
assertNotNull(explain);
assertNotNull(explain.getQuerySQL());
assertTrue(explain.getQuerySQL().contains("count(imp_date)"));
assertTrue(explain.getQuerySQL().contains("count(1)"));
executeSql(explain.getQuerySQL());
}
@@ -59,7 +59,7 @@ public class TranslatorTest extends BaseTest {
assertNotNull(explain);
assertNotNull(explain.getQuerySQL());
assertTrue(explain.getQuerySQL().contains("department"));
assertTrue(explain.getQuerySQL().contains("count(imp_date)"));
assertTrue(explain.getQuerySQL().contains("count(1)"));
executeSql(explain.getQuerySQL());
}
@@ -73,7 +73,7 @@ public class TranslatorTest extends BaseTest {
assertNotNull(explain);
assertNotNull(explain.getQuerySQL());
assertTrue(explain.getQuerySQL().toLowerCase().contains("department"));
assertTrue(explain.getQuerySQL().toLowerCase().contains("count(imp_date)"));
assertTrue(explain.getQuerySQL().toLowerCase().contains("count(1)"));
executeSql(explain.getQuerySQL());
}
@@ -87,7 +87,7 @@ public class TranslatorTest extends BaseTest {
assertNotNull(explain);
assertNotNull(explain.getQuerySQL());
assertTrue(explain.getQuerySQL().toLowerCase().contains("department"));
assertTrue(explain.getQuerySQL().toLowerCase().contains("count(imp_date)"));
assertTrue(explain.getQuerySQL().toLowerCase().contains("count(1)"));
executeSql(explain.getQuerySQL());
}