Power Platform
数据驱动的业务流程低代码自动化设计与功能实现系列软件
所有的功能都围绕数据展开, 以数据为中心点, 出发点是数据, 终点也是数据
Power Platform 组成:
- Power Apps: 表单收集 & 业务内容
- Power Automate: 流程自动化、后台运行
- 桌面(RPA)
- 云端
- 即时(手动)
- 自动化(事件监听)
- 定时
- Power BI:报表 & 数据分析
- Power Pages: 网站绘制
- 3rd part Database: 自选 可集成的数据库(Share Points)
简单的Apps页面流程:
- 梳理业务逻辑的需要
- SharePoints表 & 对应的App表
- 构建UI与前端逻辑
- 联通应用(Apps & Automate & SharfePoints)->(Frontend & Backend & Databas)
一个简单的工作流
- 需求理解与沟通
- 创建Solution以及apps
- 配置数据源与流程
- 功能完善
- 部署
- 测试
常用Power Fx语法 匹配: in exactin this: ThisItem alias: as 流程控制:
- If(Value(label.text) >= 0, Color.Blue, Color.Red)
按钮事件 / 路由
- 跳转 Navigate / 返回 Back()
- 信号控制 Enable() / Disable()
- 数据源操作 Refresh Update UpdateIf Patch Remove RemoveIf
- 变量更新 UpdateContext
- 集合操作 Collect Clear ClearCollect
hooks
- OnVisible / OnHidden
- OnSelect(等同于onclick)
variable 类型
- Global Variable
- Set
- Context Variable (Only in powerapps)
- 设置全局变量 Set(name, value)
Persistence
- 云端: Patch Collect
- 本地: SaveData
控件引用
- 绝对引用: FullName.xxx
- 当前控件: Self
- 父控件: Parent
逻辑名称(logical name)与显示名称(display name)
- 一般使用display name, logical name为自动生成的uid
MS Power Fx: 画布应用公式语言
常用控件
- Label
- text label内的文本
数据类型
- Blank
- 所有数据类型都支持Blank
- Set(x, Blank())
- IsBlank()
- Coalesce() 转换为非空白值
- 文本
- 可以为字面量
- 输出中显示双引号: Notify("this is ""quote""")
- 插值语法:
- 基础使用: $"xxx{}xxx{}xxx"
- 可进行运算: $"(Trim({a} {b} {c}))"
- boolean
- currency
- color
- date / datetime
- decimal
- GUID (全局唯一标识符)
- hyperlink
- image
- Image属性: 接受内置资源 Web链接 URI内联
- media
- Number / Float
- 类型转换:
- Decimal: Value()
- Float: Float()
- 文本: Text()
- 类型转换:
- Option
- Record
- Record Reference
- Table
- 使用:
- Table({value:'xxx'}, {value: 'xxx'})
- AddColumns()
- RenameColumns()
- ShowColumns()
- DropColumns()
- 组成:
- Record
- Column
- Field
- Column Name
- 聚合函数
- Average
- Max / Min
- Sum
- StdevP / VarP
- Filter Filter(Products, 'quantityA' > 'quantityB')
- Lookup Lookup(TableA, TableAIdColumn="1" && LanguageTag=Left(Language(),2).LocalizedText
- Concat / Distinct
- ForAll
- Sort
- With
- 使用:
- Send Text(发短信)
- Time (无日期)
- 双选
- 非类型化对象
消除歧义(@)
- 嵌套作用域
- 全局值
容错处理 情况
- 网络问题
- 输入问题
- 存储问题
函数
- IfError(condition, then action)
- IsError
- IsErrorOrBlank
- App.OnError
- AllErrors
抛出错误: Error(AllErrors)
具体错误: 见文档枚举值
连接符(😉