乐于分享
好东西不私藏

EXCEL|Power Query的基础公式1

EXCEL|Power Query的基础公式1
今天开始,咱们来学习下Power Query基础功能中的一些应用公式,先混个脸熟。后续真正用到的时候,对应的公式不说第一时间想起来,但至少能有个第一印象,有个基本的判断。
1. 选择列,在功能区的位置如下图所示。

此选项可以对查询表格中的列字段进行筛选,保留已经选择了的项目,删除未选择的项目。此功能适合管理列数比较多的表格,当需要保留的列不容易被找到时,可以通过【选择列】的方式保留。在获得筛选列后的结果中,已选择的列被保留,未选择的列被删除。如果要撤销这个操作,则可以删除此步骤。

公式解析:

【选择列】使用的公式:= Table.SelectColumns(源, {"日期", "类别", "品名", "数量", "成本金额", "销售金额"})

函数:Table.SelectColumns

语法:Table.SelectColumns (table, columns)

说明:在表格【源】中,选择大括号内包含的所有列字段 {"日期", "类别", "品名", "数量", "成本金额", "销售金额"},其他的列则被删除。

特别提醒:在公式中,对函数名的字母大小写非常敏感,所以一定要按照大小写的规范要求书写函数,如果函数名不正确,则会导致提示错误。
2.删除列,在功能区的如下区域。
选择删除列, 就是删除所选的列,选择删除其他列,就是删除选择之外的其他的列。

公式解析:

【删除列】使用的公式:= Table.RemoveColumns (源, {"日期", "订单号", "销售地区", "销售部门"})

函数:Table.RemoveColumns

语法:Table.RemoveColumns (table, columns)

说明:在表格【源】中,移除大括号内包含的所有列字段{"日期", "订单号", "销售地区", "销售部门"},其他的列被保留。


【删除其他列】使用的公式(与【选择列】使用的函数相同)= Table.SelectColumns(源, {"日期", "订单号", "销售地区", "销售部门"})

函数:Table.SelectColumns

语法:Table.SelectColumns (table, columns)

说明:在表格【源】中,选择大括号内包含的所有列字段{"日期", "订单号", "销售地区", "销售部门"},其他的列被删除。

3.保留行,在功能区的如下区域。

公式解析:

= Table.FirstN (源, 5)

函数:Table.FirstN

用法:Table.FirstN (table, countOrCondition)

说明:在【源】表中,保留最前面的 5 行数据。

公式解析:

=Table.LastN(源,9)

函数:Table.LastN

语法:Table.LastN(table,countOrCondition)

说明:在【源】表中,保留最后9行数据。

公式解析:

=Table.Range(,100,8)

函数:Table.Range

语法:Table.Range (table, offset, count)

说明:在【源】表中,保留从第 101 行开始,共 8 行的数据。

特别提醒:函数中的Offset参数位置是从0开始的,偏移100个位置,实际是第101行。在省略COUNT参数的情况下,获取从offset位置开始的全部数据。

4.删除行,在功能区的如下区域。
公式解析:
=Table.Skip(源,100)
函数:=Tabel.Skip
语法:=Table.Skip(table,countOrCondition)
说明:在表格【源】中,删除排在前100行的数据,保留从101行开始的所有数据。另外,使用=Table.Range(Table,100)公式可以获得相同的结果。
公式解析:
=Table.RemoveLastN(源,9992)
函数:=Table.RemoveLastN
语法:=Table.RemoveLastN(table,countOrCondition)
说明:在表格【源】中,删除最后的9992行数据。
公式解析:
=Table.AlternateRows(源,2,2,4)
函数:=Table.AlternateRows(table,offset,skip,take)
说明:在【源】表中,保留前两行,再按每删除2行,保留4行的规则删除间隔行。
公式解析:
=Table.Distinct(源)
函数:=Table.Distinct
语法:=Table.Distinct(table)
说明:删除表格中所有重复出现的项目,所有项目将保留第一次结果。
拓展用法:=Table.Distinct(table,equation)
说明:equationCriteria可以指定对表格中的哪些字段进行测试,以确定要删除的重复项。
=Table.Distinct(源,"品名"):此函数表示在【品名】字段中如果有重复项时,则只保留第一项。
公式解析:
=Table.SelectRows(源,eachnotList.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_),{"",null})))
函数:=Table.SelectRows
语法:=Table.SelectRows(table,condition)
说明:从table返回与约束条件condition匹配的行的表。
函数:=List.IsEmpty
语法:List.IsEmpty(list)
明:如果列表list不包含值,则返回true,否则返回false。
函数:=List. RemoveMatchingItems
语法:List.RemoveMatchingItems(list1,list2)
说明:从列表list1中删除list2中所有出现的定值,如果list2中的值在list1中不存在,则返回原始列表。
函数:=Record.FieldValues
语法:Record.FieldValues(record)
说明:返回记录record中的字段值的列表。
公式解析:
=Table.RemoveRowsWithErrors(源)
函数:=Table.RemoveRowsWithErrors
语法:=Table.RemoveRowsWithErrors(table)
说明:从【源】表中,删除包含有错误的行。
拓展用法:=Table.RemoveRowsWithErrors(table,columns)
说明:只检查指定字段中有错误的值,删除错误值所在的行。
常用函数今天就先讲这些了,后面咱们再继续。