{"id":4,"date":"2020-12-18T19:29:37","date_gmt":"2020-12-18T18:29:37","guid":{"rendered":"https:\/\/dataengineer.at\/blog\/?p=4"},"modified":"2020-12-23T10:25:32","modified_gmt":"2020-12-23T09:25:32","slug":"composite-ist-da-vorsicht","status":"publish","type":"post","link":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/","title":{"rendered":"&#8222;Composite&#8220; ist da &#8211; VORSICHT!"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Ever seen something like this ...?<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"488\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition2_Verlauf-1-1024x488.png\" alt=\"\" class=\"wp-image-170\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition2_Verlauf-1-1024x488.png 1024w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition2_Verlauf-1-300x143.png 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition2_Verlauf-1-768x366.png 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition2_Verlauf-1-16x8.png 16w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition2_Verlauf-1-600x286.png 600w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition2_Verlauf-1-945x451.png 945w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition2_Verlauf-1.png 1053w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Power BI<\/strong> &#8222;Composite&#8220;-Modell ist da! (Derzeit Preview)<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>The community is in ecstatic euphoria, including me. We had burning desire for it, waited a long time, voted for it.<\/p><\/blockquote><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A milestone, a game changer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And then why this title!?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let's start at the beginning ...<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a4e5d123cfc5\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a4e5d123cfc5\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#Was_ist_%E2%80%9EComposite%E2%80%9C_uberhaupt\" >Was ist &#8222;Composite&#8220; \u00fcberhaupt?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#Was_ist_der_grose_Vorteil_von_%E2%80%9EComposite%E2%80%9C\" >Was ist der gro\u00dfe Vorteil von &#8222;Composite&#8220;?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#Wo_ist_nun_die_Gefahr\" >Where is the danger now?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#Ein_kleines_Beispiel\" >A little example<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#Die_Abfrage\" >The query<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#Die_Gefahr_Der_Join\" >The danger: the join<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#Losungen\" >Solutions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#Conclusio\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Was_ist_%E2%80%9EComposite%E2%80%9C_uberhaupt\"><\/span>Was ist &#8222;Composite&#8220; \u00fcberhaupt?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die effizientes und schnellste Speicher- und Abfrageart ist die von Power BI selbst, n\u00e4mlich &#8222;Tabular&#8220; &#8211; die Daten liegen hoch komprimiert im Memory und sind somit schnell und sicher abzufragen und alle Relationen zwischen den Daten sind auch enthalten f\u00fcr rasche Filterung, dieses Tabular Modell ist das &#8222;Dataset&#8220;. <br>Auch wenn es zuvor einmal Datenbanktabellen waren oder Excel-Dateien, einmal importiert werden sie zum Tabular Model, daher ist der &#8222;Import&#8220;-Mode immer zu bevorzugen.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>But there was one major disadvantage!<\/p><\/blockquote><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mit der Verwendung eines zentralen Dataset f\u00fcr mehrere Reports mit der Quelle als AAS oder PowerBI (sogenannte &#8222;Live-Connection&#8220;), konnte man keine weiteren Quellen mehr dazu anbinden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And now it's possible!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"783\" height=\"720\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/composite-models.jpg\" alt=\"\" class=\"wp-image-115\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/composite-models.jpg 783w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/composite-models-300x276.jpg 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/composite-models-768x706.jpg 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/composite-models-13x12.jpg 13w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/composite-models-600x552.jpg 600w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Was_ist_der_grose_Vorteil_von_%E2%80%9EComposite%E2%80%9C\"><\/span>Was ist der gro\u00dfe Vorteil von &#8222;Composite&#8220;?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It is not only technically possible to connect tabular models in the memory with other sources and models.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The milestone is that self-service BI is truly coming to life from a business perspective.<br>There can be a central, aproved enterprise model and the possibility for key users to connect further business sources, whether it is the budget figures from Excel or raw material prices from the Internet.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"853\" height=\"406\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/directquery-datasets-04.png\" alt=\"\" class=\"wp-image-116\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/directquery-datasets-04.png 853w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/directquery-datasets-04-300x143.png 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/directquery-datasets-04-768x366.png 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/directquery-datasets-04-16x8.png 16w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/directquery-datasets-04-600x286.png 600w\" sizes=\"auto, (max-width: 853px) 100vw, 853px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Another possibility is to add more detailed data to the fast online data with direct database queries, so that not all very granular lines have to be in the model.<br>Etwas \u00e4hnliches gibt es zwar als &#8222;Aggregations&#8220;, aber auch nicht f\u00fcr Live-Connections.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Wo_ist_nun_die_Gefahr\"><\/span>Where is the danger now?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>There can be major performance problems with Direct Query.<\/p><\/blockquote><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Not because the technology is slow, but because a model needs to be well thought out and designed and you have to understand what happens when you query it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is tempting to add a table right away.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ein_kleines_Beispiel\"><\/span>A little example<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Our central enterprise model has summarized sales per product per day.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"804\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_SalesByProduct.png\" alt=\"\" class=\"wp-image-123\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_SalesByProduct.png 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_SalesByProduct-287x300.png 287w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_SalesByProduct-11x12.png 11w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_SalesByProduct-600x628.png 600w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is loaded as a dataset to Power BI Service and is available as a base for all reports.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"534\" height=\"202\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_PB_Service.png\" alt=\"\" class=\"wp-image-124\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_PB_Service.png 534w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_PB_Service-300x113.png 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Dataset_PB_Service-16x6.png 16w\" sizes=\"auto, (max-width: 534px) 100vw, 534px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The very detailed individual booking lines, per customer, shop and product, are rarely needed.<br>These can be added to the model as direct database queries.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"487\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1-1024x487.png\" alt=\"\" class=\"wp-image-175\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1-1024x487.png 1024w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1-300x143.png 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1-768x365.png 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1-1536x730.png 1536w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1-16x8.png 16w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1-600x285.png 600w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1-945x449.png 945w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_DirectQuery_Marker-1.png 1919w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Both can be used in the report and same filters are also used for both.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker-1024x576.png\" alt=\"\" class=\"wp-image-141\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker-1024x576.png 1024w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker-300x169.png 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker-768x432.png 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker-1536x864.png 1536w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker-16x9.png 16w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker-600x338.png 600w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker-945x532.png 945w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Filter_Marker.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Die_Abfrage\"><\/span>The query<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The online model is linked to the tables for direct queries via relations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And that is the key point!<br>How can a tabular model join with a relational table?<br>Power BI tries to generate an efficient and high-performance query here, sometimes it works with DAX alone, sometimes a combination with SQL.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>And sometimes it doesn't work very well ...<\/p><\/blockquote><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Die_Gefahr_Der_Join\"><\/span>The danger: the join<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>This simple model produces DAX statements with 3,000 lines!<\/p><\/blockquote><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The join is sometimes resolved using single value lists and unions ...<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"603\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition-1024x603.png\" alt=\"\" class=\"wp-image-129\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition-1024x603.png 1024w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition-300x177.png 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition-768x453.png 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition-16x9.png 16w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition-600x354.png 600w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition-945x557.png 945w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL_Condition.png 1407w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"289\" height=\"831\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL.png\" alt=\"\" class=\"wp-image-130\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL.png 289w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL-104x300.png 104w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/DAX_Composite_with_DirectSQL-4x12.png 4w\" sizes=\"auto, (max-width: 289px) 100vw, 289px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In this example model, there are still relatively quick results.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, we always come across with models that are poorly designed and therefore slow, but here it is a perfect and correct model.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The next attempt was with a real complex model.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"851\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Complex_Model.png\" alt=\"\" class=\"wp-image-131\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Complex_Model.png 960w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Complex_Model-300x266.png 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Complex_Model-768x681.png 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Complex_Model-14x12.png 14w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Complex_Model-600x532.png 600w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Complex_Model-945x838.png 945w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I only integrated one external table via an integer key and the DAX statement had<strong> 50.000 rows<\/strong>! The query became extremely slow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And this is not about the size of the connected object, but the tabular model, depending on the relation and of course the query itself.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Losungen\"><\/span>Solutions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>Eine ganz einfache L\u00f6sung ist grunds\u00e4tzlich &#8222;<strong>Import<\/strong>&#8220; zu w\u00e4hlen, somit wird jede weitere Quelle auch Teil des Tabular-Modells.<\/p><\/blockquote><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"499\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1-1024x499.png\" alt=\"\" class=\"wp-image-176\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1-1024x499.png 1024w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1-300x146.png 300w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1-768x374.png 768w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1-1536x749.png 1536w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1-16x8.png 16w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1-600x292.png 600w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1-945x461.png 945w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_Marker-1.png 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The exact same query becomes a simple DAX again.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"407\" height=\"713\" src=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_DAX-1.png\" alt=\"\" class=\"wp-image-134\" srcset=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_DAX-1.png 407w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_DAX-1-171x300.png 171w, http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Report_Composite_with_Import_DAX-1-7x12.png 7w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das wird nicht immer m\u00f6glich sein, insbesondere wenn man eben gro\u00dfe Datenmengen im Modell vermeiden m\u00f6chte, daf\u00fcr k\u00f6nnte man aber eventuell &#8222;Aggregations&#8220; verwenden und den Mode &#8222;Dual&#8220;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusio\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">&#8222;Composite&#8220; f\u00fcr Datsets und AAS ist eine gro\u00dfe Innovation und bringt enorme M\u00f6glichkeiten f\u00fcr die Gesch\u00e4ftsanwendung und Self-Service BI, ein Meilenstein von Power BI!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But the model has to be designed and tested with great care, which in turn contradicts spontaneous self-service. <br>Even perfect models can generate strange queries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Derzeit ist das Feature auch noch in &#8222;Preview&#8220;, es wird hier bestimmt auch noch Verbesserungen geben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Richtig eingesetzt wird &#8222;Composite&#8220; mit Datasets zur grenzenlosen M\u00f6glichkeit f\u00fcr Enterprise-Modelle mit Self-Service BI.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>Share your experience with a comment below!<\/p><\/blockquote><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>Das Power BI &#8222;Composite&#8220;-Modell ist da!<br \/>\nThe community is in ecstatic euphoria, including me. We had burning desire for it, waited a long time, voted for it.<br \/>\nBut, Caution...<\/p>","protected":false},"author":1,"featured_media":198,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,7],"tags":[21,49,48,52,50,51,13,47],"class_list":["post-4","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-power-bi","category-tabular-analysis-services","tag-aas","tag-aggregation","tag-composite","tag-direct-query","tag-dual","tag-import","tag-powerbi","tag-tabuar"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>&quot;Composite&quot; ist da - VORSICHT! - Data.Engineer BLOG<\/title>\n<meta name=\"description\" content=\"Das Power BI &quot;Composite&quot;-Modell ist da! Die Community ist in ekstatischer Euphorie, so auch ich. Lange haben wir uns danach gesehnt, lange gewartet, es herbei gevotet.Aber Vorsicht...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"&quot;Composite&quot; ist da - VORSICHT! - Data.Engineer BLOG\" \/>\n<meta property=\"og:description\" content=\"Das Power BI &quot;Composite&quot;-Modell ist da! Die Community ist in ekstatischer Euphorie, so auch ich. Lange haben wir uns danach gesehnt, lange gewartet, es herbei gevotet.Aber Vorsicht...\" \/>\n<meta property=\"og:url\" content=\"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/\" \/>\n<meta property=\"og:site_name\" content=\"Data.Engineer BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-18T18:29:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-12-23T09:25:32+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Power-BI-Composite-ist-da-VORSICHT.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"data.engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"data.engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/\"},\"author\":{\"name\":\"data.engineer\",\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/#\\\/schema\\\/person\\\/fe307e617b3de204775ffd3d9d8dc04a\"},\"headline\":\"&#8222;Composite&#8220; ist da &#8211; VORSICHT!\",\"datePublished\":\"2020-12-18T18:29:37+00:00\",\"dateModified\":\"2020-12-23T09:25:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/\"},\"wordCount\":735,\"commentCount\":2,\"publisher\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/#\\\/schema\\\/person\\\/fe307e617b3de204775ffd3d9d8dc04a\"},\"image\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blog.dataengineer.at\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Power-BI-Composite-ist-da-VORSICHT.jpg\",\"keywords\":[\"aas\",\"aggregation\",\"composite\",\"direct query\",\"dual\",\"import\",\"powerbi\",\"tabuar\"],\"articleSection\":[\"Power BI\",\"Tabular \\\/ Analysis Services\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/\",\"url\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/\",\"name\":\"\\\"Composite\\\" ist da - VORSICHT! - Data.Engineer BLOG\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/blog.dataengineer.at\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Power-BI-Composite-ist-da-VORSICHT.jpg\",\"datePublished\":\"2020-12-18T18:29:37+00:00\",\"dateModified\":\"2020-12-23T09:25:32+00:00\",\"description\":\"Das Power BI \\\"Composite\\\"-Modell ist da! Die Community ist in ekstatischer Euphorie, so auch ich. Lange haben wir uns danach gesehnt, lange gewartet, es herbei gevotet.Aber Vorsicht...\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/#primaryimage\",\"url\":\"http:\\\/\\\/blog.dataengineer.at\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Power-BI-Composite-ist-da-VORSICHT.jpg\",\"contentUrl\":\"http:\\\/\\\/blog.dataengineer.at\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Power-BI-Composite-ist-da-VORSICHT.jpg\",\"width\":640,\"height\":360,\"caption\":\"Power BI Composite ist da - VORSICHT\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/composite-ist-da-vorsicht\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"http:\\\/\\\/blog.dataengineer.at\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"&#8220;Composite&#8221; ist da &#8211; VORSICHT!\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/#website\",\"url\":\"http:\\\/\\\/blog.dataengineer.at\\\/\",\"name\":\"Data.Engineer BLOG\",\"description\":\"All about data...\",\"publisher\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/#\\\/schema\\\/person\\\/fe307e617b3de204775ffd3d9d8dc04a\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/blog.dataengineer.at\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/#\\\/schema\\\/person\\\/fe307e617b3de204775ffd3d9d8dc04a\",\"name\":\"data.engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Oliver_Cartoon3_240x320-1-150x150.jpg\",\"url\":\"http:\\\/\\\/blog.dataengineer.at\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Oliver_Cartoon3_240x320-1-150x150.jpg\",\"contentUrl\":\"http:\\\/\\\/blog.dataengineer.at\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Oliver_Cartoon3_240x320-1-150x150.jpg\",\"caption\":\"data.engineer\"},\"logo\":{\"@id\":\"http:\\\/\\\/blog.dataengineer.at\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/Oliver_Cartoon3_240x320-1-150x150.jpg\"},\"sameAs\":[\"http:\\\/\\\/dataengineer.at\"],\"url\":\"http:\\\/\\\/blog.dataengineer.at\\\/en\\\/author\\\/data-engineer\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\"Composite\" ist da - VORSICHT! - Data.Engineer BLOG","description":"Das Power BI \"Composite\"-Modell ist da! Die Community ist in ekstatischer Euphorie, so auch ich. Lange haben wir uns danach gesehnt, lange gewartet, es herbei gevotet.Aber Vorsicht...","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":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/","og_locale":"en_US","og_type":"article","og_title":"\"Composite\" ist da - VORSICHT! - Data.Engineer BLOG","og_description":"Das Power BI \"Composite\"-Modell ist da! Die Community ist in ekstatischer Euphorie, so auch ich. Lange haben wir uns danach gesehnt, lange gewartet, es herbei gevotet.Aber Vorsicht...","og_url":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/","og_site_name":"Data.Engineer BLOG","article_published_time":"2020-12-18T18:29:37+00:00","article_modified_time":"2020-12-23T09:25:32+00:00","og_image":[{"width":640,"height":360,"url":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Power-BI-Composite-ist-da-VORSICHT.jpg","type":"image\/jpeg"}],"author":"data.engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"data.engineer","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#article","isPartOf":{"@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/"},"author":{"name":"data.engineer","@id":"http:\/\/blog.dataengineer.at\/#\/schema\/person\/fe307e617b3de204775ffd3d9d8dc04a"},"headline":"&#8222;Composite&#8220; ist da &#8211; VORSICHT!","datePublished":"2020-12-18T18:29:37+00:00","dateModified":"2020-12-23T09:25:32+00:00","mainEntityOfPage":{"@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/"},"wordCount":735,"commentCount":2,"publisher":{"@id":"http:\/\/blog.dataengineer.at\/#\/schema\/person\/fe307e617b3de204775ffd3d9d8dc04a"},"image":{"@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Power-BI-Composite-ist-da-VORSICHT.jpg","keywords":["aas","aggregation","composite","direct query","dual","import","powerbi","tabuar"],"articleSection":["Power BI","Tabular \/ Analysis Services"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/","url":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/","name":"\"Composite\" ist da - VORSICHT! - Data.Engineer BLOG","isPartOf":{"@id":"http:\/\/blog.dataengineer.at\/#website"},"primaryImageOfPage":{"@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#primaryimage"},"image":{"@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Power-BI-Composite-ist-da-VORSICHT.jpg","datePublished":"2020-12-18T18:29:37+00:00","dateModified":"2020-12-23T09:25:32+00:00","description":"Das Power BI \"Composite\"-Modell ist da! Die Community ist in ekstatischer Euphorie, so auch ich. Lange haben wir uns danach gesehnt, lange gewartet, es herbei gevotet.Aber Vorsicht...","breadcrumb":{"@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#primaryimage","url":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Power-BI-Composite-ist-da-VORSICHT.jpg","contentUrl":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Power-BI-Composite-ist-da-VORSICHT.jpg","width":640,"height":360,"caption":"Power BI Composite ist da - VORSICHT"},{"@type":"BreadcrumbList","@id":"http:\/\/blog.dataengineer.at\/en\/composite-ist-da-vorsicht\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"http:\/\/blog.dataengineer.at\/"},{"@type":"ListItem","position":2,"name":"&#8220;Composite&#8221; ist da &#8211; VORSICHT!"}]},{"@type":"WebSite","@id":"http:\/\/blog.dataengineer.at\/#website","url":"http:\/\/blog.dataengineer.at\/","name":"Data.Engineer BLOG","description":"All about data...","publisher":{"@id":"http:\/\/blog.dataengineer.at\/#\/schema\/person\/fe307e617b3de204775ffd3d9d8dc04a"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/blog.dataengineer.at\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"http:\/\/blog.dataengineer.at\/#\/schema\/person\/fe307e617b3de204775ffd3d9d8dc04a","name":"data.engineer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Oliver_Cartoon3_240x320-1-150x150.jpg","url":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Oliver_Cartoon3_240x320-1-150x150.jpg","contentUrl":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Oliver_Cartoon3_240x320-1-150x150.jpg","caption":"data.engineer"},"logo":{"@id":"http:\/\/blog.dataengineer.at\/wp-content\/uploads\/2020\/12\/Oliver_Cartoon3_240x320-1-150x150.jpg"},"sameAs":["http:\/\/dataengineer.at"],"url":"http:\/\/blog.dataengineer.at\/en\/author\/data-engineer\/"}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/posts\/4","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/comments?post=4"}],"version-history":[{"count":50,"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/posts\/4\/revisions"}],"predecessor-version":[{"id":337,"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/posts\/4\/revisions\/337"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/media\/198"}],"wp:attachment":[{"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/media?parent=4"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/categories?post=4"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.dataengineer.at\/en\/wp-json\/wp\/v2\/tags?post=4"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}