Coinpaprika dashboard in Google Sheets (2)
In dit artikel ben ik een begonnen met het maken van een dashboard in Google Sheets met behulp van de Coinpaprika Api. Nu het vervolg.
In dit artikel gaan we de volgende elementen toevoegen:
- Bonus: dag en nacht mode
- Coin description
- Website, White paper, Blockchain Explorer
- Social media
Bonus: dag en nacht mode
Veel websites hebben een zogenaamde Dag en Nacht mode, wat zo veel inhoudt dat je kan kiezen tussen een lichte achtergrond (= dag mode) of een donker achtergrond (= nacht mode). Ik heb nu nog geen idee of ik later tegen problemen aanloop met de layout, daarom is het een bonus, deze toevoeging is niet noodzakelijk voor het dashboard.
Voeg aan A4 een Data Validation toe (Menu: Data >> Data Validation…) en vul het als volgt in en klik op Save:

Vervolgens gaan we door middel van Conditional Format de kleuren van de cellen en lettertype aanpassen. Over smaak valt te twisten dus gebruik gerust je eigen kleuren combinatie. Coinpaprika maakt gebruik van de volgende combinatie:
- Dag mode: achtergrond #fff en lettertype #000
- Nacht mode: achtergrond #252525 en lettertype #9b9b9b
Ga naar menu: Format >> Conditional Formatting… Er verschijn nu rechts in het scherm een sidebar om. Klik op Add new rule + en vul het als volgt in voor Nacht mode:
- Apply to range: A:Z
- Format cells if >> Custom formule is… >>
=$A$4="Night Mode"
Kies zelf de opmaak. En voor Dag mode: klik op Add another rule… en vul het als volgt in:
- Apply to range: A:Z
- Format cells if >> Custom formule is… >>
=$A$4="Day Mode"
Als het goed is gegaan dan kun je in A4 van mode switchen. Probeer het!
Coin description toevoegen
De API van Coinpaprika heeft verschillende endpoints. In de vorige post hebben we de Coins list opgehaald en nu gaan we iets dieper, namelijk Get coin by ID.
Voeg een nieuw tabblad/sheet toe (+ links onder) en hernoem het naar “Coin by ID”en vul de basisgegevens in:
A2: Help
B2: https://api.coinpaprika.com/#tag/Coins/paths/~1coins~1{coin_id}/get
A3: URL
B3: ="https://api.coinpaprika.com/v1/coins/"&coin
A5: =ImportJSON(B3)
Dit haalt de detailgegevens op van de geselecteerde coin die we later in het Dashboard gaan verwerken.
Ga nu naar het Dashboard. Omdat de description in sommige gevallen best veel tekst bevat gaan we eerst even wat “ruimte maken”. Merge/samenvoeg de volgende cellen: B7:E11 daarna:
A6: Description
A7: =VLOOKUP(coin,'Coin by ID'!A6:AK,MATCH("Description",'Coin by ID'!5:5,0), TRUE)
Website, White paper, Blockchain Explorer
Eerst gaan we linkjes van de website, white paper en blockchain explorers toevoegen.
A12: General info
A13: Website
B13: =VLOOKUP(coin,'Coin by ID'!A6:AK,MATCH("Links Website",'Coin by ID'!5:5,),TRUE)
A14: White paper
B14: =VLOOKUP(coin,'Coin by ID'!A6:AK,MATCH("Whitepaper Link",'Coin by ID'!5:5,),TRUE)
A15: Explorer
B15: =TRANSPOSE(SPLIT(VLOOKUP(coin,'Coin by ID'!A6:AK,MATCH("Links Explorer",'Coin by ID'!5:5,),TRUE),","))
Social media
Hetzelfde geldt voor het aantal social media linkjes. Dus voor de layout zijn dit de laatste gegevens in de kolommen A en B. Wellicht dat ik in de toekomst nog wat ga verplaatsen. Maar voor nu, vul de volgende cellen
A19: Social media
A20: =FILTER(OFFSET('Coin by ID'!A6,,MATCH("Links Extended Type",'Coin by ID'!5:5,)-1,1000,1),OFFSET('Coin by ID'!A6,,MATCH("Links Extended Type",'Coin by ID'!5:5,)-1,1000,1)<>"")
B20: =FILTER(OFFSET('Coin by ID'!A6,,MATCH("Links Extended URL",'Coin by ID'!5:5,)-1,1000,1),OFFSET('Coin by ID'!A6,,MATCH("Links Extended URL",'Coin by ID'!5:5,)-1,1000,1)<>"")
Ik hoop dat het allemaal gelukt is. Mijn sheet ziet er nu als volgt uit in Night mode

Hits: 943