blogシタテルの技術やエンジニアの取り組みを紹介するテックブログです。投稿を表示しています。投稿を表示しています。2018はじめまして、DevOpsチームの甲斐です。何かブログのネタはないかなーと思っていたところ、たまたま以下のニュースを発見しました。「SQLiteでWindow関数が使えるようになったのか!」とちょっとした驚きでした。(ちなみに、MySQLでもバージョン8からWindow関数が正式に実装されたようです)そこで、今回はこの新機能である「SQLiteでWindow関数」を試していきたいと思います。SQLiteのインストール何はともあれSQLiteをインストールしましょう。SQLiteでWindow関数を試すには9月にリリースされた3.25以上が必要ですので、最新のSQLiteをインストールします。以下は、Macでの手順です。Windowsな方は適宜インストールして下さい。Macなエンジニアの方はすでにHomebrewはインストール済みかと思いますので、Homebrewのインストール手順は割愛します。$SHELLSQLiteのバージョンが3.25以上であればOKです。89e099fbe5e13c33e683bef07361231ca525b88f7907be7092058007b75036f2SQLiteでWindow関数を使ってみるそれでは、SQLiteでWindow関数を試してみたいと思います。ステートメントである。以降の標準SQLで規定されている。分析関数やOLAP機能と呼ばれる場合もある。Wikipedia)とあります。要領を得ませんが、要は分析に使えるSQL関数ということですね。エンジニアの皆さんもご自身でちょっとした分析などをやることもあるかと思いますが、その際にWindow関数を知っていると結構便利です。日経平均株価の移動平均を求めてみる今回はサンプルとして日経平均株価の移動平均をSQLiteのWindow関数で求めてみたいと思います。移動平均は、時系列データ(より一般的には時系列に限らず系列データ)を平滑化する手法である。音声や画像等のデジタル信号処理に留まらず、金融(特にテクニカル分析)分野、気象、水象を含む計測分野等、広い技術分野で使われる。有限インパルス応答に対するローパスフィルタ(デジタルフィルタ)の一種であり、分野によっては移動積分とも呼ばれる。主要なものは、単純移動平均と加重移動平均と指数移動平均の3種類である。普通、移動平均といえば、単純移動平均のことをいう。Wikipedia)とあります。具体的に説明すると、例えば3日間移動平均を求めるとは以下のような感じになります。11/07-09の3営業日のsalesの平均これを素のSQLだけでやるのはけっこう大変なのですが、Window関数を使うと簡単にできます。それでは実際に日経平均株価の5日間移動平均をWindow関数で求めていきたいと思います。ダウンロードしたデータの最終行に著作権が明記されています。取扱いにはご注意下さい。over(...)の部分がWindow関数部分です。over()の部分でグループ化を行い、そのグループに対してavg()を適用するという感じになります。row)までの5日間の平均(avg(end))を一日ずつずらしながら順次求めていることになります。この他にもWindow関数には便利な機能が沢山ありますので、是非いろいろと調べてみて下さい。usシタテルのミッションはテクノロジーとイマジネーションで「ひと」と「衣服」の新しい未来をつくること。クラウドシステムを使うように服作りのリソースを誰でも好きなときに好きだだけ使えるプラットフォームを目指しています。(1)どうも朝野です。Storage移行記:バリデーション編こんにちはあさのです。Storageに移行したときの話を書こうと思います。Paperclipはファイルアップロード用のGemです。https://...SQLite3でWindow関数を試してみた!はじめまして、DevOpsチームの甲斐です。何かブログのネタはないかなーと思っていたところ、たまたま以下のニュースを発見しました。ECSに自動デプロイする(おまけで環境面の切り替えも)こんにちは、シタテルの茨木です。ECR/ECSにデプロイする為の設定例を紹介します。Nuxt.jsアプリ用に作ったものですが、言語やAPサーバが違っても共通の部分がほとんどです。