2022-01-01から1年間の記事一覧

BigQueryで日次、月次のマスターデータを作る

rowデータで日や月に歯抜けがある場合、 group by month などやっても連番にならない可能性があります。 そこで日次、月次のマスターデータを作りそこに紐づける方法をまとめます。 日次のマスターデータを作る SELECT day FROM UNNEST( GENERATE_DATE_ARRAY…

BigQueryでDATE型、DATETIME型を月初に変換する

DATE型 DATETIME型共に DATE_TRUNC を利用することで日の情報を1日に丸め込むことができます。 DATE_TRUNC(day, MONTH) cloud.google.com

スプレッドシートで祝日判定をする

ダッシュボードを作る際に祝日を考慮したかったので検証しました。 完成形のスプレッドシートはこちらです。 答えだけほしい方はこちらから関数をコピペしてください。 docs.google.com 祝日データを内閣府CSVからインポートする 祝日のデータは内閣府が公開…

GASでスプレッドシートにGoogleアナリティクスのデータを定期的に出力する

拡張機能のGoogleAnalyticsだとサンプリングに引っかかったり、期間の調整が必要になるのでそれをGoogleAppScriptで自動化するコードを書きました。 参考 こういった出力が期待できます。 出力するメトリクスはセッション数以外でもUU数や目標完了数など必要…

BigQueryで日次、週次、月次の集計をする

BigQueryで集計 データソース created_at にTIMESTAMP型で何かしらのデータの作成日が入っている想定です。 created_at(TIMESTAMP) user_id(INT) 2022-01-02 14:13:30.801506 UTC 1 2022-01-03 12:13:30.801506 UTC 2 2022-01-04 11:13:30.801506 UTC 1 日次…

Rails collectionのpertialでindexを取得する

Railsのパーシャル内で現在のインデックス数を取得する方法です。 パーシャル内で #{variable_name}_counter で取得可能です。 = render partial: 'users/user', collection: @users index : <%= user_counter %>

Dockerコンテナ内からホスト側にアクセスする方法

Dockerで立てたコンテナ内から別コンテナに接続したかったのですが、ネットワークが別になるのでコンテナ名では繋げられず困っていました。 例えばコンテナAでDBを立ち上げていて、コンテナBからDBに接続したいなど。 考えを変えて、ホスト側にさえアクセス…

Sidekiqを6.4.0に上げるとsidekiq-historyでundefined method `new' for Sidekiq::Worker:Module

環境 ruby 3.0.3 rails 6.1.4.4 sidekiq 6.4.0 sidekiq-history 0.0.11 以下のエラー NoMethodErrorvendor/bundle/ruby/3.0.0/gems/sidekiq-history-0.0.11/lib/sidekiq/history/middleware.rb:14 undefined method `new' for Sidekiq::Worker:Module sideki…

Ruby 配列で重複した項目のみを取り出す

arr = [1, 2, 3, 2, 4, 1] arr.tally.filter_map { |k, v| k if v > 1 }.sort => [1, 2] arr.group_by{ |i| i }.reject{ |k,v| v.one? }.keys.sort => [1, 2] arr.filter_map{ |i| i if arr.count(i) > 1 }.uniq.sort => [1, 2]

gemのアップデートをしたら libffi.so.8: cannot open shared object file: No such file or directory でrailsが動かなくなった

libffi.so.8 が無いと怒られた /home/usernam/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': libffi.so.8: cannot open shared object file: No such file or …

WSLでUbuntuのバージョンを確認する

$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal