一、文本函数集合
文本拆分---Text.split(text,delimiter) text为文本 delimiter是分隔符 Text.split("A/B/C/D","/")
Text.splitany(text,delimiter)这里的delimiter支持多分隔符,举个例子"-|"这样-和|都会被视作是分隔符
文本合并---Text.Combine(list,sign) text list是文本数组 sign是连接符号 Text.combine({"1","2"},"-")
数字转文本---Text.From(text)这里的text是一个数字 Number.From(text)文本转数字
文本转列表---Text.toList(text)这里的text必须是文本
返回文本长度---Text.Length()
从text中从左提取num个---Text.start(text,num)
从text中在中间第start位置取num个---Text.middle(text,start,num)
从text中从右提取num个---Text.End(text,num)
从text中去除format字段匹配的内容Text.remove(text,*format)format可以是"0".."9"表示0-9,"a".."z"表示a到z,"A".."Z"表示A到Z,"一".."龥"表示所有的中文 "<",">"表示移除<>
从text中找出子串出现的位置---TEXT.Positionof(text,char,num) num=0第一次出现的位置 num=1最后一次出现的位置 num=2所有出现的位置list
从text中的num位插入string---Text.insert(text,num,string) 可以与text.LENGTH配合实现插在文本最后
换行符在powerquery中是这样表示的"#(lf)" 文本连接使用&
替换text中从start_num开始的num_char个字符的内容,替换为new_text---TEXT.replacerange(text,start_num,num_char,new_text)
对文本批量加前/后缀---Text.Padstart/Text.Padend(text,num,fill) text如果不满足num那么长就在其前/后添加fill字符作为填充
对text重复n次-Text.repeat(text,n) 与padend,padstart结合很好用,做李克特量表
按照分隔符取内容 参数(text,string,[position]) position表示第几分隔符 如果要从后往前数position这么写{0,relativeposition.fromend} 另外如果使用betweendelimeters string有两个参数
- text.beforedelimiter取分隔符前的内容
- text.afterdelimiter取分隔符之后的内容
- text.betweendelimiters取两个分隔符之间的内容
文本修剪(删除前面/后面的空格/指定字符)Text.trim(char)多个char用数组表示{"a".."z"}
二、列表函数集合
返回列表元素个数---list.count(list)
列表求和---list.sum(list)
通过list(多个字段名)可以自主构建列表 也就是行方向
列求和复杂一些,构建新的空查询,键入公式
类似于数据库insert操作 字段名=值这样的方式插入 比如姓名="cjl" 语文的list.sum([列名]),然后计算,但是我们并没有指定表所以还是算不出来,指定一下list.sum(列求和([语文]))这是一条记录 记录转表用table.fromrecords()但是还没完
table包含着list包含多个record是这样的关系所以我们还需要在公式fromrecord添加{}转为列表形式(record.tolist()记录转列表),一个record就是一行,一个或多个record(行)也就是返回结果,就是一次查询,查询的结果是一个list,list包起来作为一个table table-list-record
从table中取列用[列名] 列转换位表:转换-到表,从list中取元素用{序列号} =后面写上一次操作名表示使用上一次操作完成的表 _表示当前行的记录
列表分隔函数---list.split(list,sign) 把list中的内容按照相同的对sign的模细分成多个list,每个list里面有sign条内容
获取表中所有列---Table.tocolumns 表转多个list
列转表格---Table.Fromcolumns("数据源的列","新table字段名")
获取表的标题名---Table.ColumnNames()
将多个列表合并成一个列表---List.combine(list)列表的list
列表元素去重---List.distinct
列表元素去空---List.removenulls
列表横向求和---List.skip(list, num)从list中跳过第一项,比如list是1,2,3,4 参数为一的话表示一个2,3,4的list 还可以筛选 此时num为each _>3
列表筛选函数---List.select(list,criteria)criteria为each _>3 and/or....
List.transform(list,each _) each _表示列表中的元素
取列表函数从start开始取num个List.range(list,start,num)
相当于for each i in list:do each的function
Comments NOTHING