CellSet 遍历
生活随笔
收集整理的這篇文章主要介紹了
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
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的CellSet 遍历的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ajax 生成流文件下载 以及复选框的实
- 下一篇: 对交换机VLAN及各种端口类型的理解