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 <[email protected]>
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();
+ }
}
}
}