自定义计算公式语言是基于VB和可扩展LINQ。你可以在任何时候写下你的公式LINQ如果你不能够执行你的计算与预定义的功能。
下面是一些有用的LINQ表达式的列表。这不是详尽的。请参阅微软Visual basic LINQ文档以了解更多的细节。
推荐链接:
过滤器的原理是根据一个谓词过滤一个给定的项目列表。应用过滤器,您需要:
一个列表过滤
一个谓词(函数列表项,返回一个布尔)
结果是一个新的输入列表的项目列表。
新列表中的条目的数量小于输入列表。 |
语法:
InputList.Where(函数(x)谓词)
地点:调用过滤器吗
功能:编写谓词
例子:
CurrentSignal.AllPeaks.Where(函数(p) p.Peak_Area > 1.2和p.Peak_Height < 1000)返回一个列表的峰面积大于1.2,高度低于1000。
你可以在公式中使用这个列表的总和所有山峰的地区列表中:
Sum (“Peak_Area CurrentSignal.AllPeaks.Where(函数(p) p.Peak_Area > 1.2和p.Peak_Height < 1000))
投影的原理是创建一个列表从给定的物品通过将每一个项目。应用投影,你需要:
将列表
一个投影函数(函数列表项,返回一个新项)
长度相同的结果是一个新的列表作为输入列表。项类型可以是不同的! |
语法:
InputList.Select(函数(x)投影)
选择:调用转换
功能:编写投影函数
例子:
CurrentSignal.AllPeaks.Select(函数(p) p.Peak_Area)返回一个列表Peak_Area值从山峰的列表。
然后你可以做之和:CurrentSignal.AllPeaks.Select(函数(p) p.Peak_Area) .Sum ()
注意,这是相当于预定义的自定义计算函数Sum (“Peak_Area CurrentSignal.AllPeaks)。
总原则是计算一个值从一个列表。应用聚合,你需要:
InputList.Select(函数(x)投影)
一个列表聚合
一个累积函数(函数聚合和当前项目)
集料的初始值
结果是一个独特的聚合值。聚合值的类型可以是不同的项目类型。 |
语法:
InputList。总(initial value,Function(acc,x) accumulation)
总:调用聚合
功能:编写积累函数
例子:
(CurrentSignal.AllPeaks.Select(函数(p) p.Peak_Area))。总(" "、功能(acc, x) acc +”;“x)返回列表的所有山峰区域分离”;”。
注意,这相当于一个VB功能:字符串。加入(”;”,CurrentSignal.AllPeaks.Select(函数(p) p.Peak_Area))。
(CurrentSignal.AllPeaks.Select(函数(p) p.Peak_Area) .Aggregate(0.0,函数(acc, x) acc + x)返回峰面积之和。
注意,它相当于预定义的自定义计算函数Sum (“Peak_Area CurrentSignal.AllPeaks)。