You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ya...@apache.org on 2022/03/28 11:09:15 UTC
[kylin] 02/02: MDX query demo
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
commit c97d174517ed1c7aef8299f867927e5552527a65
Author: yaqian.zhang <59...@qq.com>
AuthorDate: Mon Mar 28 19:06:30 2022 +0800
MDX query demo
---
.../mdxquerydemo/MdxQueryDemoApplication.java | 47 ++++++++++++++++------
1 file changed, 34 insertions(+), 13 deletions(-)
diff --git a/src/main/java/io/kyligence/mdxquerydemo/MdxQueryDemoApplication.java b/src/main/java/io/kyligence/mdxquerydemo/MdxQueryDemoApplication.java
index a3c0eb2..96f0142 100644
--- a/src/main/java/io/kyligence/mdxquerydemo/MdxQueryDemoApplication.java
+++ b/src/main/java/io/kyligence/mdxquerydemo/MdxQueryDemoApplication.java
@@ -9,27 +9,48 @@ import java.sql.DriverManager;
public class MdxQueryDemoApplication {
public static void main(String[] args) throws Exception {
+ String mdx_ip = args.length != 0 ? args[0] : "localhost";
Class.forName("org.olap4j.driver.xmla.XmlaOlap4jDriver");
Connection connection =
DriverManager.getConnection(
- "jdbc:xmla:Server=http://localhost:7080/mdx/xmla/learn_kylin?username=ADMIN&password=KYLIN");
+ "jdbc:xmla:Server=http://" + mdx_ip + ":7080/mdx/xmla/test_covid_project?username=ADMIN&password=KYLIN");
OlapConnection olapConnection = connection.unwrap(OlapConnection.class);
OlapStatement statement = olapConnection.createStatement();
- String mdx = "SELECT NON EMPTY Hierarchize(AddCalculatedMembers({DrilldownLevel({[KYLIN_COUNTRY].[NAME].[All]})})) " +
- "DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS FROM [test001] WHERE ([Measures].[SUM_PRICE]) " +
- "CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS";
+ 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);
- for (Position column : cellSet.getAxes().get(0)) {
- for (Member member : column.getMembers()) {
- System.out.println(member.getUniqueName());
+
+ boolean flag = false;
+ for (Position row : cellSet.getAxes().get(1)) {
+ 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);
+ System.out.print(" ");
+ }
+ for (Member member : column.getMembers()) {
+ System.out.println(member.getUniqueName());
+ System.out.println("-------------------------------------------------------------------------");
+ }
+ }
+ for (Member member : row.getMembers()) {
+ System.out.print(member.getCaption());
+ System.out.print(" ");
+ }
+ final Cell cell = cellSet.getCell(column, row);
+ System.out.println(cell.getFormattedValue());
}
- final Cell cell = cellSet.getCell(column);
- System.out.println(cell.getValue());
- System.out.println();
}
}
-
-
-
}