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 [日期].[年周].[年].&[].[第01周]

C#遍历:

    int pos = ;
foreach (Position py in cellSet.Axes[].Positions)
{
dr = dt.NewRow(); //维度描述列数据
int cols = ;
for (int i = ; i < py.Members.Count; i++)
{
if (i == )
{
for (int w = ; w < py.Members[].MemberProperties.Count; w++)
{
dr[cols] = py.Members[].MemberProperties[w].Value;
cols++;
}
}
else
{
dr[cols] = py.Members[i].Caption;
cols++;
}
} //数据列
for (int x = ; x <= cellSet.Axes[].Positions.Count; x++)
{
dr[x + cols - ] = cellSet[pos++].Value;
}
dt.Rows.Add(dr);
}
var model = dt.AsEnumerable().Select(r => new
{
销售数 = string.IsNullOrWhiteSpace(r["终端销售数量"].ToString()) ? : Convert.ToInt32(r["终端销售数量"]),
生意额 = string.IsNullOrWhiteSpace(r["终端销售生意额"].ToString()) ? : Convert.ToDouble(r["终端销售生意额"]),
吊牌额 = string.IsNullOrWhiteSpace(r["终端销售吊牌额"].ToString()) ? : Convert.ToDouble(r["终端销售吊牌额"]),
国家 = r["Dimension0"],
省份 = r["Dimension1"],
城市 = r["Dimension2"],
店铺名称 = r["Dimension3"]
});

CellSet 遍历的更多相关文章

  1. PHP中遍历XML之SimpleXML

    简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...

  2. 邻接表的广度优先遍历(java版)

    到 0 的权是 91 到 2 的权是 31 到 3 的权是 61 到 4 的权是 7 2 到 0 的权是 22 到 3 的权是 5 3 到 0 的权是 33 到 4 的权是 1 4 到 2 的权是 2 ...

  3. 邻接矩阵的深度优先遍历(java版)

    这是一个有向边带权的图 顶点数组:[v0, v1, v2, v3, v4] 边数组: v0 v1 v2 v3 v4 v0 6 v1 9 3 v2 2 5 v3 1 v4 package com.dat ...

  4. 二叉树的创建和遍历(C版和java版)

    以这颗树为例:#表示空节点前序遍历(根->左->右)为:ABD##E##C#F## 中序遍历(左->根->右)为:#D#B#E#A#C#F# 后序遍历(左->右-> ...

  5. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  6. 遍历dynamic的方式

    一.遍历ExpandoObject /// <summary> /// 遍历ExpandoObject /// </summary> [TestMethod] public v ...

  7. 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)

    图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次.(连通图与非连通图) 深度优先遍历(DFS): 1.访问指定的起始顶点: 2.若当前访问的顶点的邻接顶点有未被访问的,则 ...

  8. Java 二叉树遍历右视图-LeetCode199

    题目如下: 题目给出的例子不太好,容易让人误解成不断顺着右节点访问就好了,但是题目意思并不是这样. 换成通俗的意思:按层遍历二叉树,输出每层的最右端结点. 这就明白时一道二叉树层序遍历的问题,用一个队 ...

  9. 遍历map的四种方法

    方法一  在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用.注意:for-each循环在Java 5中被引入所以该方法只能应用于j ...

随机推荐

  1. 3D Flip

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片

    javacpp-ffmpeg系列: javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片 javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转 ...

  3. POJ2387(最短路入门)

    Til the Cows Come Home Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 38556   Accepted ...

  4. 反射:newInstance()的使用方式

    通过反射创建新的类示例,有两种方式: Class.newInstance() Constructor.newInstance() 以下对两种调用方式给以比较说明: Class.newInstance( ...

  5. C# FileStream分块读取和保存文件

    一 FileStream分块读取文件 public byte[] GetFileData(string fileName, long startPosition, long length) { byt ...

  6. c++控制台 对齐 域宽

    包含在头文件  iomanip 设置对齐: cout<<setiosflags(ios::xxx); xxx内填参数 left左对齐 right右对齐 setiosflags还有其他选项, ...

  7. matlab新手入门(二)(翻译)

    矩阵和数组 MATLAB是“矩阵实验室”的缩写.虽然其他编程语言大多数一次使用数字,但MATLAB®主要用于整个矩阵和数组.所有MATLAB变量都是多维数组,无论数据类型如何.矩阵是通常用于线性代数的 ...

  8. SPFA算法——最短路径

    粗略讲讲SPFA算法的原理,SPFA算法是1994年西南交通大学段凡丁提出 是一种求单源最短路的算法 算法中需要用到的主要变量 int n;  //表示n个点,从1到n标号 int s,t;  //s ...

  9. 英语学习Start

  10. CLR via C# 第五章学习记录(更新中)

    1.设置全局溢出检查,项目属性->生成->高级->检测运算上溢/下溢 2.局部使用溢出检测 Byte b = ; b = ));// 不检测溢出 checked// 检测溢出代码段 ...