結(jié)構(gòu)化數(shù)據(jù)上用序號訪問成員的問題

1. 單序號訪問

我們可以按照單個序號,從數(shù)據(jù)表中獲取一條記錄。

【例 1】 求 2019 年上證指數(shù)第一個交易日和最后一個交易日的交易信息。部分?jǐn)?shù)據(jù)如下:


【SPL腳本】


A3的執(zhí)行結(jié)果如下:



有時(shí)候我們需要獲取指定位置成員的序號,尤其是倒著取集合成員的序號。比如 2019 年上證指數(shù)的記錄按時(shí)間排序后,倒數(shù)第二個交易日的序號是多少?這時(shí)我們希望通過參數(shù) -2 來獲取真實(shí)的序號。

【例 2】 以員工表為例,統(tǒng)計(jì) [California, Texas, New York, Florida] 各州的平均工資,其他地區(qū)的員工存放到新組統(tǒng)計(jì)。部分?jǐn)?shù)據(jù)如下:


【SPL腳本】


A5的執(zhí)行結(jié)果如下:


2. 多序號訪問

前面介紹了如何使用單個序號訪問集合成員,有時(shí)候需要根據(jù)多個序號獲取多條記錄。例如對于某年按月份有序的銷售記錄表,使用序號集合 [4,5,6] 可以訪問第二季度的數(shù)據(jù)。對于一周的值班表,使用序號集合 [1,7] 可以訪問周末的值班記錄。

【例 3】 有一個記錄日??记谛畔⒌谋?,如下圖:


每七條數(shù)據(jù)為一組,想要轉(zhuǎn)換成如下結(jié)果:

【SPL腳本】

A4的執(zhí)行結(jié)果如下:

類似的,我們也可以從后向前訪問多個成員。

【例 5】 求上證指數(shù) 2019 年最后 10 個交易日收盤價(jià)較前日的漲幅。部分?jǐn)?shù)據(jù)如下:

【SPL腳本】

A4的執(zhí)行結(jié)果如下:


3. 固定跨度訪問

固定跨度訪問是指按指定的起始序號和固定的跨度訪問成員。例如從數(shù)據(jù)表中抽樣,每 10 條記錄選出一條,可以從第一條開始取,每 10 條取一次。又比如從 1 到 100 的自然數(shù)中,選出所有 3 的倍數(shù),可以從第 3 個數(shù)字開始,每 3 個數(shù)字取 1 個。

【例 6】 求 100 以內(nèi)質(zhì)數(shù)。

【SPL 腳本】


A4的執(zhí)行結(jié)果如下:


SPL CookBook》中還有更多相關(guān)計(jì)算示例。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容