项目笔记——9.21

使用google的gson转换,在线验证可用,例子来自saiku-foodmart。

PS:此文档是倒着写的,所以应先看2再看1…

1.首先是cube和共享维度:

PS:相关代码在com.xxx.schema包下

       
       
 

以Cube:Sales 2为例,此cube包含以上内容,每个cube封装为一条JSON

完整版见 附录2。

格式化后的(节选):

{

"cubeName":
"Sales 2",

"cuniqueName":
"[Sales 2]",

"ccaption": "Sales
2",             //此三项的含义同2中的注释

"dimensions": [       //此cube中包含的维度

{

"dimenName":
"Time",

"duniqueName": "[Time]",

"dcaption":
"Time",      //名字属性都是这三个

"hierarchies": [        
//此维度中的hierarchy

{

"HierarchyName": "Time",

"huniqueName": "[Time]",

"hcaption": "Time",

"levels": [    //此hierarchy中的level

{

"levelName":
"Year",

"luniqueName": "Year",

"lcaption": "Year",

"depth": 0

//depth:level的深度,数值越小范围越大,如0表示ALL

}

……

]

},

{

"HierarchyName": "Time.Weekly",

……

}

]

}

……

],

"measures": [

{

"measureName": "Sales Count",

"muniqueName": "[Measures].[Sales Count]",

"mcaption":
"Sales Count"

}

……

]

}

共享维度的结构与此类似,demo版应该用不到,示例见 附录3。

PS:生成MDX语句的代码见包com.xxx.mdx,

前端需要传给后台的数据形式,见各类开头的长注释。

2.然后是查询的结果(cell):

PS:相关代码在com.xxx.result包下

选择Cube:Sales,拖选以下条件:

每行封装一个JSON,完整样例见后面 附录1:

取出第一行的第一个cell,格式化(左上,坐标0,0)

{

"value": "$22,553.64",     //这个cell的值

"coordRow": 0,            
//行坐标

"coordColumn": 0,         
//列坐标

"columns": [              
//列上的表头(可能有多层)

{

"cname": "CA",

"cuniqueName": "[Customers].[USA].[CA]",

"ccaption": "CA"

},

{                      //如此处为第二个表头

"cname": "F",

"cuniqueName":
"[Gender].[F]",

"ccaption": "F"

}

],

"rows": [                  
//行上的表头(此例只有一个)

{

"rname": "Profit",

"runiqueName": "[Measures].[Profit]",

"rcaption": "Profit"

}

]

}

其中column、row都有三个属性:

-name:简称,如F

-uniqueName:全称,如[Gender].[F]

-caption:显示在页面中的名字,如“女”,默认与-name相同

附录1

第一行的:

[{"value":"$22,553.64","coordRow":0,"coordColumn":0,"columns":[{"cname":"CA","cuniqueName":"[Customers].[USA].[CA]","ccaption":"CA"},{"cname":"F","cuniqueName":"[Gender].[F]","ccaption":"F"}],"rows":[{"rname":"Profit","runiqueName":"[Measures].[Profit]","rcaption":"Profit"}]},{"value":"$22,911.70","coordRow":0,"coordColumn":1,"columns":[{"cname":"CA","cuniqueName":"[Customers].[USA].[CA]","ccaption":"CA"},{"cname":"M","cuniqueName":"[Gender].[M]","ccaption":"M"}],"rows":[{"rname":"Profit","runiqueName":"[Measures].[Profit]","rcaption":"Profit"}]},{"value":"$22,361.31","coordRow":0,"coordColumn":2,"columns":[{"cname":"OR","cuniqueName":"[Customers].[USA].[OR]","ccaption":"OR"},{"cname":"F","cuniqueName":"[Gender].[F]","ccaption":"F"}],"rows":[{"rname":"Profit","runiqueName":"[Measures].[Profit]","rcaption":"Profit"}]},{"value":"$23,334.58","coordRow":0,"coordColumn":3,"columns":[{"cname":"OR","cuniqueName":"[Customers].[USA].[OR]","ccaption":"OR"},{"cname":"M","cuniqueName":"[Gender].[M]","ccaption":"M"}],"rows":[{"rname":"Profit","runiqueName":"[Measures].[Profit]","rcaption":"Profit"}]},{"value":"$39,174.49","coordRow":0,"coordColumn":4,"columns":[{"cname":"WA","cuniqueName":"[Customers].[USA].[WA]","ccaption":"WA"},{"cname":"F","cuniqueName":"[Gender].[F]","ccaption":"F"}],"rows":[{"rname":"Profit","runiqueName":"[Measures].[Profit]","rcaption":"Profit"}]},{"value":"$37,907.41","coordRow":0,"coordColumn":5,"columns":[{"cname":"WA","cuniqueName":"[Customers].[USA].[WA]","ccaption":"WA"},{"cname":"M","cuniqueName":"[Gender].[M]","ccaption":"M"}],"rows":[{"rname":"Profit","runiqueName":"[Measures].[Profit]","rcaption":"Profit"}]}]

第二行:

[{"value":"37,480.50","coordRow":1,"coordColumn":0,"columns":[{"cname":"CA","cuniqueName":"[Customers].[USA].[CA]","ccaption":"CA"},{"cname":"F","cuniqueName":"[Gender].[F]","ccaption":"F"}],"rows":[{"rname":"Store
Sales","runiqueName":"[Measures].[Store
Sales]","rcaption":"Store
Sales"}]},{"value":"38,088.75","coordRow":1,"coordColumn":1,"columns":[{"cname":"CA","cuniqueName":"[Customers].[USA].[CA]","ccaption":"CA"},{"cname":"M","cuniqueName":"[Gender].[M]","ccaption":"M"}],"rows":[{"rname":"Store
Sales","runiqueName":"[Measures].[Store
Sales]","rcaption":"Store
Sales"}]},{"value":"37,230.43","coordRow":1,"coordColumn":2,"columns":[{"cname":"OR","cuniqueName":"[Customers].[USA].[OR]","ccaption":"OR"},{"cname":"F","cuniqueName":"[Gender].[F]","ccaption":"F"}],"rows":[{"rname":"Store
Sales","runiqueName":"[Measures].[Store
Sales]","rcaption":"Store Sales"}]},{"value":"38,820.32","coordRow":1,"coordColumn":3,"columns":[{"cname":"OR","cuniqueName":"[Customers].[USA].[OR]","ccaption":"OR"},{"cname":"M","cuniqueName":"[Gender].[M]","ccaption":"M"}],"rows":[{"rname":"Store
Sales","runiqueName":"[Measures].[Store
Sales]","rcaption":"Store
Sales"}]},{"value":"65,063.54","coordRow":1,"coordColumn":4,"columns":[{"cname":"WA","cuniqueName":"[Customers].[USA].[WA]","ccaption":"WA"},{"cname":"F","cuniqueName":"[Gender].[F]","ccaption":"F"}],"rows":[{"rname":"Store
Sales","runiqueName":"[Measures].[Store
Sales]","rcaption":"Store
Sales"}]},{"value":"63,216.70","coordRow":1,"coordColumn":5,"columns":[{"cname":"WA","cuniqueName":"[Customers].[USA].[WA]","ccaption":"WA"},{"cname":"M","cuniqueName":"[Gender].[M]","ccaption":"M"}],"rows":[{"rname":"Store
Sales","runiqueName":"[Measures].[Store
Sales]","rcaption":"Store Sales"}]}]

附录2:Cube--Sales 2

{"cubeName":"Sales
2","cuniqueName":"[Sales
2]","ccaption":"Sales
2","dimensions":[{"dimenName":"Time","duniqueName":"[Time]","dcaption":"Time","hierarchies":[{"HierarchyName":"Time","huniqueName":"[Time]","hcaption":"Time","levels":[{"levelName":"Year","luniqueName":"Year","lcaption":"Year","depth":0},{"levelName":"Quarter","luniqueName":"Quarter","lcaption":"Quarter","depth":1},{"levelName":"Month","luniqueName":"Month","lcaption":"Month","depth":2}]},{"HierarchyName":"Time.Weekly","huniqueName":"[Time.Weekly]","hcaption":"Weekly","levels":[{"levelName":"(All)","luniqueName":"(All)","lcaption":"(All)","depth":0},{"levelName":"Year","luniqueName":"Year","lcaption":"Year","depth":1},{"levelName":"Week","luniqueName":"Week","lcaption":"Week","depth":2},{"levelName":"Day","luniqueName":"Day","lcaption":"Day","depth":3}]}]},{"dimenName":"Product","duniqueName":"[Product]","dcaption":"Product","hierarchies":[{"HierarchyName":"Product","huniqueName":"[Product]","hcaption":"Product","levels":[{"levelName":"(All)","luniqueName":"(All)","lcaption":"(All)","depth":0},{"levelName":"Product
Family","luniqueName":"Product
Family","lcaption":"Product
Family","depth":1},{"levelName":"Product
Department","luniqueName":"Product
Department","lcaption":"Product Department","depth":2},{"levelName":"Product
Category","luniqueName":"Product
Category","lcaption":"Product
Category","depth":3},{"levelName":"Product
Subcategory","luniqueName":"Product
Subcategory","lcaption":"Product
Subcategory","depth":4},{"levelName":"Brand
Name","luniqueName":"Brand
Name","lcaption":"Brand
Name","depth":5},{"levelName":"Product
Name","luniqueName":"Product
Name","lcaption":"Product
Name","depth":6}]}]},{"dimenName":"Gender","duniqueName":"[Gender]","dcaption":"Gender","hierarchies":[{"HierarchyName":"Gender","huniqueName":"[Gender]","hcaption":"Gender","levels":[{"levelName":"(All)","luniqueName":"(All)","lcaption":"(All)","depth":0},{"levelName":"Gender","luniqueName":"Gender","lcaption":"Gender","depth":1}]}]}],"measures":[{"measureName":"Sales
Count","muniqueName":"[Measures].[Sales
Count]","mcaption":"Sales
Count"},{"measureName":"Unit
Sales","muniqueName":"[Measures].[Unit
Sales]","mcaption":"Unit
Sales"},{"measureName":"Store
Sales","muniqueName":"[Measures].[Store
Sales]","mcaption":"Store
Sales"},{"measureName":"Store
Cost","muniqueName":"[Measures].[Store
Cost]","mcaption":"Store
Cost"},{"measureName":"Customer
Count","muniqueName":"[Measures].[Customer
Count]","mcaption":"Customer
Count"},{"measureName":"Profit","muniqueName":"[Measures].[Profit]","mcaption":"Profit"},{"measureName":"Profit
last Period","muniqueName":"[Measures].[Profit last
Period]","mcaption":"Profit last Period"}]}

附录3:Shared Dimension

{"sharedName":"Store
Type","suniqueName":"[Store
Type]","scaption":"Store Type","hierarchies":[{"HierarchyName":"Store
Type","huniqueName":"Store
Type","hcaption":"Store
Type","levels":[{"levelName":"(All)","luniqueName":"[Store
Type].[(All)]","lcaption":"(All)","depth":0},{"levelName":"Store
Type","luniqueName":"[Store Type].[Store
Type]","lcaption":"Store
Type","depth":1}]}]}

时间: 2024-12-12 18:58:49

项目笔记——9.21的相关文章

微软BI项目笔记连载

本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的多维分析模块: <BI项目笔记>基于雪花模型的维度设计 <BI项目笔记>数据源视图设置 <BI项目笔记>创建标准维度.维度自定义层次结构 <BI项目笔记>创建父子维度 <BI项目笔记>创建时间维度(1) <BI项目笔记>创建时间维度(2) <BI项目笔记>创建多维数据集Cube

项目笔记---CSharp图片处理

原文:项目笔记---CSharp图片处理 最近由于项目上需要对图片进行二值化处理,就学习了相关的图片处理上的知识,从开始的二值化的意义到动态阀值检测二值化等等,并用C#得以应用,学到了很多的知识和大家分享下我个人的经验,希望对大家有帮助. 二值化 二值化简而言之是对一副彩色图片进行0/1运算,最终显示一副黑白相间的图片,其意义多数在于对二值化处理后的图片进行分割识别,一些自动识别的验证码工具大多是先进行二值化,然后在模式识别,最终推断出验证码:我的项目中是由于硬件只支持黑色和白色,所以要对用户的

Silverlight项目笔记1:UI控件与布局、MVVM、数据绑定、await/async、Linq查询、WCF RIA Services、序列化、委托与事件

最近从技术支持转到开发岗,做Silverlight部分的开发,用的Prism+MVVM,框架由同事搭好,目前做的主要是功能实现,用到了一些东西,侧重于如何使用,总结如下:   1.UI控件与布局     2.MVVM     3.数据绑定     4.await/async     5.Linq查询     6.WCF RIA Services     7.序列化     8.委托与事件 1.UI控件与布局 常用的主要是Grid.StackPanel.Border,其中最常用的的是Grid,是一

Silverlight项目笔记2:初识Prism以及IoC

项目采用了Prism框架,以下为自己的一些初步认识:   一.Prism Prism是由微软Patterns & Practices团队开发的针对WPF和Silverlight的MVVM框架,好处是将功能模块化,能有效减小程序大小,增强扩展性与可维护性. Prism的几个关键点: (1)启动器类UnityBootstrapper Silverlight程序入口处调用Bootstrapper.Run方法时,Prism会自动做一些初始化工作,包括读取模块信息表,创建模块类实例并初始化(还可以选择按需

Silverlight项目笔记5:Oracle归档模式引起的异常&amp;&amp;表格控件绑定按钮

两个问题: (1)Oracle无法连接正常使用,原因是归档日志满了引起异常,最后选择删除归档日志恢复正常. (2)使用silverlight自带的表格绑定按钮竟然无法使用,通过变通绑定数据源集合,把按钮操作作为数据源集合一部分,重新绑定解决. 一.Oracle归档模式产生日志文件引起数据库异常 连接数据库失败,提示监听错误,各种检查监听配置文件,删除再添加监听,无果. sqlplus下重启数据库数据库依然无果,期间碰到多个错误提示: ORA-01034: ORACLE not available

《BI项目笔记》基于雪花模型的维度设计

原文:<BI项目笔记>基于雪花模型的维度设计 GBGradeCode 外键关系: 1 烟叶等级 T_GBGradeCode.I_DistinctionID=T_Distinction.I_DistinctionID 烟叶等级分为:上等烟.中等烟.下等烟.末等烟.低等烟.低次等烟.其它.下低等烟 2 分级标准 T_GBGradeCode.I_GradStanCode=T_GradeStandard.I_GradStanCode 取值为:四十二级.二十八级.自定义.其他.工艺级别 3 烟叶烤型 T

《BI项目笔记》报到信息分析Cube

原文:<BI项目笔记>报到信息分析Cube 数据源设置:数据处理逻辑: --处理丢失外键关系数据 SELECT * FROM T_ReportLeafGrade WHERE FSubFID NOT IN ( SELECT FID FROM T_RaceLeafReport ) DELETE FROM T_ReportLeafGrade WHERE FSubFID NOT IN ( SELECT FID FROM T_RaceLeafReport ) --处理供应商关系 SELECT * FRO

《BI项目笔记》创建标准维度、维度自定义层次结构

原文:<BI项目笔记>创建标准维度.维度自定义层次结构

《BI项目笔记》——微软BI项目笔记连载

原文:<BI项目笔记>--微软BI项目笔记连载 本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的SSAS.SSIS模块:  准备工作: <BI项目笔记>基于雪花模型的维度设计 <BI项目笔记>数据源视图设置 <BI项目笔记>创建标准维度.维度自定义层次结构 <BI项目笔记>创建父子维度 <BI项目笔记>创建时间维度(1) <BI项目笔记>创建时间