问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Excel 求助,如何做数据对比分析图

发布网友 发布时间:2022-04-23 06:04

我来回答

5个回答

懂视网 时间:2022-05-02 09:02

获取注释基本原理是调用数据库::fn_listextendedproperty函数,获取扩展属性MS_Description

technet 参考资料:sys.fn_listextendedproperty (Transact-SQL)

一、首先是 PetaPoco.Core.ttinclude

  1、106行原始:

public string SequenceName;
public bool Ignore;

  新建Description字段,这个是表的注释

public string SequenceName;
public bool Ignore;
public string Description;

  2、140行原始:

public string SequenceName;
public bool Ignore;

  新建Description字段,这个是列的注释

public string SequenceName;
public bool Ignore;
public string Description;

  3、517行原始:

foreach (var tbl in result)
{
 tbl.Columns=LoadColumns(tbl);
   
 // Mark the primary key
 string PrimaryKey=GetPK(tbl.Name);
 var pkColumn=tbl.Columns.SingleOrDefault(x=>x.Name.ToLower().Trim()==PrimaryKey.ToLower().Trim());
 if(pkColumn!=null)
 {
 pkColumn.IsPK=true;
 }
}

  修改后,调用函数获取表注释:

foreach (var tbl in result)
{
 using(var cmdDesc=_factory.CreateCommand())
 {
 cmdDesc.Connection = connection;
 cmdDesc.CommandText = TABLE_DESC_SQL;

 DbParameter p = null;

 p = cmdDesc.CreateParameter();
 p.ParameterName = "@schema";
 p.Value = tbl.Schema;
 cmdDesc.Parameters.Add(p);

 p = cmdDesc.CreateParameter();
 p.ParameterName = "@table";
 p.Value = tbl.Name;
 cmdDesc.Parameters.Add(p);

 using (var rdrDesc = cmdDesc.ExecuteReader())
 {
  if (rdrDesc.Read())
  tbl.Description = rdrDesc["value"].ToString();
 }
 }

 tbl.Columns=LoadColumns(tbl);
   
 // Mark the primary key
 string PrimaryKey=GetPK(tbl.Name);
 var pkColumn=tbl.Columns.SingleOrDefault(x=>x.Name.ToLower().Trim()==PrimaryKey.ToLower().Trim());
 if(pkColumn!=null)
 {
 pkColumn.IsPK=true;
 }
}

  4、572行原始,插入新代码,获取每一列的注释(return result 上面):

技术分享

foreach (var col in result)
{
 using (var cmdDesc = _factory.CreateCommand())
 {
 cmdDesc.Connection = _connection;
 cmdDesc.CommandText = COLUMN_DESC_SQL;

 DbParameter pDesc = null;

 pDesc = cmdDesc.CreateParameter();
 pDesc.ParameterName = "@schema";
 pDesc.Value = tbl.Schema;
 cmdDesc.Parameters.Add(pDesc);

 pDesc = cmdDesc.CreateParameter();
 pDesc.ParameterName = "@table";
 pDesc.Value = tbl.Name;
 cmdDesc.Parameters.Add(pDesc);

 pDesc = cmdDesc.CreateParameter();
 pDesc.ParameterName = "@column";
 pDesc.Value = col.Name;
 cmdDesc.Parameters.Add(pDesc);
 using (var rdrDesc = cmdDesc.ExecuteReader())
 {
  if (rdrDesc.Read())
  col.Description = rdrDesc["value"].ToString();
 }
 }
}

  5、672、688行原始,插入新的代码,存储调用函数的sql语句:

技术分享

const string TABLE_DESC_SQL = @"SELECT value FROM ::fn_listextendedproperty(‘MS_Description‘, ‘user‘, @schema, ‘table‘, @table, null, null)";
const string COLUMN_DESC_SQL = @"SELECT value FROM ::fn_listextendedproperty(‘MS_Description‘, ‘user‘, @schema, ‘table‘, @table, ‘column‘, @column)";

至此已经从数据库获取到了注释,下面需要将注释插入到T4模板中!

二、修改PetaPoco.Generator.ttinclude

  1、141行原始:

<#
foreach(Table tbl in from t in tables where !t.Ignore select t)
{
#> 
<# if (string.IsNullOrEmpty(tbl.Schema)) { #>
 [TableName("<#=tbl.Name#>")]
<# } else { #>

  添加表的 Description 注释:

技术分享

<#
foreach(Table tbl in from t in tables where !t.Ignore select t)
{
#>
 /// <summary>
 /// <#=tbl.Description??""#>
 /// </summary> 
<# if (string.IsNullOrEmpty(tbl.Schema)) { #>
 [TableName("<#=tbl.Name#>")]
<# } else { #>

  2、167行原始:

<#
foreach(Column col in from c in tbl.Columns where !c.Ignore select c)
{
 // Column bindings
#>
<# if (TrackModifiedColumns) { #>

  添加列的 Description 注释:

技术分享

<#
foreach(Column col in from c in tbl.Columns where !c.Ignore select c)
{
 // Column bindings
#>
 /// <summary>
 /// <#=col.Description??""#>
 /// </summary>
<# if (TrackModifiedColumns) { #>

这样就改完了,打开database.tt按ctrl+s就能更新获取到的注释了!

另外GetInstance居然不是单例方法,这简直没法忍,果断改掉:

PetaPoco.Generator.ttinclude,38行修改为:

public static <#=RepoName#> GetInstance()
{
 if (_instance!=null)
 return _instance;
  
 if (Factory!=null)
 return Factory.GetInstance();
 //else
 // return new <#=RepoName#>();
 return _instance = new <#=RepoName#>();
}

 

petapoco-SQLServer模型增加注释

标签:comm   需要   val   code   mil   .exe   添加   actor   target   

热心网友 时间:2022-05-02 06:10

1.首先把需要两组或者多组数据录入表格,把数据的字体,格式,大小都编辑为统一的格式。
2.然后点击菜单栏的插入-----图表。
3.然后选择 柱形图, 这是一种常用的图形,一眼就可以看出两组数据的差距。
点击下一步继续。
4.然后点击数据区域后面的箭头,
5.然后框选需要进行对比的数据。
接着进入下一步。
6.接着在图形选项里面做一些简单的编辑,这个按需选择,默认不添加也可以的。
7.最后确定,即可完成。

热心网友 时间:2022-05-02 07:28

选中d列-->点"格式"-->"条件格式:"-->"单元格数值"-->"等于
="√"
-->"格式“-->"数字“-->选绿色-->”确定“-->”添加“-->"单元格数值"-->"等于
="×"
-->"格式“-->"数字“-->选红色-->”确定“,如图:
-->"确定”--》将公式
=if(iserr(find(mid(a2,4,1),b2))+iserr(find(right(a2),c2)),"×","√")
粘贴至d2单元格,对准右下角,光标成“+”状时双击,效果如图:

热心网友 时间:2022-05-02 09:03

利用Rational Rose进行C++代码和数据库结构分析。分析已有的代码其主要的目的就是了解代码结构和数据结构,这些对应到模型图就是类图、数据模型图和组件图(对UML各种模型图的描述见注释③),也就是通过Rational Rose的逆向工程所得到的结果。利用Rational Rose可以进行关系数据库的数据模型设计并导出DDL语言脚本,相反还可以导入已有的DDL脚本生成数据模型以及连接SQLServer, DB2, Oracle等数据库并导入数据库的schema生成数据模型。首先,通过逆向工程,用户已经得到了UML模型或者数据模型的各个组件以及它们之间的关系。

热心网友 时间:2022-05-02 10:54

具体数据格式是怎样的?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
MB和Mb问题,求详细介绍,50分 剁椒姜怎么做好吃 逐渐的"逐"用五笔如何打? "逐渐"用五笔怎么打? 苹果升级后多出个陌生ld 苹果手机怎么登录另外一个ld 和平精英 和平精英加分机制怎么算? 和平精英 和平精英怎样才能提高淘汰分? 和平精英 和平精英淘汰积分怎么涨? 电热水器内胆如何取出 没有对比数据能做对比图么 英语26个字母怎么写? 26个英文字母大写是什么 英文的26个大写字母怎么写? 英文26个字母怎么写 互联网目前引流成本怎么样? 几种常见的引流方法 怎样引流? 引流效果最好最精准的方法 现在实体门店怎么引流获客比较好呢? 现在大家都是怎么引流的? 引流推广有哪些方法 怎么做引流?引流有哪些方法? 请问如何引流?? 现在都是怎么引流的? 目前最好的引流推广方法? 现在流行的引流方式是什么? 引流的办法有哪些? 花呗额度分享在哪里 我看有的朋友支付宝有花呗额度分享,我的支付宝怎么没有这项…? Excel 四组数据,两两堆积对比的柱状图怎么做 如何用THINKCELL做成本对比分析 在BDP,如何制作好看的对比条形图? 数据分析法之对比分析法 两年成绩对比分析表怎么做 如何快速制作动态的GDP历年对比图 怎么在网吧里玩《绝地求生》? 如何快速对比分析本年与历年的营收情况? 绝地求生怎么登陆?去网吧玩,找不到登录器。进去后怎么操作?有中文版... 绝地求生大逃杀怎么在网吧玩 ? 网吧如何打开绝地求生? 怎么在网吧玩steam上的《绝地求生》? 在网吧玩绝地求生,网吧电脑里面有违规辅助软件,结果误封,我真的没有开挂,这种怎么解封啊? 网吧绝地求生玩不了,情况如下,请问怎么解决? 在网吧玩吃鸡有什么需要注意的吗? 网吧里绝地求生为什么点不开? 怎么在网吧安装《绝地求生大逃杀》? 卫生巾包装袋是什么垃圾 酒店卫生间里的卫生袋是干什么用的? 卫生巾包装袋用什么材料做的