当前位置: 首页 > news >正文

Wordpress 商城主题过于臃肿/重庆seo网站运营

Wordpress 商城主题过于臃肿,重庆seo网站运营,满城住房和城乡建设局网站,wordpress下载的主题怎么用答应过的全盘分享,也必承诺到底,此篇PowerBI功能分享的最后一篇,讲述如何导出数据模型的元数据,笔者定义其为模型的数据字典。 此篇对应功能实现出自:第6波-导出PowerbiDesktop模型数据字典https://www.jianshu.com/p/…

答应过的全盘分享,也必承诺到底,此篇PowerBI功能分享的最后一篇,讲述如何导出数据模型的元数据,笔者定义其为模型的数据字典。

此篇对应功能实现出自:第6波-导出PowerbiDesktop模型数据字典https://www.jianshu.com/p/bc26a8dcdfce

关系型数据库有数据字典,分析型数据库更加要有数据字典,DAX建模过程中,若模型的关系复杂,引用的表过多,生成的度量值、计算列过多,单单从PowerBIDeskTop去查看模型关系非常低效。

当然最好的查看方式,在全宇宙里,只能找到Excel了,没有其他敢跟它叫板,所以理所当然地将PowerBIDeskTop模型的元数据,存放到Excel单元格里,结合Excel的排序、筛选、条件格式、单元格格式等友好的操作方式辅助加工查阅模型元数据。

先上代码,同样地此代码也包含了许多Excel的VSTO开发的精髓-使用ListObject对象返回数据。

        public static void OutputDataDic(string cnnString, string dbName, string fileName){string shtName = "数据字典_" + fileName;shtName = shtName.Length > 31 ? shtName.Substring(0, 31) : shtName;Excel.Worksheet wht;try{wht = Common.ExcelApp.ActiveWorkbook.Worksheets[shtName];Common.ExcelApp.DisplayAlerts = false;wht.Delete();Common.ExcelApp.DisplayAlerts = true;}catch (Exception){}wht = Common.ExcelApp.Worksheets.Add();wht.Name = shtName;var vstoSht = Globals.Factory.GetVstoObject(wht);ListObject listMeasures = vstoSht.Controls.AddListObject(vstoSht.Range["A1"], "度量值表_" + fileName);ListObject listDims = vstoSht.Controls.AddListObject(vstoSht.Range["C1"], "维度表_" + fileName);ListObject listRelationShips = vstoSht.Controls.AddListObject(vstoSht.Range["E1"], "关系表_" + fileName);using (AMO.Server server = new AMO.Server()){server.Connect(cnnString);AMO.Database pbidDb = server.Databases[dbName];获取度量值GetMeasuresTable(pbidDb, listMeasures);//获取列字段GetDimsTable(pbidDb, listDims);获取关系GetRelationsTable(pbidDb, listRelationShips);};vstoSht.Activate();}

获取元数据,主要有度量值、维度字段、及表间关系三类元数据。核心代码如下(上方的方法中,最开始是为了访问Sqlserver的SSAS元数据,有区分1200及1100的不同兼容模型版本写了两套代码,因PowerBIDeskTop只会存在1200及以上的兼容模型,故1100的版本已经清除了):

        private static DataSet.DataSet1.MeasuresOfLevel1200DataTable GetMeasuresTableOfLevel1200(AMO.Database tabularDb){TOM.Model model = tabularDb.Model;DataSet.DataSet1.MeasuresOfLevel1200DataTable measuresTable = new DataSet.DataSet1.MeasuresOfLevel1200DataTable();foreach (TOM.Table table in model.Tables){foreach (TOM.Measure measure in table.Measures){DataSet.DataSet1.MeasuresOfLevel1200Row dr = measuresTable.NewMeasuresOfLevel1200Row();dr.Measure = $"[{measure.Name}]";dr.TableName = table.Name;dr.DisplayFolder = measure.DisplayFolder;dr.Description = measure.Description;dr.FormatString = measure.FormatString;dr.MeasureExpression = measure.Expression;dr.Visible = !measure.IsHidden;dr.DataType = measure.DataType.ToString();measuresTable.AddMeasuresOfLevel1200Row(dr);}}return measuresTable;}
 private static DataTable GetDimsTableOfLevel1200(AMO.Database tabularDb){TOM.Model model = tabularDb.Model;DataSet.DataSet1.ColumnNamesDataTable dtColumns = new DataSet.DataSet1.ColumnNamesDataTable();foreach (TOM.Table table in model.Tables){foreach (TOM.Column col in table.Columns){if (!col.Name.Contains("RowNumber")){TOM.CalculatedColumn calCol = col as TOM.CalculatedColumn;DataSet.DataSet1.ColumnNamesRow dr = dtColumns.NewColumnNamesRow();dr.TableName = table.Name;dr.FieldName = col.Name;dr.FieldType = col.DataType.ToString();if (calCol != null){dr.DaxExpression = calCol.Expression;}dr.Description = col.Description;dr.Visible = !col.IsHidden;dtColumns.AddColumnNamesRow(dr);}}}return dtColumns.Cast<DataSet.DataSet1.ColumnNamesRow>().Where(s => !s.TableName.StartsWith("LocalDateTable")).Where(s => !s.TableName.StartsWith("DateTableTemplate")).CopyToDataTable<DataSet.DataSet1.ColumnNamesRow>();}
        private static DataTable GetRelationsTableOfLevel1200(AMO.Database tabularDb){TOM.Model model = tabularDb.Model;DataSet.DataSet1.关系表DataTable dt = new DataSet.DataSet1.关系表DataTable();foreach (TOM.Relationship relationship in model.Relationships){TOM.SingleColumnRelationship singleRelationShip = relationship as TOM.SingleColumnRelationship;DataSet.DataSet1.关系表Row dr = dt.New关系表Row();dr.ToTable = relationship.ToTable.Name;dr.FromTable = relationship.FromTable.Name;dr.IsActive = relationship.IsActive;if (singleRelationShip != null){dr.FromColumn = singleRelationShip.FromColumn.Name;dr.ToColumn = singleRelationShip.ToColumn.Name;dr.FromCardinality = singleRelationShip.FromCardinality.ToString();dr.ToCardinality = singleRelationShip.ToCardinality.ToString();}dt.Add关系表Row(dr);}return dt.Cast<DataSet.DataSet1.关系表Row>().Where(s => !s.ToTable.StartsWith("LocalDateTable")).CopyToDataTable<DataSet.DataSet1.关系表Row>();}

结语

连续四篇高质量开源文章,带大家进走Excel催化剂深水区,国际领先的Excel与PowerBIDeskTop互通互联的高级、极高商业价值的核心代码全放送。

最后再次祝愿PowerBI中国社区越来越好,繁荣发展,更多乐于分享的后来者再接再厉。

技术交流QQ群

QQ群名:Excel催化剂开源讨论群, QQ群号:788145319
Excel催化剂开源讨论群二维码

关于Excel催化剂

Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!

Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!

Excel催化剂插件下载链接:https://pan.baidu.com/s/1Iz2_NZJ8v7C9eqhNjdnP3Q

联系作者

公众号

取名催化剂,因Excel本身的强大,并非所有人能够立马享受到,大部分人还是在被Excel软件所虐的阶段,就是头脑里很清晰想达到的效果,而且高手们也已经实现出来,就是自己怎么弄都弄不出来,或者更糟的是还不知道Excel能够做什么而停留在不断地重复、机械、手工地在做着数据,耗费着无数的青春年华岁月。所以催生了是否可以作为一种媒介,让广大的Excel用户们可以瞬间点燃Excel的爆点,无需苦苦地挣扎地没日没夜的技巧学习、高级复杂函数的烧脑,最终走向了从入门到放弃的道路。

最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任的,外面的世界仍然是一个广阔的世界,Excel只是其中一枚耀眼的明星,还有其他更多同样精彩强大的技术、工具等。*Excel催化剂也将借力这些其他技术,让Excel能够发挥更强大的爆发!

关于Excel催化剂作者

姓名:李伟坚,从事数据分析工作多年(BI方向),一名同样在路上的学习者。
服务过行业:零售特别是鞋服类的零售行业,电商(淘宝、天猫、京东、唯品会)

技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。
历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。

擅长技术领域:Excel等Office家族软件、VBA&VSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。

2018年开始职业生涯作了重大调整,从原来的正职工作,转为自由职业者,暂无固定收入,暂对前面道路不太明朗,苦重新回到正职工作,对Excel催化剂的运营和开发必定受到很大的影响(正职工作时间内不可能维护也不可能随便把工作时间内的成果公布于外,工作外的时间也十分有限,因已而立之年,家庭责任重大)。

和广大拥护者一同期盼:Excel催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。

转载于:https://www.cnblogs.com/ExcelCuiHuaJi/p/11225126.html

http://www.jmfq.cn/news/4748401.html

相关文章:

  • acg wordpress模板/重庆百度整站优化
  • 找方案的网站/seo平台有哪些
  • 网站程序更换/刷粉网站推广马上刷
  • 数码庄园的网站建设公司/哪个浏览器看黄页最快夸克浏览器
  • 什么程序做网站安全/今天最新的新闻头条新闻
  • 贵阳网站微信建设公司/智能网站排名优化
  • 腾讯qq企业邮箱登录入口/青岛seo推广
  • 怎样做类似于优酷的视频网站/百度关键字优化精灵
  • 网站安全测试工具/合肥网站seo整站优化
  • 网站开发运行环境/2024年最新时事新闻
  • 帮人做网站的公司/2345网址导航官网
  • 建材行业网站建设/软文范文200字
  • 网站建设中请期待/手机端关键词排名优化软件
  • 自己做头像网站/seo课程在哪培训好
  • 网站建设需求文档模板下载/网络营销与推广
  • 免费申请一个qq号/seo入门基础知识
  • 石家庄哪里可以做网站/如何在百度发广告推广
  • 西城做网站公司/青岛网站设计公司哪家好
  • 网站首页index.html/培训网络营销的机构
  • 怎样注册一个网站做电商/推广是什么意思
  • 浦东网站建设公司/引擎网站推广法
  • 免费ppt模板下载爱ppt/专业网站优化推广
  • 深圳做网站公司有那些/人民网疫情最新消息
  • 做网站的环境配置/百度竞价排名的使用方法
  • b2b电子商务平台是什么意思/快速排序优化
  • 郑州做网站推广的公司哪家好/接app推广
  • 北京网站设计公司jx成都柚米科技15/河北搜索引擎优化
  • 织里网站建设/网络营销策划书ppt
  • 舟山网大海网/seo站外推广有哪些
  • 网站建设毕业论文/2021年重大新闻事件