[{"id":"tile_1678111428688","date":1777038756751,"json":"{\"components\":[{\"plotOptions\":{\"series\":{\"marker\":{\"enabled\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"subtitle\":{\"text\":\"\"}},\"col\":0,\"dataPlatformQueryParams\":[{\"topicId\":\"31121BJ001-WOHN01\",\"from\":978307200000,\"filters\":{\"BAUGB1\":[\"GBD-W-NW\"],\"BAUTK1\":[\"BTK-GEB\"]}},{\"topicId\":\"31111BJ001-WOHN01\",\"from\":978307200000,\"filters\":{\"BAUGB1\":[\"GBD-W-NW\"],\"BAUTK1\":[\"BTK-GEB\"]}}],\"alt\":\"Die Grafik zeigt die jährliche Anzahl genehmigter und fertiggestellter Wohnungen ab dem Jahr 2001.\",\"main\":false,\"type\":\"highcharts\",\"colors\":[\"#3366CC\",\"#CC0033\",\"#339966\",\"#66CCFF\",\"#FF9900\",\"#333366\",\"#FF6600\",\"#66CC66\",\"#990033\",\"#2C6622\",\"#FFCC33\",\"#660022\"],\"series\":[],\"colexpand\":2,\"row\":0,\"chart\":{\"plotOptions\":{\"bar\":{\"point\":{\"events\":{\"mouseOver\":\"function () {\\n    const index = this.index;\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          if (item.index !== index) {\\n            item.graphic?.css({ opacity: 0.3 });\\n          }\\n        });\\n      });\\n    }\\n  }\",\"mouseOut\":\"function () {\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          item.graphic?.css({ opacity: 1 });\\n        });\\n      });\\n    }\\n  }\"}}},\"series\":{\"connectNulls\":true,\"marker\":{\"enabled\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"column\":{\"point\":{\"events\":{\"mouseOver\":\"function () {\\n    const index = this.index;\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          if (item.index !== index) {\\n            item.graphic?.css({ opacity: 0.3 });\\n          }\\n        });\\n      });\\n    }\\n  }\",\"mouseOut\":\"function () {\\n    const chart = this.series.chart || undefined;\\n\\n    if (chart) {\\n      const series = chart.series;\\n      series?.forEach(items => {\\n        items.data?.forEach(item => {\\n          item.graphic?.css({ opacity: 1 });\\n        });\\n      });\\n    }\\n  }\"}}}},\"yAxis\":[{\"min\":0,\"tickInterval\":100000,\"opposite\":false,\"type\":\"linear\",\"title\":{\"align\":\"high\",\"rotation\":0,\"text\":\"\",\"y\":-20,\"offset\":0,\"x\":0,\"reserveSpace\":true,\"style\":{\"color\":\"#272C2D\",\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"fontWeight\":\"400\",\"fontSize\":\"16px\",\"whiteSpace\":\"nowrap\"}},\"labels\":{\"formatter\":\"function() { return `${Number((this.value / 1000).toFixed(0)).toLocaleString('de-DE', {minimumFractionDigits: 0, maximumFractionDigits: 0})}`}\",\"mathPow\":1000,\"prefix\":\"\",\"decimals\":0,\"suffix\":\"\",\"formatterIdentifier\":\"MATH_DIVIDER\"}},{\"opposite\":true,\"type\":\"linear\",\"title\":{\"align\":\"high\",\"rotation\":0,\"text\":\"\",\"y\":-20,\"offset\":0,\"x\":0,\"reserveSpace\":true,\"style\":{\"color\":\"#272C2D\",\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"fontWeight\":\"400\",\"fontSize\":\"16px\",\"whiteSpace\":\"nowrap\"}}}],\"xAxis\":[{\"crosshair\":false,\"type\":\"datetime\",\"labels\":{\"format\":\"{value:%Y}\",\"formatterIdentifier\":\"CUSTOM\"}}],\"series\":[{\"color\":\"#333366\",\"data\":[[978307200000,326187],[1009843200000,289590],[1041379200000,268103],[1072915200000,278008],[1104537600000,242316],[1136073600000,249436],[1167609600000,210729],[1199145600000,175927],[1230768000000,158987],[1262304000000,159832],[1293840000000,183110],[1325376000000,200466],[1356998400000,214817],[1388534400000,245325],[1420070400000,247722],[1451606400000,277691],[1483228800000,284816],[1514764800000,287352],[1546300800000,293002],[1577836800000,306376],[1609459200000,293393],[1640995200000,295275],[1672531200000,294399],[1704067200000,251937]],\"custom\":{\"name\":\"Fertiggestellte Wohnungen\"},\"name\":\"Fertiggestellte Wohnungen\",\"index\":0,\"id\":\"31121BJ001-WOHN01_BAUART1_GBD-W-NW_DG_BTK-GEB\"},{\"color\":\"#FF6600\",\"data\":[[978307200000,290978],[1009843200000,274117],[1041379200000,296823],[1072915200000,268679],[1104537600000,240571],[1136073600000,247793],[1167609600000,182771],[1199145600000,174691],[1230768000000,177570],[1262304000000,187632],[1293840000000,228311],[1325376000000,241090],[1356998400000,272433],[1388534400000,285079],[1420070400000,313296],[1451606400000,375388],[1483228800000,347882],[1514764800000,346810],[1546300800000,360493],[1577836800000,368589],[1609459200000,380736],[1640995200000,354162],[1672531200000,259639],[1704067200000,215289]],\"custom\":{\"name\":\"Genehmigte Wohnungen\"},\"name\":\"Genehmigte Wohnungen\",\"index\":1,\"id\":\"31111BJ001-WOHN01_BAUART1_GBD-W-NW_DG_BTK-GEB\"}],\"subtitle\":{\"text\":\"\"},\"tooltip\":{\"shared\":true,\"crosshairs\":true,\"borderColor\":\"#B0B5B7\",\"mathOperation\":\"MATH_MULTIPLIER\",\"shadow\":true,\"shape\":\"rect\",\"dateFormat\":{\"label\":\"Jahr (z.B. 2023)\",\"key\":\"YEAR\"},\"positioner\":\"function (labelWidth, labelHeight, point) {\\n      const chart = this.chart;\\n      const chartPosition = chart.pointer.getChartPosition();\\n      const defaultSpacing = 12;\\n      const topBarHeight = document.querySelector(\\\".topbar\\\")?.getBoundingClientRect().height || 50;\\n\\n      \\n      let tooltipYPos = -labelHeight - defaultSpacing;\\n      let customLineHeightShorten = 0;\\n      if (window.scrollY + topBarHeight > chartPosition.top + tooltipYPos) {\\n        tooltipYPos = window.scrollY + topBarHeight - chartPosition.top;\\n        customLineHeightShorten = Math.abs(-labelHeight - defaultSpacing - tooltipYPos);\\n      }\\n      let tooltipXPos = this.chart.plotLeft + point.plotX - labelWidth / 2;\\n\\n      \\n      const tooltipContainer = document.querySelector(\\\".highcharts-tooltip-container\\\");\\n      if (tooltipContainer) {\\n        const plotOffsetTop = this.chart?.plotTop\\n          ? (this.chart?.types?.[0] === \\\"line\\\" && this.chart?.types?.length < 2\\n              ? this.chart.plotHeight + this.chart.plotTop\\n              : this.chart.plotTop) -\\n            customLineHeightShorten +\\n            defaultSpacing\\n          : 0 - customLineHeightShorten;\\n        tooltipContainer.setAttribute(\\\"data-plot-top-offset\\\", plotOffsetTop.toString());\\n      }\\n\\n      if (this.chart?.types?.[0] === \\\"bar\\\") {\\n        tooltipXPos = tooltipXPos - point.h / 2;\\n      }\\n\\n     \\n      if ((this.chart?.types?.[0] === \\\"map\\\" || this.chart?.types?.[0] === \\\"pie\\\" || this.chart?.types?.[0] === \\\"column\\\") && tooltipContainer) {\\n        const fixedLabelX = tooltipContainer.getAttribute(\\\"data-fixed-tooltip-x\\\");\\n        if (fixedLabelX) {\\n          tooltipXPos = Number(fixedLabelX) - labelWidth / 2;\\n        }\\n        if(this.chart?.types?.[0] === \\\"column\\\" && fixedLabelX) {\\n          tooltipXPos = this.chart.plotLeft + Number(fixedLabelX) - labelWidth / 2;\\n        }\\n      }\\n      if(this.chart?.types?.[0] === \\\"bar\\\" && this.chart?.yAxis?.length === 2) {\\n        if(point.plotX <= (this.chart.plotWidth / 2) && this.chart?.yAxis?.[0]?.len && this.chart?.yAxis?.[0]?.left && false) {\\n          tooltipXPos = this.chart.yAxis[0].left - labelWidth/2 + this.chart.yAxis[0].len - (point.h / 2);\\n        }\\n      }  \\n\\n      return {\\n        x: tooltipXPos,\\n        y: tooltipYPos\\n      };\\n    }\",\"enabled\":true,\"animation\":false,\"mathPow\":1,\"formatter\":\"function() {\\n  \\n      const createCustomLine = () => { \\n    let pointXValue = null;\\n    let pointYValue = null;\\n\\n    pointXValue: 0; pointYValue = 0;\\n    ;\\n    let offsetChart = 60 + 12;\\n    const highchartTooltipContainer = document.querySelector('div.highcharts-tooltip-container');\\n    if(highchartTooltipContainer) {\\n      offsetChart = Number(highchartTooltipContainer.getAttribute('data-plot-top-offset'));\\n    }\\n    \\n    \\n    // -1 to prevent line touch the x-axis\\n    let customLineHeight = pointYValue + offsetChart - 1; \\n\\n    if(customLineHeight < 0) {\\n      customLineHeight = 0;\\n    }\\n\\n    return `<style>\\n    .highcharts-label span:first-child::before{\\n      position:absolute;\\n      content:'';\\n      bottom: -9px;\\n      left:50%;\\n      width:1px;\\n      height: ${customLineHeight}px;\\n      background:#B0B5B7;\\n      transform: translate(-100%, 100%);\\n    }</style>`;\\n  };;\\n      const customLine = createCustomLine();\\n      const formatDate = function(timestamp) {const date = new Date(timestamp) || new Date(); return date.getFullYear();}; const header = `<style>\\n    .highcharts-tooltip-container .highcharts-tooltip span{\\n      line-height: 18px !important;\\n    } \\n  </style><span style='margin-bottom: 4px; display: inline-block; width: 100%; text-align: center; line-height: 20px;'><b>${formatDate(this?.x)}</b></span><br>`;\\n      const getBodyFunc = () => { let pointFormat = \\\"<div><span style='display: inline-block; width: 10px; height: 5px; vertical-align: middle; background-color: {pointColor}; margin-right: 4px;'></span><b>{pointValue}</b> {pointName}</div>\\\";\\n    let bodyString = \\\"\\\";\\n    let pointCalcFunc = function(pointValue) {\\n    let tmpPointValue = Number(pointValue * 1);\\n    return new Intl.NumberFormat(\\\"de-DE\\\").format(tmpPointValue);\\n  };;\\n    let pointFillFunc = function(pointString, pointColor, pointValue, pointName) { \\n    return pointString.replace(\\\"{pointColor}\\\", pointColor).replace(\\\"{pointValue}\\\", pointValue).replace(\\\"{pointName}\\\", pointName);\\n  };; \\n    this?.points?.forEach((point) => {\\n      let pointColor = point?.color || \\\"\\\"; \\n      let pointName = point?.series?.userOptions?.custom?.name || point?.series?.name || \\\"\\\";\\n      bodyString += pointFillFunc(pointFormat, pointColor, pointCalcFunc(point?.y), pointName);\\n    })\\n\\n    return bodyString;\\n  };;\\n      const body = getBodyFunc();\\n      return header + body + customLine;\\n    }\",\"headerFormat\":\"<b>{series.name}</b><br>\",\"borderRadius\":2,\"useHTML\":true,\"valuePrefix\":\"\",\"outside\":true,\"pointFormat\":\"{point.category:%d.%m.%Y}: {point.y:.,0f}\",\"style\":{\"lineHeight\":\"undefined\"},\"valueSuffix\":\"\",\"footerFormat\":\"\"},\"title\":{\"text\":\"\"},\"chart\":{\"zoomType\":\"xy\",\"type\":\"line\",\"marginTop\":60}},\"rowexpand\":1,\"order\":1},{\"col\":2,\"yAxisUnit\":\"<p>in Tausend</p>\",\"subtitle\":\"\",\"colexpand\":1,\"text\":\"<p>Im Jahr 2024 wurden in Deutschland 251.937 Wohnungen in Wohn- und Nichtwohngebäuden fertiggestellt. Dies war ein Rückgang von 14,4 % oder 42.462 fertiggestellter Wohnungen als im Jahr davor.</p><p>Die Zahl der Baugenehmigungen ist im Jahr 2024 mit 215.289 Wohnungen um 17,1&nbsp;% gegenüber dem Vorjahr gesunken. Auch der Überhang von genehmigten, noch nicht fertiggestellten Wohnungen zum 31.12.2024 ging mit insgesamt 759.743 Wohnungen um 8,1 % zurück.</p>\",\"infoButtonText\":\"Dargestellt werden die Anzahl der genehmigten sowie die Anzahl der fertiggestellten Wohnungen.\\n\\nDie Daten sind als Absolutwerte dargestellt.\\n\\nDieser Indikator wird jährlich aktualisiert.\",\"row\":0,\"type\":\"text\",\"title\":\"\",\"belongsTo\":1,\"rowexpand\":1},{\"hideSeries\":[],\"description\":\"\",\"main\":false,\"type\":\"compact\",\"title\":\"Genehmigte und fertiggestellte Wohnungen\",\"widgets\":[{\"num\":\"251.937\",\"icon\":\"\",\"refDate\":null,\"foundExactReference\":false,\"desc\":\"fertiggestellte Wohnungen in 2024\"},{\"num\":\"14,4 %\",\"icon\":\"ArrowDownRight\",\"refDate\":\"2023\",\"foundExactReference\":true,\"desc\":\"weniger fertiggestellte Wohnungen in 2023 als im Vorjahr\"}],\"widgetConfig\":[null,{\"infoText\":\"weniger fertiggestellte Wohnungen in 2023 als im Vorjahr\",\"timeEntity\":31536000000,\"unit\":\"%\",\"topicId\":\"31121BJ001-WOHN01\",\"arrowEnabled\":true,\"formulaType\":\"RELATIVE\",\"filters\":{\"BAUGB1\":\"GBD-W-NW\",\"BAUTK1\":\"BTK-GEB\"},\"timeReference\":\"PREVIOUS_YEAR\",\"factor\":100,\"operator\":\"TIMES\",\"decimalPlace\":1}]},{\"smallTitle\":\"Genehmigte und fertiggestellte Wohnungen\",\"imageChart\":\"\",\"variant\":1,\"type\":\"teaser\"}],\"attachments\":[{\"name\":\"Genehmigte und fertiggestellte Wohnungen.csv\",\"type\":\"csv\"},{\"name\":\"Genehmigte und fertiggestellte Wohnungen.xlsx\",\"type\":\"xlsx\"}],\"sources\":[{\"qualitySource\":1,\"link\":\"https://www.destatis.de/DE/Themen/Branchen-Unternehmen/Bauen/_inhalt.html\",\"name\":\"Statistisches Bundesamt (Destatis)\",\"quality\":1}],\"source\":\"[Statistisches Bundesamt (Destatis)](https://www.destatis.de/DE/Themen/Branchen-Unternehmen/Bauen/_inhalt.html)\",\"title\":\"Genehmigte und fertiggestellte Wohnungen\",\"minHeight\":0,\"lastUpdated\":1763110846550,\"maxHeight\":0,\"introtext\":\"<p>in Tausend</p>\",\"id\":\"tile_1678111428688\",\"lang\":\"de\",\"cols\":3,\"height\":4,\"maxWidth\":0,\"previewImg\":\"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<Error><Code>MethodNotAllowed</Code><Message>The specified method is not allowed against this resource.</Message><Method>POST</Method><ResourceType>OBJECT</ResourceType><RequestId>MQZYXFK27FE75R84</RequestId><HostId>KT8WQcFepedEvkPxQhCBM0Sbd68Bnk+kJJPXpIDX99j+pR/PWaLAZ+Hwxu52my/FKFrEo28bn2o=</HostId></Error>\",\"workflow\":\"manual\",\"minWidth\":0,\"dateUpload\":\"18. November 2025\",\"rows\":1,\"version\":\"2.0\",\"tags\":[\"Baugenehmigung\",\"Baufertigstellung\",\"Immobilien\",\"Bauwirtschaft\",\"Frühindikator\",\"Wohnung\",\"Neubau\",\"Bauüberhang\"],\"width\":5,\"category\":\"Wohnen und Bauen\",\"embeddable\":true,\"dataVersionDate\":\"2024\"}","title":"Genehmigte und fertiggestellte Wohnungen"}]