C#中DataTable中的Compute方法使用收集(续)
来源:互联网 发布:大数据对零售业的影响 编辑:程序博客网 时间:2024/05/20 03:42
转载地址:http://www.cnblogs.com/hfliyi/archive/2013/01/08/2851944.html
项目中遇到计算平均值、标准偏差、平均值+标准偏差、平均值+2倍标准偏差、平均值+3倍标准偏差、平均值-标准偏差、平均值-2倍标准偏差、平均值-3倍标准偏差,要求提取出共用的方法(数据源可以是excel、csv、文本文件等),为此,想到取出数据再计算相应内容.
public object Compute(string expression,string filter)
- expression:要计算的表达式,参数需要时聚合函数。
- filter:要限制在表达式中进行计算的行的筛选器
- object:计算结果
- 举例如下:
1 using (OracleConnection con = new OracleConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString())) 2 { 3 con.Open(); 4 OracleCommand cmd = con.CreateCommand(); 5 cmd.CommandText = "SELECT * FROM EMP"; 6 OracleDataAdapter oda = new OracleDataAdapter(cmd); 7 DataSet ds = new DataSet(); 8 oda.Fill(ds); 9 DataTable dt = ds.Tables[0];10 //求和11 string sum = Math.Round(Convert.ToDouble(dt.Compute("sum(sal)", "")), 2).ToString();12 //求平均13 string avg = Math.Round(Convert.ToDouble(dt.Compute("avg(sal)", "")), 2).ToString();14 //具有筛选条件 求和15 string sumFilter = Math.Round(Convert.ToDouble(dt.Compute("sum(sal)", "SAL<3000")), 2).ToString();16 //具有筛选条件 求平均17 string avgFilter = Math.Round(Convert.ToDouble(dt.Compute("avg(sal)", "SAL<3000")), 2).ToString();18 //标准偏差19 string stDev = Math.Round(Convert.ToDouble(dt.Compute("stdev(sal)", "")), 2).ToString();20 //具有筛选条件标准偏差21 string stDevFilter = Math.Round(Convert.ToDouble(dt.Compute("stdev(sal)", "sal<3000")), 2).ToString();22 //最小值23 string min = dt.Compute("min(sal)", "").ToString();24 //具有筛选条件的最小值25 string minFiter = dt.Compute("min(sal)", "sal<3000").ToString();26 //平均值+标准偏差27 string avgStDev = Math.Round(Convert.ToDouble(dt.Compute("avg(sal)+stdev(sal)", "")), 2).ToString();28 dt.Columns.Add("cl", typeof(string),"len(ename)");29 StringBuilder sb = new StringBuilder();30 sb.Append("求和:" + sum + "<br/>");31 sb.Append("求平均:" + avg + "<br/>");32 sb.Append("标准偏差:" + stDev + "<br/>");33 sb.Append("最小值:" + min + "<br/>");34 sb.Append("具有筛选条件求和:"+sumFilter+"<br/>");35 sb.Append("具有筛选条件求平均:"+avgFilter+"<br/>");36 sb.Append("具有筛选条件标准偏差:"+stDevFilter+"<br/>");37 sb.Append("具有筛选条件的最小值:"+minFiter+"<br/>");38 sb.Append("平均值+标准偏差:"+avgStDev+"<br/>");39 lbShow.Text = sb.ToString();40 }
0 0
- C#中DataTable中的Compute方法使用收集(续)
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用
- 使用DataTable.Compute方法
- DataTable.Compute方法使用实例
- DataTable.Compute方法使用实例
- C# DataTable中Compute方法用法集锦(数值/字符串/运算符/表等操作)(转载)
- DataTable.Compute 方法
- DataTable.Compute 方法
- DataTable.Compute()方法学习
- [C#]DataTable使用过程中常用的Select、Find和Compute方法
- [C#]DataTable使用过程中常用的Select、Find和Compute方法
- DataTable.Compute()方法學習
- Android SDK各个版本API的特性及兼容性
- servlet客户端http请求及响应及httpservletrequest,httpservletresponse详解
- Oracle11.2新特性之INSERT提示IGNORE_ROW_ON_DUPKEY_INDEX
- Linux关机与重启命令
- 曾想亲手解析未知化合物晶体结构
- C#中DataTable中的Compute方法使用收集(续)
- 利用xampp搭建Yii1.1.17
- 关系型数据库&&非关系型数据库
- 二叉树的深度
- JetBrains发布DataGrip 1.0——数据库与SQL领域中的瑞士军刀
- 再学习---Android相对布局(RelativeLayout)
- 唯爱小粽子:Mac下Nginx启动、重启和关闭
- 活动模块UIWebView
- JSONArray的应用