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();
+                }
             }
         }
     }

Reply via email to