Created
July 22, 2024 09:11
-
-
Save PBI-DataVizzle/c9ee1bd5c05e9a4f6073dc7a986a99b8 to your computer and use it in GitHub Desktop.
ibcs_waterfall
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "https://vega.github.io/schema/vega-lite/v5.json", | |
"usermeta": {"embedOptions": {"renderer": "svg"}}, | |
"data": { | |
"values": [ | |
{ | |
"label": "Huur woningen (btw onbelast)", | |
"number": 1, | |
"type": "o", | |
"amount": 77855 | |
}, | |
{ | |
"label": "Huur bedrijfsruimte (btw belast)", | |
"number": 2, | |
"type": "o", | |
"amount": 115604 | |
}, | |
{"label": "Netto-omzet", "number": 3, "type": "", "amount": 193459}, | |
{"label": "Personeelskosten", "number": 4, "type": "k", "amount": -70000}, | |
{"label": "Afschrijvingen", "number": 5, "type": "k", "amount": -4097}, | |
{ | |
"label": "Huisvestingskosten", | |
"number": 6, | |
"type": "k", | |
"amount": -5302 | |
}, | |
{ | |
"label": "Exploitatiekosten", | |
"number": 7, | |
"type": "k", | |
"amount": -40380 | |
}, | |
{"label": "Kantoorkosten", "number": 8, "type": "k", "amount": -3279}, | |
{"label": "Verkoopkosten", "number": 9, "type": "k", "amount": -267}, | |
{"label": "Algemene kosten", "number": 10, "type": "k", "amount": -9974}, | |
{"label": "Totale kosten", "number": 11, "type": "s", "amount": -133299}, | |
{"label": "Bedrijfsresultaat", "number": 12, "type": "", "amount": 60160}, | |
{ | |
"label": "Financiële baten", | |
"number": 13, | |
"type": "k", | |
"amount": -19076 | |
}, | |
{ | |
"label": "Resultaat voor belastingen", | |
"number": 14, | |
"type": "", | |
"amount": 41084 | |
}, | |
{"label": "Belastingen", "number": 15, "type": "k", "amount": -5814}, | |
{ | |
"label": "Resultaat na belastingen", | |
"number": 16, | |
"type": "", | |
"amount": 35270 | |
} | |
] | |
}, | |
"width": 800, | |
"height": 450, | |
"transform": [ | |
{"window": [{"op": "lead", "field": "label", "as": "lead"}]}, | |
{ | |
"calculate": "datum.lead === null ? datum.label : datum.lead", | |
"as": "lead" | |
}, | |
{ | |
"calculate": "datum.type === '' ? 0 : datum.type === 's' ? 0 : datum.amount", | |
"as": "runningTot" | |
}, | |
{"window": [{"op": "sum", "field": "runningTot", "as": "sumTot"}]}, | |
{ | |
"calculate": "datum.number === 1 ? datum.amount : datum.type === '' ? datum.amount : datum.sumTot", | |
"as": "sum" | |
}, | |
{ | |
"calculate": "datum.number === 1 ? 0 : datum.type === '' ? 0 : datum.sumTot - datum.amount", | |
"as": "previous_sum" | |
}, | |
{"filter": "datum.lead != null"} | |
], | |
"encoding": { | |
"y": { | |
"field": "label", | |
"type": "ordinal", | |
"sort": null, | |
"axis": { | |
"labelAngle": 0, | |
"title": "", | |
"labelPadding": 10, | |
"offset": 1, | |
"ticks": false, | |
"labelFontSize": 12, | |
"domainColor": "#000", | |
"domainWidth": 1, | |
"labelFontWeight": { | |
"expr": "datum.label === 'Netto-omzet' ? 'bold' : datum.label === 'Bedrijfsresultaat' ? 'bold' : datum.label === 'Resultaat voor belastingen' ? 'bold': datum.label === 'Resultaat na belastingen' ? 'bold':datum.label === 'Totale kosten' ? 'bold':'normal'" | |
}, | |
"labelColor": { | |
"expr": "datum.label === 'Totale kosten' ? 'red':'black'" | |
} | |
}, | |
"scale": {"padding": 0} | |
}, | |
"x": {"field": "sum", "type": "quantitative"} | |
}, | |
"layer": [ | |
{ | |
"mark": {"type": "bar", "size": 24}, | |
"encoding": { | |
"x": { | |
"field": "previous_sum", | |
"type": "quantitative", | |
"title": "Amount", | |
"axis": null | |
}, | |
"x2": {"field": "sum"}, | |
"color": { | |
"condition": [ | |
{ | |
"test": "datum.label === 'Begin' || datum.label === 'End' || datum.type === ''", | |
"value": "#202020" | |
}, | |
{"test": "datum.type ==='s'", "value": "#616161"}, | |
{"test": "datum.amount >= 0", "value": "#CECECE"}, | |
{"test": "datum.amount < 0", "value": "#A6A6A6"} | |
], | |
"value": "#93c4aa" | |
} | |
} | |
}, | |
{ | |
"mark": { | |
"type": "rule", | |
"color": "#000000", | |
"strokeWidth": 2, | |
"yOffset": -12, | |
"y2Offset": 12 | |
}, | |
"encoding": { | |
"opacity": {"value": 1}, | |
"y2": {"field": "lead"}, | |
"x": {"field": "sum", "type": "quantitative"} | |
} | |
}, | |
{ | |
"mark": { | |
"type": "text", | |
"fontWeight": "normal", | |
"baseline": "middle", | |
"dx": {"expr": "datum.amount >= 0 ? 7 : -7"}, | |
"align": {"expr": "datum.amount >= 0 ? 'left' : 'right'"}, | |
"fontSize": 13 | |
}, | |
"encoding": { | |
"x": {"field": "sum", "type": "quantitative"}, | |
"text": {"field": "amount", "type": "quantitative", "format": ",.0f"}, | |
"color": { | |
"condition": [ | |
{"test": "datum.amount >= 0", "value": "#23980A"}, | |
{"test": "datum.amount < 0", "value": "#F50100"} | |
] | |
} | |
} | |
} | |
], | |
"config": { | |
"text": {"fontWeight": "bold", "color": "#404040"}, | |
"view": {"stroke": null} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment