Slik setter du opp automatisk nyhetsovervåking av Twitter
Å lage en automatisk ovarvåkning av oslopolitiets utrykninger til knivhendelser viste seg å være både enklere og vanskeligere enn jeg hadde trodd. Slik gjorde jeg.
1️⃣
Zapier.com er en automatiseringstjeneste som flytter data fra en nettbasert tjeneste til en annen. Her er det ganske enkelt å sette opp en regel som sender alle twittermeldinger fra en bestemt konto, som nevner et bestemt ord, videre til et Google regneark.
2️⃣
På første side av regnearket legger dataene fra Zapier.com seg inn linje for linje. For at Zapier skal finne fram er det viktig at kolonnene merkes øverst først - her bruker jeg "Dato" og "Tweet". Neste trinn blir å kopiere denne siden over til side 2 i regnearket, slik at det blir mulig å herje med dataene uten å forstyrre den videre dataimporten.
3️⃣
På side to bruker jeg kommandoen IMPORTRANGE for å hente en kopi av hele side én. I parentesen skal ganske enkelt nettadressen til den siden jeg henter fra limes inn, slik; =IMPORTRANGE("nettadressen").
I kolonne C legger jeg så til en formel som søker etter ordet "kniv" i teksten i cellen ved siden av. Denne formelen setter inn tallet 1 hvis ordet finnes og 0 hvis det ikke finnes, slik =if(ISNUMBER(search("kniv";B2));1;0)
I dette tilfellet vil regnearket aldri finne tekstfelt uten ordet "kniv", siden Zapier jo bare sender meldinger med dette ordet i seg.
4️⃣
Nå er det på tide å flytte videre til ark 3 - og nå lar vi selve Twittermeldingene ligge igjen. Dem har vi ikke bruk for lenger.
Ved hjelp av formelen ARRAYFORMULA skal vi bare ta med oss to enkeltkolonner, datokolonnen og tellekolonnen vi nettopp har laget. Vi skriver =ARRAYFORMULA(Sheet2!A1:A), som henter den første kolonnen fra ark 2. Så henter vi tellekolonnen med tilsvarende formel: =ARRAYFORMULA(Sheet2!C1:C)
Med kolonnene på plass i ark 3 oppstår det et problem: Twitters dataformat (Wed Mar 17 09:31:15 +0000 2021) spiller dårlig med googles regneark. Etter en del pludring blir løsningen å legge inn følgende formel i kolonnen ved siden av det opprinnelige datoformatet: =DATEVALUE(JOIN("-"; RIGHT(A135;4); {MID(A135;5;3)\ MID(A135;9;2)}))
ℹ️ Denne løsningen funker. I ettertid har jeg imidlertid oppdaget at det er mulig å korrigere datoformatet ved å bruke Zapiers filter også. Det er enklere, men krever betalt abonnement.
5️⃣
Vi er ikke helt ferdige i dette arket ennå. Neste kolonne bruker vi nå et triks som skal gjøre det mulig å gruppere knivhendelsene per måned på neste side. Øverst i kolonne D skriver vi =ARRAYFORMULA(EOMONTH(B1:B;0))
Denne formelen omgjør alle datoene i kolonne B om til den SISTE datoen i den aktuelle måneden. For eksempel blir alle datoene i mars satt til 3/31/2021.
6️⃣
Vi flytter oss over til ark 4. Her skriver jeg manuelt inn sluttdatoen i hver måned som skal være med i oversikten i A-kolonnen. I B-kolonnen skriver jeg inn navnet på måneden med tanke på tabellen vi snart skal lage. Og så skjer selve magien i kolonne c. Her begynner jeg med å legge inn den første formelen i den øverste ruten: =sumif(Sheet4!D1:D; A1; Sheet4!C1:C)
Det som skjer er at regnearket summerer alle ett-tallene i kolonne C i forrige regneark HVIS datoen i kolonnen ved siden av er den samme som datoen vi har skrevet inn i A1 på DETTE regnearket.
Nå er det bare å kopiere formelen og lime den inn for hver linje nedover - så har vi fordelt alle knivtilfellenee på måned.
7️⃣
Nå gjenstår det bare å lage en tabell på den siste siden i regnearket som kan gjenkjennes av grafikkprogrammer. Her har jeg skrevet inn måneder og årstall manuelt, mens verdiene hentes inn ved hjelp av =ARRAYFORMULA fra regnearket vi nettopp var i.
8️⃣
Til å lage selve tabellen er tyske Datawrapper.de strålende enkelt å bruke. Men før du begynner, husk å gjøre regnearket ditt delbart, slik at Datawrapper kan finne det.
Lim inn adressen til regnearket på Datawrappers første side og følg instruksjonene. Det er ganske selvforklarende. Resultatet blir som under!