Koleksi statistik Viber

Ada minat dalam cara mendapatkan statistik obrolan di getaran. Menurut informasi di situs viber.com, statistik disediakan hanya untuk komunitas dengan setidaknya 1000 anggota.

Selanjutnya, saya akan menjelaskan instruksi tentang bagaimana saya mendapatkan statistik untuk obrolan viber menggunakan file cadangan.



1. Salinan cadangan akun memiliki format database viber.db, untuk versi PC terletak di sepanjang jalur: C: \ Users \ <User_name> \ AppData \ Roaming \ ViberPC \ <nomor telepon>.



2. Saya menggunakan SQL Lite Browser untuk membaca file database.



3. Buka file viber.db di SQL Lite Browser . Basis data muncul sebagai berikut:







4. Tabel utama adalah Peristiwa, semua peristiwa (menurut akun) di getaran diberi nomor (EventID). Tabel lain memiliki hubungan kunci asing yang disebut EventID. Informasi tentang pesan disimpan di tabel Pesan, informasi tentang pengguna - di tabel Kontak. Saya hanya menggunakan tiga tabel ini.



5. Untuk mendapatkan statistik obrolan, pertama-tama Anda perlu mencari tahu pengenal ChatID obrolan yang diinginkan. Untuk melakukan ini, pilih item "Lihat data" dari menu konteks untuk tabel ChatInfo dan buka tab "Data" untuk melihat.







6. Dengan nama obrolan (Nama atribut) kami mencari yang diinginkan dan melihat pengenalnya (atribut ChatID).



7. Demikian pula, Anda bisa mendapatkan pengidentifikasi pengguna (ContactID) di tabel Kontak melalui atribut Name (seperti pengguna dicatat di ponsel Anda) atau ClientName (nama pengguna menurut akunnya). Saya menggunakan atribut ClientName karena Saya tidak memiliki semua pengguna di notebook ponsel saya.



8. Selanjutnya kita mendapatkan data yang dibutuhkan dengan membentuk Select queries pada tab SQL. Atribut apa yang harus dilakukan tergantung pada kebutuhan, untuk ini perlu membuat permintaan yang sesuai. Untuk diri saya sendiri, saya membuat permintaan yang ditunjukkan pada tabel 1.



Tabel 1. Daftar permintaan yang digunakan

P / p No. Minta teks Deskripsi
1 Pilih Hitung (Messages.EventID) dari Pesan, Acara di mana Messages.EventID = Acara.EventID dan Acara.ChatID = 46 Jumlah pesan obrolan
2 Pilih count (Messages.EventID), Contact.ClientName dari Messages, Events, Contact where Messages.EventID = Events.EventID and Events.ChatID = 46 dan Events.ContactID = Contact.ContactID grup berdasarkan Events.ContactID order by Contact.ContactID Jumlah posting oleh pengguna (mengembalikan jumlah acara untuk setiap pengguna)
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. Setelah mengeksekusi query, saya mengekspor hasilnya terlebih dahulu ke PDF, lalu ke excel (lebih mudah bagi saya):







10. Setelah itu saya menggunakan data untuk membuat infografis di excel, misalnya, atas permintaan # 5 (lihat tabel 1):







Catatan 1. Data berbeda, karena obrolan aktif dan database sedang diperbarui.



Catatan 2. Sudah di excel saya telah menggabungkan tipe 65 ... 77 menjadi satu (layanan) umum.



11. Bagaimana bekerja dengan atribut waktu (TimeStamp). Dalam database, waktu UNIX digunakan untuk mengikat peristiwa ke waktu, dan untuk mendapatkan data yang terkait dengan pengikatan ke tanggal dan waktu, perlu diproses lebih lanjut. Berikut adalah contoh bagaimana saya melakukannya di excel:







a. Simpan hasil query 9 (lihat tabel 1) di excel (kolom A).

b. Di kolom B kami membuang 3 karakter terakhir (saya tidak mengerti untuk apa) untuk mendapatkan waktu dalam format UNIX. Kami melakukan ini menggunakan rumus = LEFT (A2; DLSTR (A2) -3). Regangkan rumus ke seluruh rentang garis.

c. Kolom C diisi dengan satuan (penghitung pesan).

d. Di kolom D, konversikan tanggal ke tanggal yang dapat dibaca manusia menggunakan rumus = (B2 / 86400) + 25569. Regangkan rumus ke seluruh rentang baris.

e. Untuk menghitung jumlah pesan per bulan (sel E2: R2), gunakan rumus = SUMIF ($ C $ 2: $ C $ 1434; $ D $ 2: $ D $ 1434; "> =" & E $ 1; $ D $ 2: $ D $ 1434; "<= "& EONMONTHS (E $ 1; 0)). Regangkan rumus ke seluruh rentang kolom E1: R1.

f. Kami membangun histogram berdasarkan rentang sel E1: R2.



Kesimpulan



Metode pengumpulan statistik ini dilakukan dalam mode manual, padat sumber daya (setidaknya dalam hal waktu yang dihabiskan), tetapi setidaknya bisa diterapkan. Karena tidak ada yang lebih baik, begitulah. Metode ini dapat digunakan tidak hanya untuk mendapatkan statistik obrolan, tetapi juga di akun Viber secara keseluruhan. Saya tidak lampirkan sumbernya, tk. Saya melakukan semua operasi pada obrolan nyata yang berisi data pribadi pengguna, dan saya terlalu malas untuk membuat obrolan terpisah untuk pengujian. Terima kasih atas perhatian Anda.



All Articles