Viber統計コレクション

雰囲気の中でチャットの統計を取得する方法に興味がありました。サイトviber.comの情報によると、統計は少なくとも1000人のメンバーがいるコミュニティに対してのみ提供されます。

次に、バックアップファイルを使用してviberチャットの統計を取得する方法について説明します。



1.アカウントのバックアップコピーはviber.dbデータベース形式であり、PCバージョンの場合、パスに沿って配置されます:C:\ Users \ <User_name> \ AppData \ Roaming \ ViberPC \ <電話番号>。



2. SQL LiteBrowserを使用してデータベースファイルを読み取りました。



3. SQLLiteブラウザでviber.dbファイルを開きます。データベースは次のように表示されます







。4。メインテーブルはイベントで、バイブ内のすべてのイベント(アカウント別)には番号(EventID)が付けられています。他のテーブルには、EventIDと呼ばれる外部キーの関係があります。メッセージに関する情報はメッセージテーブルに、ユーザーに関する情報は連絡先テーブルに保存されます。私はこれらの3つのテーブルのみを使用しました。



5.チャットの統計を取得するには、最初に目的のチャットChatIDの識別子を見つける必要があります。これを行うには、ChatInfoテーブルのコンテキストメニューの[データの表示]項目を選択し、[データ]タブに移動して表示します。







6.チャットの名前(Name属性)で目的のチャットを探し、そのID(ChatID属性)を確認します。



7.同様に、Name属性(ユーザーが電話に記録されているため)またはClientName(アカウントによるユーザー名)を使用して、連絡先テーブルのユーザーID(ContactID)を取得できます。 ClientName属性を使用したのは電話のノートブックにすべてのユーザーがいるわけではありません。



8.次に、[SQL]タブで[選択]クエリを作成して、必要なデータを取得します。どの属性を実行するかはニーズによって異なります。そのためには、適切な要求を行う必要があります。私自身、表1に示すリクエストを行いました。



表1.使用したリクエストのリスト

P / pいいえ。 リクエストテキスト 説明
1 メッセージ、イベントからカウント(Messages.EventID)を選択します。ここで、Messages.EventID = Events.EventIDおよびEvents.ChatID = 46 チャットメッセージの数
2 カウント(Messages.EventID)、Contact.ClientNameをMessages、Events、Contactから選択します。Messages.EventID= Events.EventID and Events.ChatID = 46およびEvents.ContactID = Contact.ContactID group by Events.ContactID order by Contact.ContactID ユーザーごとの投稿数(各ユーザーのイベント数を返します)
3 Select Contact.ContactID, Contact.ClientName from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ChatID=46 and Events.ContactID=Contact.ContactID group by Events.ContactID order by Contact.ContactID
4 Select * from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ContactID=Contact.ContactID and Events.ChatID=46 and Events.ContactID=465
5 Select count(Messages.EventID), Messages.Type from Messages, Events where Messages.EventID=Events.EventID and Events.ChatID=46 group by Messages.Type order by Messages.Type (. 2)
6 Select Count(Messages.Type), Messages.Type from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ContactID=Contact.ContactID and Events.ChatID=46 and Events.ContactID=482 group by Messages.Type
7 Select Count(Messages.PGIsLiked), Contact.ClientName from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ChatID=46 and Messages.Type=0 and Messages.PGIsLiked=1 and Events.ContactID=Contact.ContactID group by Contact.ClientName order by Contact.ContactID
8 Select Sum(Messages.PGLikeCount), Contact.ClientName from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ChatID=46 and Events.ContactID=Contact.ContactID group by Contact.ClientName order by Contact.ContactID
9 Select Events.TimeStamp from Messages, Events, Contact where Messages.EventID=Events.EventID and Events.ContactID=Contact.ContactID and Events.ChatID=46 and Events.ContactID=460 order by Events.TimeStamp (. . 11)


2.



№ /
1 EventID . , .. ,
2 Type ( , , ):

0 – : ,

1 –

2 —

3 —

4 –

9 –

11 –

12 —

15 – ,

65 –

66 –

67 –

68 –

69 —

72 –

77 —

3 ContactID
4 ClientName
5 ChatID
6 TimeStamp UNIX- POSIX- (. Unix time) — , UNIX POSIX- .

( UTC) 31 1969 1 1970, .



9.クエリを実行した後、最初に結果をPDFにエクスポートし、次にExcelにエクスポートしました(私にとっては簡単でした):







10。その後、たとえばリクエスト#5(表1を参照)で、データを使用してExcelでインフォグラフィックを作成しました。







注1.データ異なるのでチャットがアクティブで、データベースが更新されています。



注2.すでにexcelで、タイプ65 ... 77を共通のもの(サービス)に結合しました。



11.時間属性(TimeStamp)の操作方法。データベースでは、UNIXの時刻を使用してイベントを時刻にバインドし、日付と時刻のバインドに関連するデータを取得するには、それらをさらに処理する必要がありました。これが私がどのようにexcelでそれをしたかの例です:







a。クエリ9(表1を参照)の結果をexcel(列A)に保存します。

b。列Bでは、最後の3文字(何のためにあるのかわかりませんでした)を破棄して、UNIX形式で時間を取得します。これは、式= LEFT(A2; DLSTR(A2)-3)を使用して行います。行の全範囲にわたって式を伸ばします。

c。列Cはユニット(メッセージカウンター)で埋められます。

d。列Dで、式=(B2 / 86400)+ 25569を使用して、日付を人間が読める日付に変換します。行の範囲全体に式を伸ばします。

e。1か月あたりのメッセージ数(セルE2:R2)をカウントするには、式= SUMIF($ C $ 2:$ C $ 1434; $ D $ 2:$ D $ 1434; "> ="&E $ 1; $ D $ 2:$ D $ 1434; "<= "&EONMONTHS(E $ 1; 0))。式を列E1:R1の全範囲に拡張します。

f。セルE1:R2の範囲に基づいてヒストグラムを作成します。



結論



統計を収集するこの方法は手動モードで実行され、リソースを大量に消費しますが(少なくとも費やした時間に関しては)、少なくとも効率的です。より良いものがないため、いわば。この方法は、チャットだけでなく、Viberアカウント全体の統計を取得するためにも使用できます。ソースを添付しません、tk。ユーザーの個人データを含む実際のチャットですべての操作を実行しましたが、テスト用に別のチャットを作成するのが面倒です。清聴ありがとうございました。



All Articles