Table.AggregateTableColumn()可以抽象地概括为function(table as table, column as text, aggregations as list) as table,意思为该函数的第一个参数为表格,第二个参数需要通过文本指定第一参数中数据类型为表格的[......]
作者: 螺旋矛盾
Table.Transpose()
Table.Transpose()可以抽象地概括为function(table as table, optional columns as any) as table, 意思为该函数的第一个参数为需要行列转置的表格,第二个参数是可选的而且可以为任意种类的变量(主要用于控制行列转置后的列名称与数据种类[......]
通过List.Transform(Many())实现行列互换
除了Table.Transpose()与List.Zip()能够完成行列互换,List.TransformMany()也可实现这一动作,不过代码相对没有那么简洁。
如果需要为上表添加行加总与列加总,使之转化为:
需要定义以下fnAddSum()函数:
该函数通过List[......]
Table.ColumnsOfType()
Table.ColumnsOfType()可以抽象地概括为function(table as table, listOfTypes as list) as list, 大致上可以理解为该函数的第一个参数为表格,第二个参数是元素为数据类型常数的基本串列,第一个参数所有的数据类型为第二参数指定的类型之一[......]
Table.RemoveMatchingRows()
Table.RemoveMatchingRows()可以抽象地概括为function(table, rows as list, optional equationCriteria as any) as table, 意思为该函数的第一个参数为表格,第二参数为串列套记录({[]..[]})形式的复合串[......]
考虑假期的区间匹配
假设今天是2020-01-24,现在有一份记录了从2020-01-25开始到2020-12-31结束的到期货款的表格(BalAmt表格):
需要设计出以下用于对上表的时间进行区间匹配的参数表(ParaTable表格):
以上参数的设计需要考虑假期,除了周日,以下日期也纳入假日的定[......]
Table.SingleRow()
Table.SingleRow()可以抽象地概括为function(table as table) as record,意思为如果作为参数的表格只有一行,该函数会使这个表格退化为记录。这个函数主要用于检测多对一模型的多边(many side)是否仅对应一边(one side)的一行(如果不是,这个模[......]
Table.TransformRows()
Table.TransformRows()可以抽象地概括为function(table as table, transform as function) as list,大意为:该函数的第一个参数为表格,第一个参数按行分解所得的记录将会作为自变量传入第二个参数指定的函数,指定函数的结果会按照行的顺序[......]
与销售额挂钩的薪酬计算
假设业务员的薪酬与其销售额挂钩,计算薪酬时需要把销售额按如下表格(Info1)划分为多个区间,处在不同区间的销售额的提成率也会发生变化:
现在需要根据以下十位员工的销售额(Info2表格)算出对应的薪酬:
以员工6为例,薪酬的计算过程为
0.03*(36,000 - 0)0[......]
Record.FieldValues()
Record.FieldValues()可以抽象地概括为function(record as record) as list,意思为这个函数仅有一个参数,这个参数的种类只能为记录(record),由这个函数产生的结果为串列(list)。简单来说,Record.FieldValues()会移除作为自变[......]