[SQL Server2008]MDX查询语句
在Essbase中使用MDX只能用于查询,尚不能来操作Cube(MS SSAS中可以使用MDX来操作Cube的),所以这里只学习MDX的Select语句。
在学习的过程中,我觉得最有难度的地方有两个。
一是,对OLAP多维的理解。如同学习SQL一样,SQL作用的对象是表,表的结构都是二维的,标识行列即可;但是MDX作用的对象是多维数据库,那么就得理解多维数据库的维度,层级,成员,以及如何在多维数据库中定位不同层级的成员。
二是,理解MDX查询语句的结构及术语的含义。学习SQL时,我们常提到表,字段,那么MDX中呢,想必这些术语必须理解,例如:Cube,Slice,Axis,Set,Tuple,Members
我的学习经历是这样的,首先了解MDX语句的特点及功用。
“MDX全称是Mutil-Dimensional Expressions,即多为表达式。MDX是一种和SQL类似的语言,它也可以用于查询、计算和定义一些元数据。只不过SQL是基于OLTP的,而MDX是基于OLAP的,也就是说,MDX是对多维数据进行查询的。和其它的OLAP语言不同,MDX并不完全是一种报告形式语言。但用MDX查询出来的结果仍然可以在客户端程序中以表格形式进行展现。MDX和SQL一样,也有很多不同功能的API来支持MDX,最常用到的就是XML API。”
上面的一段话是从网上摘录来的,给MDX做了一个定义。
接下来学习MDX查询语句的结构及组成。
[<with_section>]
SELECT [<axis_specification>
[, <axis_specification>...]]
[from [<cube_specification>]]
[WHERE [<slicer_specification>]]
这个结构就是MDX查询语句的通用结构,从中要理解哪些是关键字以及关键字的顺序,WITH section、Axis、Cube、Slicer的位置。这些都是MDX的语法规定,所以要牢记各自的位置。
然后学习的是以上MDX语句结构中各个位置的含义。
<with_section>的位置用于设定自定义的计算。有两种运用,WITH SET…,WITH MEMBER…,在复杂的MDX查询语句中经常被用到。
<axis_specification>的位置用于设定轴。这个轴是反映在MDX语句的输出报表上的。常用的就是列、行、页,如下图所示:
<cube_specification>位置用于指定查询用的Cube,只能指定一个。
<slicer_specification>位置用于指定限制条件,可以是多个限制条件,反映在Cube中称为切片。
&n
相关文档:
在管理工具里面有数据源 选择sql数据源
在代码中:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content= ......
转自
http://topic.csdn.net/t/20050110/09/3711952.html
access中时间要用#,不是双引号
select * from kc where rq < #2000-01-01# and rq>#2002-01-01#
不要用between,它的效率泰低
使用# 而不是 ......
游标:指向处理SQL语句的环境区域的指针或句柄
-----|-1 静态游标
|---1.1 隐式游标
| 处理:INSERT,DELETE,UPDATE及返回一行的SELECT语句
| ......
今日产品部要导批数据,但是需要连接查询查询的几个表不在同一服务器上。所以我开始是这么干的:
1.查询一台服务器的数据,并导入本地Excel
2.查询另一台服务器的数据,并导入本地Excel
3.Excle导入数据库,数据库自带了Excel导入数据库的功能
4.连接查询,OVER!
后来才知道产品部要全国50多个城市的数据,所以每个城 ......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Configuration;
using System.Data.SqlClient;
namespace WebApplication1
{
public class Message
{
public static IL ......