[{"id":"tile_1667289137702","date":1777038949841,"json":"{\"components\":[{\"plotOptions\":{\"series\":{\"marker\":{\"enabled\":false},\"maxPointWidth\":14,\"lineWidth\":2,\"animation\":false},\"subtitle\":{\"text\":\"\"}},\"col\":0,\"dataPlatformQueryParams\":[{\"topicId\":\"desurv1138\",\"from\":1546297200000}],\"alt\":\"\",\"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},\"custom\":{\"hideRedundantXLabels\":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\":[{\"tickInterval\":20,\"index\":0,\"opposite\":false,\"title\":{\"text\":\"\",\"align\":\"high\",\"y\":-25,\"reserveSpace\":false,\"rotation\":0,\"textAlign\":\"left\",\"style\":{\"color\":\"#272C2D\",\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"fontWeight\":\"400\",\"fontSize\":\"16px\",\"textOverflow\":\"ellipsis\",\"overflow\":\"hidden\",\"whiteSpace\":\"nowrap\",\"width\":300}},\"type\":\"linear\",\"labels\":{\"align\":\"right\"}},{\"opposite\":true,\"title\":{\"text\":\"\",\"align\":\"high\",\"y\":-25,\"reserveSpace\":false,\"rotation\":0,\"textAlign\":\"right\",\"style\":{\"color\":\"#272C2D\",\"fontFamily\":\"\\\"StatisSans\\\", sans-serif\",\"fontWeight\":\"400\",\"fontSize\":\"16px\",\"textOverflow\":\"ellipsis\",\"overflow\":\"hidden\",\"whiteSpace\":\"nowrap\",\"width\":300}},\"type\":\"linear\",\"labels\":{\"align\":\"left\"}}],\"xAxis\":[{\"crosshair\":false,\"index\":0,\"type\":\"datetime\",\"labels\":{\"format\":\"{value:%b '%y}\",\"formatterIdentifier\":\"CUSTOM\"},\"isX\":true}],\"series\":[{\"color\":\"#FF6600\",\"data\":[[1543622400000,10.89651],[1546300800000,9.08355],[1548979200000,5.62528],[1551398400000,2.72223],[1554076800000,2.51209],[1556668800000,5.68346],[1559347200000,-3.80483],[1561939200000,-5.72304],[1564617600000,-3.45125],[1567296000000,-8.44832],[1569888000000,-6.90987],[1572566400000,-5.08056],[1575158400000,-4.99852],[1577836800000,0.80877],[1580515200000,-0.74006],[1583020800000,-20.0677],[1585699200000,-48.11537],[1588291200000,-17.30871],[1590969600000,3.05576],[1593561600000,13.37927],[1596240000000,14.34451],[1598918400000,19.4314],[1601510400000,18.11032],[1604188800000,8.25893],[1606780800000,7.16859],[1609459200000,9.71185],[1612137600000,19.85241],[1614556800000,27.99394],[1617235200000,29.10075],[1619827200000,24.55268],[1622505600000,25.92324],[1625097600000,24.49959],[1627776000000,27.21787],[1630454400000,30.43889],[1633046400000,24.23577],[1635724800000,23.48589],[1638316800000,26.43766],[1640995200000,25.62606],[1643673600000,24.4318],[1646092800000,4.93374],[1648771200000,9.27177],[1651363200000,12.30645],[1654041600000,12.81974],[1656633600000,3.63141],[1659312000000,6.21194],[1661990400000,-1.56352],[1664582400000,0.42142],[1667260800000,4.72106],[1669852800000,5.59478],[1672531200000,11.60595],[1675209600000,7.05221],[1677628800000,5.86831],[1680307200000,7.29352],[1682899200000,2.22405],[1685577600000,-4.36559],[1688169600000,-9.23926],[1690848000000,-8.77128],[1693526400000,-6.57542],[1696118400000,-8.41015],[1698796800000,-8.01899],[1701388800000,-5.35358],[1704067200000,-11.34754],[1706745600000,-11.15778],[1709251200000,-8.23855],[1711929600000,-3.85269],[1714521600000,-5.85749],[1717200000000,-8.44491],[1719792000000,-7.18039],[1722470400000,-7.75036],[1725148800000,-12.57854],[1727740800000,-11.20233],[1730419200000,-8.80953],[1733011200000,-18.28889],[1735689600000,-12.32057],[1738368000000,-7.24064],[1740787200000,-2.36468],[1743465600000,-2.05855],[1746057600000,-0.03092],[1748736000000,-4.39039],[1751328000000,2.83613],[1754006400000,-4.78079],[1756684800000,-0.45991],[1759276800000,0.93769],[1761955200000,-2.74519],[1764547200000,-4.19999],[1767225600000,-3.297],[1769904000000,0.65915],[1772323200000,2.47998]],\"custom\":{\"name\":\"Produktionserwartungen\"},\"name\":\"Produktionserwartungen\",\"index\":0,\"id\":\"desurv1138\"}],\"subtitle\":{\"text\":\"\"},\"tooltip\":{\"shared\":true,\"crosshairs\":true,\"borderColor\":\"#B0B5B7\",\"mathOperation\":\"MATH_MULTIPLIER\",\"valueDecimals\":1,\"shadow\":true,\"shape\":\"rect\",\"dateFormat\":{\"label\":\"Monatlich (z.B. Oktober 2023)\",\"key\":\"MONTHLY\"},\"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(); const monthNames = [\\\"Januar\\\",\\\"Februar\\\",\\\"März\\\",\\\"April\\\",\\\"Mai\\\",\\\"Juni\\\",\\\"Juli\\\",\\\"August\\\",\\\"September\\\",\\\"Oktober\\\",\\\"November\\\",\\\"Dezember\\\"]; return `${monthNames[date.getMonth()]} ${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} Punkte</b> {pointName}</div>\\\";\\n    let bodyString = \\\"\\\";\\n    let pointCalcFunc = function(pointValue) {\\n    let tmpPointValue = Number(pointValue * 1);\\n    return new Intl.NumberFormat(\\\"de-DE\\\", { maximumFractionDigits: 1, minimumFractionDigits: 1 }).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:%B %Y}: {point.y:,.1f}\",\"style\":{\"lineHeight\":\"undefined\"},\"valueSuffix\":\" Punkte\",\"formatterIdentifier\":\"CUSTOM\",\"footerFormat\":\"\"},\"title\":{\"text\":\"\"},\"chart\":{\"zoomType\":\"xy\",\"type\":\"line\",\"marginTop\":60}},\"rowexpand\":1,\"order\":1},{\"col\":2,\"yAxisUnit\":\"<p>Saldo, saisonbereinigt</p>\",\"subtitle\":\"\",\"colexpand\":1,\"text\":\"<p>Laut Konjunkturumfrage des ifo Instituts stiegen die Produktionserwartungen deutscher Unternehmen im März&nbsp;2026 gegenüber dem Vormonat auf&nbsp;2,5&nbsp;Punkte.</p>\",\"infoButtonText\":\"Dargestellt werden die Produktionserwartungen deutscher Unternehmen in den nächsten drei Monaten.\\n\\nDie Daten sind als Saldo dargestellt. Er bildet die Differenz der Prozentanteile der Antworten, dass Unternehmen eine Ausweitung der Produktion erwarten, mit denen, dass Unternehmen mit einem Rückgang der Produktionspläne in den nächsten drei Monaten planen. Ist der Saldo größer als Null, erwarten mehr Unternehmen eine Ausweitung der Produktion als einen Rückgang.\\n\\nDie Daten sind saisonbereinigt, um konjunkturelle Trends und ungewöhnliche Entwicklungen klarer zu erkennen.\\n\\nZur Verbesserung der Qualität können Revisionen der Daten erfolgen.\\n\\nDieser Indikator wird monatlich aktualisiert. \",\"row\":0,\"type\":\"text\",\"title\":\"\",\"belongsTo\":1,\"rowexpand\":1},{\"hideSeries\":[],\"description\":\"\",\"main\":false,\"type\":\"compact\",\"title\":\"ifo Produktionserwartungen\",\"widgets\":[{\"num\":\"1,8  Punkte\",\"icon\":\"ArrowUpRight\",\"refDate\":\"Februar 2026\",\"foundExactReference\":true,\"desc\":\"höhere ifo Produktionserwartungen im März 2026 als im Vormonat\"}],\"widgetConfig\":[{\"infoText\":\"höhere ifo Produktionserwartungen im {{Datenstand}} als im Vormonat\",\"timeEntity\":2592000000,\"unit\":\" Punkte\",\"topicId\":\"desurv1138\",\"arrowEnabled\":true,\"formulaType\":\"DIFFERENCE\",\"timeReference\":\"PREVIOUS_MONTH\",\"factor\":1,\"operator\":\"TIMES\",\"decimalPlace\":1}]},{\"smallTitle\":\"ifo Produktionserwartungen\",\"imageChart\":\"\",\"variant\":1,\"type\":\"teaser\"}],\"attachments\":[],\"sources\":[{\"qualitySource\":4,\"link\":\"https://www.ifo.de/\",\"name\":\"ifo Institut\",\"quality\":4},{\"qualitySource\":5,\"name\":\"Macrobond Financial AB\",\"link\":\"https://www.macrobond.com/\"}],\"source\":\"[ifo Institut](https://www.ifo.de/); [Macrobond Financial AB](https://www.macrobond.com/)\",\"title\":\"ifo Produktionserwartungen\",\"minHeight\":0,\"lastUpdated\":1774533641592,\"maxHeight\":0,\"introtext\":\"<p>Saldo, saisonbereinigt</p>\",\"id\":\"tile_1667289137702\",\"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>GAT34DNKMP7PBYVX</RequestId><HostId>kzwFX2FWN6VjKazyYwo8yl/9Ni8o95IrhK3g0lIPKT2x0yrBmTzDb3cElooU9H+4qeVDhPwn8qlBQZs0QViPbo7o4oxiPBM+</HostId></Error>\",\"workflow\":\"manual\",\"minWidth\":0,\"dateUpload\":\"26. März 2026\",\"rows\":1,\"version\":\"2.0\",\"tags\":[\"ifo Institut\",\"Produktionserwartungen\",\"Produktion\",\"Index\",\"Barometer\",\"Konjunktur\",\"Umfrage\",\"Gewerbe\",\"Verarbeitendes Gewerbe\",\"Stimmungsindikator\"],\"width\":5,\"category\":\"Wirtschaftsaktivität und aktuelle Konjunkturindikatoren\",\"embeddable\":true,\"dataVersionDate\":\"März 2026\"}","title":"ifo Produktionserwartungen"}]