『壹』 如何在Power Query中獲取數據——表格篇(3)
樣例表格:
之前講了從表頭獲取,那對應的就有從表尾獲取。
(一)從表尾開始提取
1. 獲取表的最後一條記錄
Table.Last (table as table , optional default as any )as any
第1參數是需要操作的表;第2參數是在空表的情況下的賦值;返回的結果如果是非空表則是最後一條記錄,格式是Record格式,如果是空表則是賦值的格式。
例:
Table.Last(數據)=[姓名="王五",成績=80,學科="英語"]
Table.Last(Table.FromRecords({}),{"空表"})={"空表"}
解釋:空表代表沒有記錄的表,但是可以有標題欄位名。Table.FromRecords({})生成的是一個空表,例如Table.FromList({}),Table.FromColumns({}),Table.FromRows({})也是一樣的,生成的是不具備標題欄位的空表;Table.FromValue({})生成的就是一個標題欄位為Value的空表;因為是空表所以返回指定值。
2. 獲取指定條件表的最後幾條記錄
Table.LastN (table as table , countOrCondition as any ) as table
第1參數為操作的表,第2參數為數字或者條件,返回的是一個表的格式。如第2參數是條件,則從尾開始匹配,返回滿足的行,直到不滿足為止。
例:
<> Table.Last(數據)
解釋:因為Table.LastN返回的是table格式,而Table.Last返回的是record格式,所以不相等。
解釋:因為成績是降序排列,所以返回的結果是直到不滿足條件結束。
Table.LastN(數據,each_[成績]>90)= #table({},{})
解釋:因為最後一條記錄是80,不滿足第2參數的條件,所以沒有滿足條件的數據,返回的結果就是一個空表。
解釋:查找姓名包含"五"的記錄,並返回形成表格。因為第一條記錄是的姓名是王五,滿足條件,第二條記錄是李四不滿足條件結束,所以只返回最後一條記錄並形成表格。