{"id":45076,"date":"2026-06-13T18:34:04","date_gmt":"2026-06-13T16:34:04","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=45076"},"modified":"2026-06-13T18:34:06","modified_gmt":"2026-06-13T16:34:06","slug":"m-files-bd-trend-widgets-line-and-area","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/","title":{"rendered":"M-Files BD &#8211; Trend widgets: line and area"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This is the second widget post of the series, focused on the two trend widgets: <strong><em>line<\/em><\/strong> and <strong><em>area<\/em><\/strong>. Since these two are closely related, it made sense to bundle them together in the same post. Both surface a single value per category or per time bucket, plotted across a horizontal axis. They are best used with the <strong><em>groupByDateBucket<\/em><\/strong> aggregation to show evolution over time, but they also accept <strong><em>groupByProperty<\/em><\/strong>.<\/p>\n\n\n\n<h2 id=\"h-1-why-these-two-are-in-the-same-post\" class=\"wp-block-heading\">1. Why these two are in the same post<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The wire format and the rendering pipeline for <strong><em>line<\/em><\/strong> and <strong><em>area<\/em><\/strong> are nearly identical. They produce the same JSON on the server, they use the same client code path, they accept the same aggregation types, the same reducers, the same <strong><em>display<\/em><\/strong> options. The only meaningful difference is visual: <strong><em>area<\/em><\/strong> fills the region under the line with a translucent color, while <strong><em>line<\/em><\/strong> leaves it transparent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In other words: choose <strong><em>area<\/em><\/strong> when you want to emphasize cumulative volume or magnitude, choose <strong><em>line<\/em><\/strong> when you want to emphasize the trajectory. Both communicate the same thing, it&#8217;s more about what you want to focus on.<\/p>\n\n\n\n<h2 id=\"h-2-a-first-example-monthly-revenue-trend\" class=\"wp-block-heading\">2. A first example: monthly revenue trend<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the canonical example: total invoice amount per month for the ongoing year, displayed as a line chart.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n{\n  &quot;id&quot;: &quot;&quot;,\n  &quot;title&quot;: &quot;Monthly revenue&quot;,\n  &quot;type&quot;: &quot;line&quot;,\n  &quot;gridColumnSpan&quot;: 12,\n  &quot;gridRowSpan&quot;: 2,\n  &quot;display&quot;: { &quot;smooth&quot;: &quot;Yes&quot;, &quot;decimals&quot;: 0 },\n  &quot;query&quot;: {\n    &quot;objectType&quot;: &quot;Document&quot;,\n    &quot;class&quot;: &quot;Invoice&quot;,\n    &quot;filters&quot;: &#x5B;\n      { &quot;property&quot;: &quot;Invoice date&quot;, &quot;operator&quot;: &quot;between&quot;,\n        &quot;value&quot;: &#x5B;&quot;@startOfYear&quot;, &quot;@endOfYear&quot;], &quot;valueType&quot;: &quot;dateToken&quot; }\n    ],\n    &quot;aggregation&quot;: {\n      &quot;type&quot;: &quot;groupByDateBucket&quot;,\n      &quot;propertyName&quot;: &quot;Invoice date&quot;,\n      &quot;bucketSize&quot;: &quot;month&quot;,\n      &quot;reducer&quot;: &quot;sum&quot;,\n      &quot;reducerProperty&quot;: &quot;Amount&quot;,\n      &quot;includeEmptyResults&quot;: &quot;Yes&quot;\n    }\n  }\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">A few things to note in this JSON:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The filter restricts the data to the current calendar year using two date tokens. The full date-token vocabulary is covered in the future Post 5.<\/li>\n\n\n\n<li>The aggregation is <strong><em>groupByDateBucket<\/em><\/strong> on the same date property, bucketed by <strong><em>month<\/em><\/strong>. Each bucket is reduced with <strong><em>sum<\/em><\/strong> of the <strong><em>Amount<\/em><\/strong> property. In other words, this means that all invoices with a date within this calendar year will be grouped by month and the value coming from the Amount property will all be summed within each month to arrive to a Total per month.<\/li>\n\n\n\n<li><strong><em>includeEmptyResults: &#8220;Yes&#8221;<\/em><\/strong> ensures that months with no invoices appear as zero values, so the trend line is continuous from January to December rather than skipping empty months (e.g. you were closed for vacations or weren&#8217;t able to sell anything for some other reasons).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Switching the widget <strong><em>type<\/em><\/strong> from <strong><em>line<\/em><\/strong> to <strong><em>area<\/em><\/strong> in this exact JSON gives the area-chart variant, nothing else changes:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a2db340b65d2&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a2db340b65d2\" class=\"wp-block-image size-full is-style-default wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1414\" height=\"974\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2.png\" alt=\"Line and area widgets\" class=\"wp-image-45079\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2.png 1414w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2-300x207.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2-1024x705.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2-768x529.png 768w\" sizes=\"auto, (max-width: 1414px) 100vw, 1414px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h2 id=\"h-3-the-aggregation-types-these-widgets-accept\" class=\"wp-block-heading\">3. The aggregation types these widgets accept<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>line<\/em><\/strong> and <strong><em>area<\/em><\/strong> are valid with two aggregation types:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>groupByDateBucket<\/em><\/strong>: the natural fit for time series. It groups a date \/ timestamp property into a certain bucket: <strong><em>day<\/em><\/strong>, <strong><em>week<\/em><\/strong>, <strong><em>month<\/em><\/strong>, <strong><em>quarter<\/em><\/strong>, or <strong><em>year<\/em><\/strong>.<\/li>\n\n\n\n<li><strong><em>groupByProperty<\/em><\/strong>: groups by the distinct values of any property. It supports date\/time properties, but it&#8217;s uncommon, as each day would be a data-point. It also support any other type of properties, to display them as categorical trends (e.g. &#8220;Monthly revenue per region&#8221; rendered as a line for some reason). Depending on requirements, a <strong><em>bar<\/em><\/strong> display might be more adapted.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The visual designer will only allow you to select one of these two aggregations. But if you try to set a <strong><em>summary<\/em><\/strong> or <strong><em>list<\/em><\/strong> aggregation in the JSON editor directly, then an error will be thrown, as it isn&#8217;t possible.<\/p>\n\n\n\n<h2 id=\"h-4-display-smooth\" class=\"wp-block-heading\">4. display.smooth<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The single most common <strong><em>display<\/em><\/strong> option for these widgets is <strong><em>smooth<\/em><\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n&quot;display&quot;: { &quot;smooth&quot;: &quot;Yes&quot; }\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">When set to <strong><em>&#8220;Yes&#8221;<\/em><\/strong>, the line\/area charts draws a B\u00e9zier-smoothed curve between data points (c.f. example above). When <strong><em>&#8220;No&#8221;<\/em><\/strong> (or omitted), the connecting line is made of straight segments. Smoothing makes monthly or quarterly trends look more visually pleasant. It can also slightly hide outliers, so use it where the trend story is more important than the exact per-bucket value.<\/p>\n\n\n\n<h2 id=\"h-5-display-decimals\" class=\"wp-block-heading\">5. display.decimals<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For numeric reducers (<strong><em>sum<\/em><\/strong>, <strong><em>avg<\/em><\/strong>, <strong><em>min<\/em><\/strong>, <strong><em>max<\/em><\/strong>, <strong><em>median<\/em><\/strong>), this controls how many decimal places are shown in tooltips (default <strong><em>0<\/em><\/strong>).<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n&quot;display&quot;: { &quot;smooth&quot;: &quot;Yes&quot;, &quot;decimals&quot;: 2 }\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">In the monthly-revenue example above, if amounts are stored as floats (which is probably the case), you may want <strong><em>decimals: 2<\/em><\/strong> so the tooltip would show <strong><em>116&#8217;520.43<\/em><\/strong> rather than <strong><em>116&#8217;520<\/em><\/strong>.<\/p>\n\n\n\n<h2 id=\"h-6-display-thresholds-in-single-series-mode\" class=\"wp-block-heading\">6. display.thresholds in single-series mode<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In single-series mode (no <strong><em>seriesProperty<\/em><\/strong>), the <strong><em>thresholds<\/em><\/strong> array colors <strong>each data point marker<\/strong> based on its own value. The connecting line (and the area below) itself stays brand blue. The configuration is the same as on <strong><em>kpiNumber<\/em><\/strong> and <strong><em>gauge<\/em><\/strong>. You can either use text values representing colors or the HTML color code:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n&quot;display&quot;: {\n  &quot;smooth&quot;: &quot;No&quot;,\n  &quot;thresholds&quot;: &#x5B;\n    { &quot;value&quot;: 0, &quot;color&quot;: &quot;red&quot; },\n    { &quot;value&quot;: 40000, &quot;color&quot;: &quot;orange&quot; },\n    { &quot;value&quot;: 100000, &quot;color&quot;: &quot;yellow&quot; },\n    { &quot;value&quot;: 120000, &quot;color&quot;: &quot;green&quot; }\n  ]\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">This is useful to highlight specific buckets that crossed a business threshold without changing the overall trend visualization. As mentioned in <a href=\"https:\/\/www.dbi-services.com\/blog\/m-files-bd-scalar-widgets-kpinumber-and-gauge\/\">Post 4a<\/a>, the default falls back to brand blue for values below the lowest threshold.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a2db340b7163&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a2db340b7163\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1416\" height=\"974\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.6.png\" alt=\"Line and area widgets with thresholds\" class=\"wp-image-45080\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.6.png 1416w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.6-300x206.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.6-1024x704.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.6-768x528.png 768w\" sizes=\"auto, (max-width: 1416px) 100vw, 1416px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h2 id=\"h-7-seriesproperty-multiple-lines-on-the-same-chart\" class=\"wp-block-heading\">7. seriesProperty: multiple lines on the same chart<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is where these widgets become genuinely powerful. When you set a <strong><em>seriesProperty<\/em><\/strong> on the aggregation, the engine produces <strong>one line per distinct value<\/strong> of that additional property, with an automatic legend and color palette.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For instance, splitting the monthly revenue line into separate lines per country:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n&quot;aggregation&quot;: {\n  &quot;type&quot;: &quot;groupByDateBucket&quot;,\n  &quot;propertyName&quot;: &quot;Invoice date&quot;,\n  &quot;bucketSize&quot;: &quot;month&quot;,\n  &quot;reducer&quot;: &quot;sum&quot;,\n  &quot;reducerProperty&quot;: &quot;Amount&quot;,\n  &quot;seriesProperty&quot;: &quot;Country&quot;,\n  &quot;includeEmptyResults&quot;: &quot;Yes&quot;\n}\n<\/pre><\/div>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a2db340b7878&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a2db340b7878\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1384\" height=\"1448\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.7.png\" alt=\"Line and area widgets total as well as multi-series per country\" class=\"wp-image-45081\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.7.png 1384w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.7-287x300.png 287w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.7-979x1024.png 979w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.7-768x804.png 768w\" sizes=\"auto, (max-width: 1384px) 100vw, 1384px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A few notes that matter in practice:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>display.smooth<\/em><\/strong> applies to every series. There is no per-series smoothing.<\/li>\n\n\n\n<li><strong><em>display.thresholds<\/em><\/strong> are <strong>silently ignored<\/strong> in multi-series mode. If they were applied per-point, they would override the series palette colors and break the relationship between line color and legend label. So the engine drops them in multi-series and keeps the legend honest.<\/li>\n\n\n\n<li><strong><em>includeEmptyResults<\/em><\/strong> in multi-series mode fills gaps across <strong>both dimensions<\/strong> (every series gets a zero in any time bucket where it has no data). This avoids broken lines.<\/li>\n<\/ul>\n\n\n\n<h3 id=\"h-7-1-use-low-cardinality-series-only\" class=\"wp-block-heading\">7.1. Use low-cardinality series only<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong><em>seriesProperty<\/em><\/strong> is best used with <strong>low-cardinality<\/strong> properties: lookup values, booleans, short text ranges. A monthly revenue chart with 5-6 customers is readable, but the same chart with two hundred customers becomes a colored mess where no individual line is distinguishable from the others. If there are too many series, it loses its usefulness. The validation wouldn&#8217;t block it though, since it is technically a valid compatibility. Try it, and see what it looks like!<\/p>\n\n\n\n<h2 id=\"h-8-includeemptyresults-gap-filling\" class=\"wp-block-heading\">8. includeEmptyResults: gap filling<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I mentioned this earlier already, and as you could see above, there are actually months with &#8220;0&#8221; values\/amounts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With <strong><em>includeEmptyResults: &#8220;Yes&#8221;<\/em><\/strong> present, the graph will fill the gaps between the earliest and the latest data points found with zero values. In above example, we can see in March that there was 0 revenue in total. And similarly, in October, there was 0 revenue for the USA. There is no discontinuity in the lines, all months are present, even if there is &#8220;0&#8221; as a result.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With <strong><em>includeEmptyResults: &#8220;No&#8221;<\/em><\/strong>, the chart will only display the buckets that have at least one matching object (across the series). So, if no invoice was issued in March, the X axis jumps from February to April directly. For above case, it would still display October, since there is a revenue in Switzerland, therefore the USA line will display a &#8220;0&#8221; value still, the line cannot be &#8220;cut&#8221;. Visually, that compresses the time scale and hides the meaningful &#8220;we had no revenue in March&#8221; signal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are valid use cases for both situations, so just select the one that makes sense depending on what you want to see.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Note:<\/em><\/strong> Adding <strong><em>includeEmptyResults: &#8220;Yes&#8221;<\/em><\/strong> can also add a <strong><em>(none)<\/em><\/strong> bucket for objects whose property used by the <strong><em>groupByProperty<\/em><\/strong> has no value. For example, if you group by a boolean state Yes\/No, and some objects do not have a value on that boolean, they would end up in this <strong><em>(none)<\/em><\/strong> group. For <strong><em>groupByDateBucket<\/em><\/strong>, they usually don&#8217;t appear since you usually filter on a date in a certain range (like a month, or a year). Therefore if there is no date, usually it is just outside the range, but it technically also behaves in the same way if you fetch all results.<\/p>\n\n\n\n<h2 id=\"h-9-the-no-date-valued-reducer-rule\" class=\"wp-block-heading\">9. The &#8220;no date-valued reducer&#8221; rule<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Same rule as on chart widgets in general: <strong><em>line<\/em><\/strong> and <strong><em>area<\/em><\/strong> cannot render a reducer that returns a date string. If you write something like:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n&quot;aggregation&quot;: {\n  &quot;type&quot;: &quot;groupByProperty&quot;,\n  &quot;propertyName&quot;: &quot;Customer&quot;,\n  &quot;reducer&quot;: &quot;max&quot;,\n  &quot;reducerProperty&quot;: &quot;Invoice date&quot;\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Then, with a <strong><em>line<\/em><\/strong> widget, the display would contain a placeholder and the query validation would show a warning. The reason was discussed in the previous post: ISO dates cannot be plotted on a numeric axis at the moment, so it wouldn&#8217;t make sense as a display.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The workaround is the same: use <strong><em>kpiNumber<\/em><\/strong> or a <strong><em>gauge<\/em><\/strong> in date mode if you only want to display one value, or a <strong><em>table<\/em><\/strong> for one or more values.<\/p>\n\n\n\n<h2 id=\"h-10-drill-through-on-trend-widgets\" class=\"wp-block-heading\">10. Drill-through on trend widgets<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When <strong><em>drillThroughEnabled<\/em><\/strong> is <strong><em>&#8220;Yes&#8221;<\/em><\/strong>, clicking a data point opens the drill-through modal with the objects in that bucket. In multi-series mode, the click respects the series the point belongs to: only objects matching both the time bucket <strong>and<\/strong> the series value are shown. This makes it easy to answer questions like &#8220;show me the May invoices from Switzerland&#8221; with a single click on the right point of the line.<\/p>\n\n\n\n<h2 id=\"h-11-wrap-up\" class=\"wp-block-heading\">11. Wrap-up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>line<\/em><\/strong> and <strong><em>area<\/em><\/strong> are the natural choice for time-series questions. They are fundamentally one widget with two visual modes, sharing the same aggregation contract and the same <strong><em>display<\/em><\/strong> vocabulary. The interesting part is what you can do with <strong><em>seriesProperty<\/em><\/strong>: turning a single trend into a multi-actor comparison without writing any extra logic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Post 4c picks up the remaining three widgets: <strong><em>donut<\/em><\/strong>, <strong><em>bar<\/em><\/strong>, and <strong><em>table<\/em><\/strong>. The grouping rationale will be that they all answer <strong>distribution<\/strong> questions (how a population breaks down by category) or <strong>tabular<\/strong> questions (give me the raw rows), as opposed to the time-trend questions that <strong><em>line<\/em><\/strong> and <strong><em>area<\/em><\/strong> handle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Want to know more about this Business Dashboard? <a href=\"https:\/\/www.dbi-services.com\/company\/contact\/\" target=\"_blank\" rel=\"noreferrer noopener\">Contact us<\/a> and we will be happy to showcase it on <a href=\"https:\/\/www.m-files.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">M-Files<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the second widget post of the series, focused on the two trend widgets: line and area. Since these two are closely related, it made sense to bundle them together in the same post. Both surface a single value per category or per time bucket, plotted across a horizontal axis. They are best used [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[525],"tags":[4109,4094,4108,3190,4099],"type_dbi":[],"class_list":["post-45076","post","type-post","status-publish","format-standard","hentry","category-enterprise-content-management","tag-area","tag-business-dashboard","tag-line","tag-m-files","tag-widget"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.8 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>M-Files BD - Trend widgets: line and area - dbi Blog<\/title>\n<meta name=\"description\" content=\"Configure line and area trend widgets in the M-Files Business Dashboard: date buckets, multi-series with seriesProperty, gap filling, etc...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"M-Files BD - Trend widgets: line and area\" \/>\n<meta property=\"og:description\" content=\"Configure line and area trend widgets in the M-Files Business Dashboard: date buckets, multi-series with seriesProperty, gap filling, etc...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-13T16:34:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-13T16:34:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1414\" \/>\n\t<meta property=\"og:image:height\" content=\"974\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Morgan Patou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MorganPatou\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Morgan Patou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/\"},\"author\":{\"name\":\"Morgan Patou\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"headline\":\"M-Files BD &#8211; Trend widgets: line and area\",\"datePublished\":\"2026-06-13T16:34:04+00:00\",\"dateModified\":\"2026-06-13T16:34:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/\"},\"wordCount\":1546,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/06\\\/4b.2.png\",\"keywords\":[\"area\",\"Business Dashboard\",\"line\",\"M-Files\",\"widget\"],\"articleSection\":[\"Enterprise content management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/\",\"name\":\"M-Files BD - Trend widgets: line and area - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/06\\\/4b.2.png\",\"datePublished\":\"2026-06-13T16:34:04+00:00\",\"dateModified\":\"2026-06-13T16:34:06+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"description\":\"Configure line and area trend widgets in the M-Files Business Dashboard: date buckets, multi-series with seriesProperty, gap filling, etc...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/06\\\/4b.2.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/06\\\/4b.2.png\",\"width\":1414,\"height\":974},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-bd-trend-widgets-line-and-area\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"M-Files BD &#8211; Trend widgets: line and area\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\",\"name\":\"Morgan Patou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"caption\":\"Morgan Patou\"},\"description\":\"Morgan Patou has over 15 years of experience in Digitalization &amp; Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache HTTPD\\\/Tomcat, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\\\/Banking, and the Pharmaceutical industry.\",\"sameAs\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/morgan-patou\\\/\",\"https:\\\/\\\/x.com\\\/MorganPatou\"],\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/morgan-patou\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"M-Files BD - Trend widgets: line and area - dbi Blog","description":"Configure line and area trend widgets in the M-Files Business Dashboard: date buckets, multi-series with seriesProperty, gap filling, etc...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/","og_locale":"en_US","og_type":"article","og_title":"M-Files BD - Trend widgets: line and area","og_description":"Configure line and area trend widgets in the M-Files Business Dashboard: date buckets, multi-series with seriesProperty, gap filling, etc...","og_url":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/","og_site_name":"dbi Blog","article_published_time":"2026-06-13T16:34:04+00:00","article_modified_time":"2026-06-13T16:34:06+00:00","og_image":[{"width":1414,"height":974,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2.png","type":"image\/png"}],"author":"Morgan Patou","twitter_card":"summary_large_image","twitter_creator":"@MorganPatou","twitter_misc":{"Written by":"Morgan Patou","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/"},"author":{"name":"Morgan Patou","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"headline":"M-Files BD &#8211; Trend widgets: line and area","datePublished":"2026-06-13T16:34:04+00:00","dateModified":"2026-06-13T16:34:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/"},"wordCount":1546,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2.png","keywords":["area","Business Dashboard","line","M-Files","widget"],"articleSection":["Enterprise content management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/","url":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/","name":"M-Files BD - Trend widgets: line and area - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2.png","datePublished":"2026-06-13T16:34:04+00:00","dateModified":"2026-06-13T16:34:06+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"description":"Configure line and area trend widgets in the M-Files Business Dashboard: date buckets, multi-series with seriesProperty, gap filling, etc...","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/4b.2.png","width":1414,"height":974},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/m-files-bd-trend-widgets-line-and-area\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"M-Files BD &#8211; Trend widgets: line and area"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8","name":"Morgan Patou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","caption":"Morgan Patou"},"description":"Morgan Patou has over 15 years of experience in Digitalization &amp; Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache HTTPD\/Tomcat, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.","sameAs":["https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/","https:\/\/x.com\/MorganPatou"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/45076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=45076"}],"version-history":[{"count":1,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/45076\/revisions"}],"predecessor-version":[{"id":45083,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/45076\/revisions\/45083"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=45076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=45076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=45076"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=45076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}