Project Siena - 函数

Project Siena内置了很多函数,帮助我们实现常规操作,其中

  1. 绝对值
    Abs(Number)
    Abs(ColumnExpression)
    如:
    Abs(-12) = 12
  2. 逻辑与
    And(LogicalExpression1[, LogicalExpression2, ...])
    如:
    And(3>1,3>2,3>3) = false
  3. 平均值
    Average(Table, Expression)
    Average(Expression1[, Expression2, …])
    如:
    Average(Sales,CostPerUnit * UnitsSold),Average(1,2,3,4)= 2.5
  4. 将数字转换成ASCII编码的字符
    Char(Number)
    如:
    Char(97) = ‘a‘
  5. 清空集合
    Clear(Collection)
  6. 创建集合
    Collect(CollectionName, Item1[, Item2,...])
    如:
    Collect(CollectionName,TableName)
    Collect(CollectionName,TableName!ColumnName)
    Collect(Products, "violins", "trombones", "bongos")
    Collect(CollectionName,ControlName1!Value,ControlName2!Value,ControlNameN!Value)
    Collect(OrderHistory, {Products:Product!Text, Quantities:Quantity!Text})
  7. 颜色淡出
    ColorFade(Color, FadeDelta)
    如:
    ColorFade(Color!DarkRed,0.5)
  8. 字符串转颜色
    ColorValue(ColorText)

    如:
    ColorValue(TextMessage!Text)
  9. 拼接字符串
    Concatenate(Text1[, Text2, ...])
    Concatenate(ColumnExpression1[, ColumnExpression2, ...])
    如:
    Concatenate("By ", AuthorName!Text)
    Concatenate(Employees!FirstName, " ", Employees!LastName)
  10. 计数(注意:按照某一列进行计数)
    Count
    (Column)
    如:
    Count(Value(OrderHistory!Quantities))
  11. 非空计数
    CountA
    (Column)
  12. 条件计数
    CountIf
    (Table, Expression)
    如:
    CountIf(Employees, Salary > 100000)
  13. 行号
    CountRows
    (Table)
    如:
    CountRows(Employees)
  14. 获取日期
    Date
    (Year, Month, Day)
    如:
    Date(2015,03,15)
  15. 添加日期
    DateAdd
    (Date, NumberOfUnits[, Units])
    如:
    DateAdd(Now(), 3)
    DateAdd(Today(), 1, Days)
    DateAdd(Today(), 1, Months)
  16. 时间间隔
    DateDiff
    (StartDate, EndDate[, Units])
    如:
    DateDiff(Now(), 1/1/2014)
    DateDiff(Now(), 1/1/2014, Months)
  17. 格式化时间
    DateTimeValue (DateTimeText, "LanguageCode")
    如:
    Text(DateTimeValue(Start!Text), DateTimeFormat!LongDateTime)
    Text(DateTimeValue(Start!Text, "fr"), DateTimeFormat!LongDateTime)
    Text(DateTimeValue(Start!Text), "dddd, mmmm dd, yyyy hh:mm:ss:ff AM/PM")
  18. 字符串转日期格式
    DateValue (
    DateText, "LanguageCode")
    如:
    Text(DateValue(Startdate!Text), DateTimeFormat!LongDate)
    DateDiff(DateValue(Startdate!Text), Today())
  19. 获取日期
    Day(DateTime)
  20. 获取小时
    Hour(DateTime)
  21. 禁用功能
    Disable
    (Signal)
    如:
    Disable(Location)
  22. 启用功能
    Enable(Signal)
    如:
    Enable(Location)
  23. 消除冗余项
    Distinct(Table, Expression)
    如:
    Distinct(Employees, Department)
  24. 删除某列
    DropColumns(Table, Column1[, Column2, …])
    如:
    DropColumns(Employees, "FirstName", "LastName", "Address")
  25. 添加某列
    AddColumns(Table, Column1, Expression1[, Column2, Expression2, ...])
    如:
    Collect(Items,AddColumns(Sales,"TotalPrice",UnitsSold*UnitsSold))
  26. URL地址编码
    EncodeUrl
    (Text)
    如:
    EncodeUrl("‘http://example/page/url.aspx") = %27http%3A%2F%2Fexample%2Fpage%2Furl.aspx
  27. 过滤数据
    Filter
    (Table, Condition1[, Condition2, ...])
    如:
    Filter(Employees, Salary > 100000)
  28. 查找文本
    Find(FindText, WithinText[, StartNum])
    如:
    Find("me", "time") = 3
    Find("my", "time") = nothing
    Find("in", "Honorificabilitudinitatibus", 4) = 18
    Find("in", "Honorificabilitudinitatibus", 19) = nothing
  29. 返回集合中第一个元素
    First(Table)
  30. 返回指定数量的行数
    FirstN(Table[, NumRows])
    如:
    FirstN(Employees, 10)
  31. 根据#返回hashtable
    HashTags(Text)
    如:
    字符串:This #app is #AMAZING and can #coUnt123 or #123abc but not #1-23 or #$*(#@")
    HashTags(字符串) =
    • #app
    • #AMAZING
    • #coUnt123
    • #123abc
    • #1
  32. 分支选择
    If(Condition1, Result1[, Condition2, Result2, ConditionN, ResultN, DefaultResult])
    如:
    If(MyShare!Value + YourShare!Value < 100, "Not enough", MyShare!Value + YourShare!Value > 100, "Too much", "Just right")
    If(Value(ThisItem!Quantities) < 5, "Order more!")
  33. 空白判断
    IsBlank(Expression)
    如:
    If(IsBlank(Quantity!Text), "Please add a quantity.")
  34. 集合为空
    IsEmpty(Source)
    如:
    IsEmpty(Employees)
  35. 获取本地语言
    Language()
    如:
    Language() = en-US
  36. 获取集合最后一个对象
    Last(Table)
    如:
    Last(Employees)
  37. 获取指定数量的后几条记录
    LastN(Table[, NumRows])
    如:
    LastN(Employees, 15)
  38. 跳转地址
    Launch(Hyperlink)
    如:
    Launch("http://www.bing.com")
  39. 左截取
    Left(Text, NumChars)
    Left(ColumnExpression, NumericExpression)
    如:
    Left(PhoneNumber!Text, 3)
    Left(ThisItem!Products, 3)
  40. 获取文本长度
    Len(Text)
    Len(ColumnExpression)
    如:
    Len(Password!Text)
  41. 加载数据
    LoadData(Collection, Filename)
    如:
    LoadData(OrderHistory, "SavedOrders")
  42. 在表中条件查询
    LookUp(Table, Condition, Expression)
    如:
    LookUp(Employees, FirstName = "John" && LastName = "Smith", Salary)
  43. 转小写
    Lower(Text)
    Lower(ColumnExpression)
    如:
    Lower(Poetry!Text)
    Lower(ThisItem!Product)
  44. 获取最大值
    Max(Table, Expression)
    Max(Expression1[, Expression2, ...])
    如:
    Max(Sales, CostPerUnit * UnitsSold)
    Max(Slider1!Value, Slider2!Value, Slider3!Value)
  45. 截取字符串
    Mid(Text, StartPosition, NumChars)
    Mid(TextColumn, StartPositions, NumChars)
    如:
    Mid(PhoneNumber!Text, 3, 3)
    Mid(ThisItem!Product, 4, 3)
  46. 获取最小值
    Min(Table, Expression)
    Min(Expression1[, Expression2, ...])
    如:
    Min(Sales, CostPerUnit * UnitsSold)
    Min(Slider1!Value, Slider2!Value, Slider3!Value)
  47. 获取分钟
    Minute(DateTime)
    如:
    Minute(TimeValue(EventTime!Text))
  48. 获取月份
    Month(DateTime)
    如:
    Month(DateValue("03/17/1979"))
  49. 场景跳转
    Navigate(TargetScreen, Animation[, Context])
    如:
    Navigate(DetailView, ScreenTransition!Fade, {source: "Ravens"})
    Navigate(DetailView, ScreenTransition!Fade)
    Navigate(DetailView, "")
  50. 取反
    Not(BooleanExpression)
    如:
    Not(RadioButton1!Selected)
  51. 获取当前时间
    Now()
    如:
    Text(Now(), "mm/dd/yyyy hh:mm:ss:ff")
  52. 逻辑或
    Or(LogicalExpression1[, LogicalExpression2, ...])
    如:
    Or(Slider1!Value < 50, Slider1!Value> 100)
    Or(Dept = HR, Salary >= 200000)
  53. 返回纯文本
    PlainText(TextWithTags)
    如:
    PlainText(ThisItem!description)
  54. 首字母大写
    Proper(Text)
    Proper(ColumnExpression)
  55. 获取随机数
    Rand()
  56. 刷新数据源
    Refresh(ServiceDataSource)
  57. 移除数据源
    Remove(Collection, Record1[, Record2, ..., All])
    Remove(Collection, Table[, All])
    如:
    Remove(OrderHistory, ThisItem)
  58. 根据条件移除数据源
    RemoveIf(Collection, Condition1[, Condition2 ...])
    如:
    RemoveIf(Cart, Price > 200)
  59. 文本替换
    Replace(Text, StartIndex, Count, NewText)
    Replace(Column, StartIndex, Count, NewText)
    如:
    Replace("ABCDEFG", 3, 2, "X") = ABXEFG
  60. 返回颜色
    RGBA(Red, Green, Blue, Alpha)
    如:
    RGBA(255, 127, 39, 1)
  61. 右截取
    Right(Text, NumChars)
    Right(ColumnExpression, NumericExpression)
    如:
    Right("ABCDE", 4)
  62. 四舍五入
    Round(Number, DecimalPlaces)
    Round(Column, DecimalPlaces)
  63. 向下取整
    RoundDown(Number, DecimalPlaces)
    RoundDown(Column, DecimalPlaces)
    如:
    RoundDown(23.54, 0) = 23
  64. 向上取整
    RoundUp(Number, DecimalPlaces)
    RoundUp(Column, DecimalPlaces)
    如:
    RoundUp(23.44, 1) = 23.5
  65. 保存数据
    SaveData(Collection, FileName)
    如:
    Collect(OrderHistory, {Products:Product!Text, Quantities:Quantity!Text});
    SaveData(OrderHistory, "SavedOrders")
  66. 获取秒
    Second(DateTime)
    如:
    Second(TimeValue(EventTime!Text))
  67. 重新排列集合
    Shuffle(Collection)
    如:
    Shuffle(Deck)
  68. 排序集合
    Sort(Table, Expression[, SortOrder!Descending])
    如:
    Sort(Employees, Salary, SortOrder!Descending)
  69. 平方根
    Sqrt(Number)
    Sqrt(ColumnExpression1)
    如:
    Sqrt(2) = 1.414
  70. 标准方差
    StdevP(Table,Expression)
    StdevP(Expression1[,Expression2, ...])
  71. 字符串替换
    Substitute(Text, OldText, NewText[,InstanceNum])
    Substitute(TextColumn, OldTextColumn, NewTextColumn[, InstanceNumColumn])
    如:
    Substitute(Text1!Text, " & ", " and ")
  72. 求和
    Sum(Table, Expression)
    Sum(Expression1[, Expression2, ...])
  73. 格式化文本
    Text(Value, Format)
    如:
    Text(Value(Source!Text), "$#.##") = $56.75
    Text(Value(Source!Text), "#.##%") = 56.75%
    Text(DateValue(Source!Text), "mmm dd, yyyy") = May 18, 1969
    Text(TimeValue(Source!Text), "hh:mm:ss") = 2:20:30 PM
  74. 获取时间
    Time(Hour, Minute, Second)
    如:
    Text(Time(Value(BirthHour!Text), Value(BirthMinute!Text), Value(BirthSecond!Text)), "hh:mm:ss a/p")
  75. 字符串转时间
    TimeValue(TimeText)
    TimeValue(TimeText, "LanguageCode")
    如:
    If(TimeValue(FinishedAt!Text)<TimeValue("5:00:00.000 PM"), "You made it!", "Too late!")
  76. 获取今天的日期(不包含时分秒)
    Today()
    如:
    Text(Today(), "mm/dd/yyyy")
  77. 截取多余空格
    Trim(Text)
    Trim(ColumnExpression)
    如:
    Trim(Slogan!Text)
  78. 更新数据
    Update(Collection, Record1, Record2[, "All"])
    如:
    Update(OrderHistory, {Products:OldValue!Text}, {Products:NewValue!Text}, All)
  79. 更新上下文
    UpdateContext({Name1: Expression1, Name2: Expression2, …})
    如:
    UpdateContext({page: 5, displayItem: "Tablets"})
  80. 满足条件时更新集合
    UpdateIf(Collection, Condition1, {Column1: Expression1, …}[, Condition2, {Column1: Expression2, …} …])
    如:
    UpdateIf(ShoppingCart, Price > 200, {NumItems: 0})
  81. 转大写
    Upper(Text)
    Upper(ColumnExpression)
  82. 字符串转数字
    Value(Text)
  83. 获取方差
    VarP(Table, Expression)
    VarP(Expression1[, Expression2, ...])
    如:
    VarP(Sales, CostPerUnit * UnitsSold)
  84. 获取年
    Year(DateTime)
时间: 2024-11-01 20:56:34

Project Siena - 函数的相关文章

Microsoft Project Siena - 创建第一个Project Siena项目

Project Siena是来自微软Win8应用,用于快速创建Win8应用程序,而不需要编写代码(当然并不是和微软宣传的那样无需编写任何代码,如果有编码经验的话会更好) 通过这个例子(来自官方),了解Project Siena的开发模式和流程. 首先,在Windows应用程序中,下载并安装Project Siena应用程序. 接下来,在本地计算机中,打开Project Siena程序(第一次打开,有个视频教程,可以直接跳过) 首先保存项目,使用CTL+S,存放在本地路径一个后缀(.siena)的

Project Siena - 添加数据

创建自定义集合:Collection 使用Collection函数创建集合: Collection(items,1,2,3) Colelction(items,"A","B","C") Collection(items,{name:"A",value:1},{name:"B",value:2},{name:"C",value:3}) 创建Excel工作薄,保存数据 Id Title Au

Project Siena - 集合管理

通过控件和Collection()函数添加自定义集合 在按钮OnSelect属性编写函数: Collect(items,{name:TextName!Text,price:Value(TextPrice!Text)}) 将两个文本框的值添加到集合items中. 在Gallery中绑定集合items,其中LabelName绑定name,LabelPrice绑定price 显示效果如下: 通过一个集合创建另一个集合 创建界面如下 在按钮OnSelect属性编写函数:Collect(booklist,

Project Siena - 变量作用域

分为3中: 全局作用域(Global Scope)整个应用程序内均可以访问的变量,在不同场景(Screen)中依然有效 行内作用域(Row Scope)简单的来说,在Filter()或者CountIf()等过滤判断函数中,变量仅仅针对当前函数内有效,比如Filter(T1, A < CountIf(T2, A + B = 0)),在这里,A和B变量只能来自于T2,如果想在CountIf()函数中获取T1的数据来用于判断,可以写成下面的方式:Filter(T1, T1[@A] < CountIf

Project Siena - 表达式

常见表达式 优先级:() 如: (1+2)*3 = 9 算术: + - * / ^(次方) %(百分比) 如: 12+3 = 15 12-3 = 9 12*3 = 36 12/3 = 4 12% = 0.12 2^3 = 8 逻辑: = > >= < <= <> 如: 12>3 = true 12=3 = false 3>=3 = true 12<12 = false 3<=3 = true 12<>3 = true 拼接: &

Project Siena - 控件

Audio:播放音频(IE支持的格式) 首先在数据中添加媒体音频文件,在Audio控件的Media属性中就可以指定 Button:按钮 OnSelect属性 Camera:摄像头 Camera!Photo属性用于获取截取的图像 Chart:统计图表 分为柱状图.曲线图和饼图,通过Items属性配置数据源 CheckBox:复选框 通过Value属性获取值 DropDown:下拉框 通过Items属性配置数据源 Export:导出数据 通过Items属性绑定集合,直接导出ZIP格式数据 Galle

Peoject Siena - 创建Win8应用实例

开启Project Siena程序,创建新的App应用,将主窗体(场景)命名ScreenMain,保存项目为MyAddress. 分别创建ScreenAddress.ScreenAddress和ScreenReport三个场景,用于浏览RSS,添加新的通讯录以及好友分类统计,ScreenMain则是查看所有好友信息的场景. 在ScreenMain场景添加3个形状控件(Circle),分别在OnSelect属性上配置导航Navigation,跳转至其它3个场景. Navigate(ScreenRe

vs2010 编译多个project问题

使用VS2010 编译从vc6.0复制过来的原project文件源代码.提示错误非常多.感觉无从下手.非常多原始的函数和API參数都提示类型 错误或者不兼容. 百度一下.第一个问题: vc6.0使用ASIIC字符.而VS2010默认选项使用unicode. 在project上面右键属性,把默认字符集改动为 "No Set",例如以下图所看到的 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXljb29sbWU1/font/5a6L5L2T/

重新组织函数--《重构》阅读笔记

1)寻找引用点时,最好使用工具,然后再人工review.在看到这个问题的时候,我估计应该是很久之前了.现在用IDE.这个要方便很多. 2)重新组织函数的方法和目标. 其实目标很简单.就是消灭长函数. 常用方法 Extract method Inline Method Replace Temp with Query Temporary Variable Replace Method with Method Object Remove Assignments to Parameters Substi