time 
设为首页】【收藏本站
当前位置: 主页 > WEB教程 > WEB工具 > FusionCharts > FusionChart对MDX查询结果的数据展示案例

FusionChart对MDX查询结果的数据展示案例

时间:2011-04-01 23:50 点击:3673次 字体:[ ]




   谈及FusionChart,大家可以访问 http://www.fusioncharts.com/ 查看其产品及介绍,其效果的确很cool。而如果要将其应用到我们的BI项目中,需要考虑的问题还是很多的。首先,我们知道,因为FusionChart是基于flash来展示数据的,它的数据源只能是一定格式的xml文件,而且可能每一种图表所需要的xml文件格式不一样。可喜的是,我们可以将数据集转化为xml以提供其数据源。可是,我们知道,在ADOMD.NET中,用MDX语句查询后能获取的对象只能是CellSet,并不是DataSet或DataTable。因此,问题的关键就在于如何将CellSet对象转化为DataTable对象。

 

    其实,只要google一下就知道,早已经有很多先辈们很好地解决了上述问题,并将CellSet对象转化为DataTable对象的方法公布于众,具体代码如下:

 

        /// <summary>
        
/// 将CellSet转化成Table
        
/// </summary>
        
/// <param name="cellset">CellSet</param>
        
/// <returns></returns>
        private DataTable CellSetToTable(CellSet cellset)
        {
            DataTable table 
= new DataTable("cellset");

            Axis columns 
= cellset.Axes[0]; //获取列轴
            Axis rows = cellset.Axes[1];//获取行轴
            CellCollection valuesCell = cellset.Cells;//获取度量值单元集合
            
//行轴的级别标题为表的第一列
            table.Columns.Add(rows.Set.Hierarchies[0].Caption);
            
//行轴的各个成员的标题变成表的列
            for (int i = 0; i < columns.Set.Tuples.Count; i++)
            {
                table.Columns.Add(
new DataColumn(columns.Set.Tuples[i].Members[0].Caption));
            }
            
int valueIndex = 0;
            DataRow row 
= null;
            
//向表中填充数据
            for (int i = 0; i < rows.Set.Tuples.Count; i++)
            {
                row 
= table.NewRow();
                
//表所有行的第一列值为相应行轴的成标题
                row[0= rows.Set.Tuples[i].Members[0].Caption;
                
for (int k = 1; k <= columns.Set.Tuples.Count; k++)
                {
//按顺序把度量值单元集合的值填充到表中
                    row[k] = valuesCell[valueIndex].Value;
                    valueIndex
++;
                }
                table.Rows.Add(row);
            }
            
return table;
        }



本文地址 : http://www.fengfly.com/plus/view-197638-1.html
标签: FusionChart MDX查询结果
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:
本栏分类