Skip to main content

皆さま いつも色々参考にさせて頂いております。

 

アプリのログインのログを使って、直近3ヶ月でログインしたユーザの数をグラフにしたいと考えています。

 

たとえば2020年6月には2020年4月~2020年6月にログ履歴のあるユーザ数を表示し、

2020年5月には2020年3月~2020年5月にログ履歴のあるユーザ数を表示するという具合です。

 

単月のユーザ数ではなく、上記のような期間で集計&表示させるにはどのような方法が考えられますでしょうか。

セットやパラメータの機能でどうにかしようとしたのですが、自力では答えが見つからず、お力をお借りできればと思いました。

 

ご教授の程よろしくお願い致します。

10 réponses
  1. 30 juin 2020, 05:01

    一応Desktop単体でもできるのですが、構造が複雑なのでデータの持ち方から考え直したほうが良いかもしれません。

    「データのあった月の翌月と翌々月は履歴ありとする」という部分が厄介なので、これを事前に計算して持たせておくとDesktopでビューを作るのが随分と​楽になります。

    Desktopだけで実現する方法ですが、これは表計算を使用します。

    いきなりグラフでやろうとすると頭の中がこんがらがるので、表から始めたほうがよいです。

    ​まずは行列に月とユーザーを取り、レコード数を入れてどこにデータが有るかを確認します。

    これで欠損する場所があることが確認できます。一応Desktop単体でもできるのですが、構造が複雑なのでデータの持ち方から考え直したほうが良いかもしれません。「データのあった月の翌月と翌々月は履歴ありとする」という部分が厄介なので、これを事前に計算して持たせておくとDesktopでビューを作るのが随分と​楽になります。​Desktopだけで実現する方法ですが、これは表計算を使用します。いきなりグラフでやろうとすると頭の中がこんがらがるので、表

    普通に集計しようとするとこの欠損した場所は「無い」ものとして​扱われますが、

    実はINDEXなどの一部の表計算では欠損した部分に見た目上のマークを設置することができます。

    (見た目だけなので、データを見ようとしても何も出てきません。)​capture (3)

    ​これを利用して、LOOKUP関数で2つ前・1つ前・その月のどれかにデータが合ったかを計算させます。

    今回はユーザーごとのログイン履歴の有無なので、返り値は1か0の2択です。

    capture (4)

    表計算の編集で「次を使用して計算」を月に指定すると、ユーザーごとに過去3ヶ月のログイン履歴を計算できます。

    capture (5)

    ただ、このままではユーザーごとの値です。

    最終的にほしいのはログイン履歴の有るユーザーの合計なので、WINDOW_SUMを使って月ごとに合計します。

    capture (6)

    これをビューに入れて、表計算の編集では今度はユーザーIDを指定すると、どのユーザーにもその月の合計が表示されます。

    capture (7)

    最終的に表示するグラフは1本ですから、​FIRSTなどを使って月ごとの重複を取り除きます。

    capture (8)

    capture (9)

    これでデータとしては必要なものが取り出せたので、あとは折れ線グラフに変更します。

    列のユーザーIDをマークの詳細に、行の月を列に、マークのテキストにある計算結果を行に持ってきます。​

    capture (10)

    これで望んでいた形ができあがります。​

    <result>

    capture (11)

0/9000