CellSet 遍历

CellSet 结构:

查询MDX:

SELECT  
NON EMPTY {{  {{ {{ {{  {{ AddCalculatedMembers([店铺.店铺ID].[店铺ID].Members)}}  }} }} }}  
 }}  
DIMENSION PROPERTIES MEMBER_TYPE
, [店铺.店铺ID].[店铺ID].[国家], [店铺.店铺ID].[店铺ID].[区域], 
[店铺.店铺ID].[店铺ID].[省份], [店铺.店铺ID].[店铺ID].[店铺名称]

 ON ROWS ,
  {{   [Measures].[终端销售数量],[measures].[终端销售生意额],[measures].[终端销售吊牌额]
       }}

   ON COLUMNS
FROM [RegentCube] 
 where  [日期].[年周].[].&[2015].[第01周]

 

C#遍历:

    int pos = 0;
        foreach (Position py in cellSet.Axes[1].Positions)
        {
            dr = dt.NewRow();

            //维度描述列数据
            int cols = 0;
            for (int i = 0; i < py.Members.Count; i++)
            {
                if (i == 0)
                {
                    for (int w = 1; w < py.Members[0].MemberProperties.Count; w++)
                    {
                        dr[cols] = py.Members[0].MemberProperties[w].Value;
                        cols++;
                    }
                }
                else
                {
                    dr[cols] = py.Members[i].Caption;
                    cols++;
                }
            }

            //数据列
            for (int x = 1; x <= cellSet.Axes[0].Positions.Count; x++)
            {
                dr[x + cols - 1] = cellSet[pos++].Value;
            }
            dt.Rows.Add(dr);
        }
      var  model = dt.AsEnumerable().Select(r => new
        {
            销售数 = string.IsNullOrWhiteSpace(r["终端销售数量"].ToString()) ? 0 : Convert.ToInt32(r["终端销售数量"]),
            生意额 = string.IsNullOrWhiteSpace(r["终端销售生意额"].ToString()) ? 0 : Convert.ToDouble(r["终端销售生意额"]),
            吊牌额 = string.IsNullOrWhiteSpace(r["终端销售吊牌额"].ToString()) ? 0 : Convert.ToDouble(r["终端销售吊牌额"]),
            国家 = r["Dimension0"],
            省份 = r["Dimension1"],
            城市 = r["Dimension2"],
            店铺名称 = r["Dimension3"]
        });

 

转载于:https://www.cnblogs.com/ycdx2001/p/4402498.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值