1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import java.io.PrintWriter;
import mondrian.olap.Axis;
import mondrian.olap.Connection;
import mondrian.olap.DriverManager;
import mondrian.olap.Member;
import mondrian.olap.Position;
import mondrian.olap.Query;
import mondrian.olap.Result;
public class MDX {
public void requete (){
String connectString = "Provider=mondrian;" +
"Jdbc=jdbc:postgresql://localhost:5432/simple_geofoodmart?user=postgres&password=zeroiid;" +
"Catalog=file:C:\\Program Files (x86)\\apache\\webapps\\geomondrianWikiOLAP\\WEB-INF\\queries\\simple_geofoodmart.xml;"+
"JdbcDrivers=org.postgresql.Driver";
Connection connection = null;
connection = DriverManager.getConnection(connectString, null);
//recuperer la requete depuis la page web
Query query = connection.parseQuery("select {[Measures].[Unit Sales]} ON COLUMNS, Filter({[Store].[Store State].Members},(ST_Distance(ST_Transform([Store].CurrentMember.Properties(\"geom\"), 4326.0, 2991.0), ST_Transform(ST_GeomFromText(\"POINT (-120.215149 44.998796)\"), 4326.0, 2991.0)) < 200000.0)) ON ROWS from [Sales] where [Time].[1997]");
Result result = connection.execute(query);
result.print(new PrintWriter(System.out,true));
System.out.println(result.getAxes().clone());
Axis [] axe=result.getAxes ();
for (int i=0; i<=axe.length; i++){
System.out.println();}
}
public static void main (String[] args){
new MDX().requete();
}
} |
Partager