Excel /数学运算/ DataTable行上的表达式 [英] Excel/Mathematical operations/Expression on DataTable Rows

查看:104
本文介绍了Excel /数学运算/ DataTable行上的表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

ckquote class =FQ>

ckquote class="FQ">

Quote:
</div>pre></blockquote>
Expression for Sigma and CpK
Input
DataTable1 --- table1

|Parameter Name| Lower |Upper   |point90      |point10     |point50    |
  Diff_IC[1]   |  1.5  |2.5     |0.1471839    |0.137499005 |0.141139999 |
  Prog_IC[2]   |-10    |10000000|0.148519993  |0.137592003 |0.141236007 |
  Nam_IC[3]    |-64    |64      |0.157493005  |0.117183459 |0.141788006|
  ADCI_N[1 ]   |-0.8   |-0.1    |0.138519993  | 0.117592003|0.142398   |


Output
|Parameter Name| Lower |Upper    |point 90     |point10    |point50  |Sigma       |CpK |
  Diff_IC[1]   |  1.5  |2.5      |0.147183999  |0.137499005|0.141139999 |            |    |
  Prog_IC[2]   |-10    |10000000 |0.148519993  |0.137592003 |0.141236007|            |    |
  Nam_IC[3]    |-64    |64       |0.157493005  |0.117183459|0.141788006|             |    |
  ADCI_N[1 ]   |-0.8   | -0.1    |0.138519993  |0.117592003 |0.142398   |            |    |


Formula:
Sigma = (P90 point-P10 point)/2.56
Cpk =  Minimum|[  (P50 point - Lower) / 3 (sigma), (upper - P50 pint)  / 3 (sigma)]|

推荐答案

DataTable dtDemo =  new DataTable();
dtDemo.columns["Sigma"].readonly = false;
for(int i =0 ; i < dtDemo.rows.count; i++)
{
	dtColumns.rows[i]["Sigma"] = Convert.ToDouble(dtColumns.rows[i]["Upper"]) - Convert.ToDouble(dtColumns.rows[i]["Lower"]);
// here i just given one demo u need to change as per your requirement
}


DataColumn sigma = table1.Columns.Add("Sigma", typeof(double));
DataColumn cpKL = table1.Columns.Add("CpKL", typeof(double));
DataColumn cpKR = table1.Columns.Add("CpKR", typeof(double));
DataColumn cpK = table1.Columns.Add("CpK", typeof(double));


sigma.Expression="(Convert(point90,'System.Double')-Convert(point10,'System.Double'))/2.56";
cpKL.Expression="(Convert(point50,'System.Double')-Convert(LSL,'System.Double'))/(3.0*sigma)";
cpKR.Expression="(Convert(USL,'System.Double')-Convert(point50,'System.Double'))/(3.0*sigma)";
cpK.Expression = "IIF(cpKL < cpKR, cpKL, cpKR)";


这篇关于Excel /数学运算/ DataTable行上的表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆