This is an automated email from the ASF dual-hosted git repository. yaqian pushed a commit to branch mdx-query-demo in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/mdx-query-demo by this push: new cf3cf1c591 fix cf3cf1c591 is described below commit cf3cf1c5911a5351a1570d65337e3f5685f257c5 Author: yaqian.zhang <598593...@qq.com> AuthorDate: Thu Apr 7 14:33:03 2022 +0800 fix --- .../mdxquerydemo/MdxQueryDemoApplication.java | 73 ++++++++++++++-------- 1 file changed, 48 insertions(+), 25 deletions(-) diff --git a/src/main/java/io/kyligence/mdxquerydemo/MdxQueryDemoApplication.java b/src/main/java/io/kyligence/mdxquerydemo/MdxQueryDemoApplication.java index 96f0142612..2ac9ba4912 100644 --- a/src/main/java/io/kyligence/mdxquerydemo/MdxQueryDemoApplication.java +++ b/src/main/java/io/kyligence/mdxquerydemo/MdxQueryDemoApplication.java @@ -10,46 +10,69 @@ public class MdxQueryDemoApplication { public static void main(String[] args) throws Exception { String mdx_ip = args.length != 0 ? args[0] : "localhost"; + String mdx_query = args.length > 1 ? args[1] : "SELECT\n" + + "{[Measures].[ORDER_COUNT],\n" + + "[Measures].[trip_mean_distance]} \n" + + "DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_ORDINAL],[MEMBER_CAPTION] ON COLUMNS,\n" + + "NON EMPTY [PICKUP_NEWYORK_ZONE].[BOROUGH].[BOROUGH].AllMembers \n" + + "DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_ORDINAL],[MEMBER_CAPTION] ON ROWS\n" + + "FROM [covid_trip_dataset]"; Class.forName("org.olap4j.driver.xmla.XmlaOlap4jDriver"); Connection connection = DriverManager.getConnection( - "jdbc:xmla:Server=http://" + mdx_ip + ":7080/mdx/xmla/test_covid_project?username=ADMIN&password=KYLIN"); + "jdbc:xmla:Server=http://" + mdx_ip + ":7080/mdx/xmla/covid_trip_project?username=ADMIN&password=KYLIN"); OlapConnection olapConnection = connection.unwrap(OlapConnection.class); OlapStatement statement = olapConnection.createStatement(); - String mdx = "SELECT\n" + - "{[Measures].DefaultMember} DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_ORDINAL],[MEMBER_CAPTION] ON COLUMNS,\n" + - "NON EMPTY CROSSJOIN(\n" + - " [DROPOFF_NEWYORK_ZONE].[BOROUGH].[BOROUGH].AllMembers,\n" + - " [PICKUP_NEWYORK_ZONE].[BOROUGH].[BOROUGH].AllMembers) DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_ORDINAL],[MEMBER_CAPTION] ON ROWS\n" + - "FROM [nyc_taxi_coivd_dataset]"; CellSet cellSet = - statement.executeOlapQuery(mdx); + statement.executeOlapQuery(mdx_query); - boolean flag = false; + Boolean rowFlag = false; + Boolean columnFlag = false; for (Position row : cellSet.getAxes().get(1)) { + for (Member member : row.getMembers()) { + String name = member.getUniqueName(); + String[] s = name.split("\\."); + if (s.length > 1) { + name = s[0].concat(".").concat(s[1]); + } + if (!rowFlag) { + System.out.print(name); + System.out.print(" "); + } + } for (Position column : cellSet.getAxes().get(0)) { - if (!flag) { - flag = true; - for (Member member : row.getMembers()) { - String name = member.getUniqueName(); - String[] s = name.split("\\."); - if (s.length > 1) { - name = s[0].concat(s[1]); - } - System.out.print(name); + for (Member member : column.getMembers()) { + if (!columnFlag) { + System.out.print(member.getUniqueName()); System.out.print(" "); } - for (Member member : column.getMembers()) { - System.out.println(member.getUniqueName()); - System.out.println("-------------------------------------------------------------------------"); - } } + } + rowFlag = true; + columnFlag = true; + } + System.out.println(" "); + System.out.println("-------------------------------------------------------------------------"); + + Boolean columnNameDiff = true; + String lastColumnName = ""; + for (Position row : cellSet.getAxes().get(1)) { + for (Position column : cellSet.getAxes().get(0)) { for (Member member : row.getMembers()) { - System.out.print(member.getCaption()); - System.out.print(" "); + String columnName = member.getCaption(); + columnNameDiff = !columnName.equals(lastColumnName); + if (columnNameDiff) { + System.out.print(columnName); + System.out.print(" "); + } + lastColumnName = columnName; } final Cell cell = cellSet.getCell(column, row); - System.out.println(cell.getFormattedValue()); + System.out.print(cell.getFormattedValue()); + System.out.print(" "); + if (!columnNameDiff) { + System.out.println(); + } } } }