{"id":3572,"date":"2024-10-03T05:50:55","date_gmt":"2024-10-03T04:50:55","guid":{"rendered":"https:\/\/data4success.de\/?page_id=3572"},"modified":"2024-10-03T07:56:59","modified_gmt":"2024-10-03T06:56:59","slug":"microsoft-fabric","status":"publish","type":"page","link":"https:\/\/data4success.de\/en\/microsoft-fabric\/","title":{"rendered":"Microsoft Fabric"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"3572\" class=\"elementor elementor-3572\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e7e2e36 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e7e2e36\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0d0561d\" data-id=\"0d0561d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1a04e19 elementor-widget elementor-widget-image\" data-id=\"1a04e19\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"285\" src=\"https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Microsoft-Fabric-1024x365.png\" class=\"attachment-large size-large wp-image-3573\" alt=\"\" srcset=\"https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Microsoft-Fabric-1024x365.png 1024w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Microsoft-Fabric-300x107.png 300w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Microsoft-Fabric-768x274.png 768w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Microsoft-Fabric-18x6.png 18w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Microsoft-Fabric.png 1295w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6662f0d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6662f0d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-276b75b\" data-id=\"276b75b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e6cc7c5 elementor-widget elementor-widget-text-editor\" data-id=\"e6cc7c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>For business intelligence, you collect all of a company's data in one place and use it for reporting. Fabric goes one step further: it makes this information available for artificial intelligence and distributes it further. Data is the fuel for AI, and Fabric, as the central data storage for Microsoft Copilot, is the place from which Microsoft AI draws its knowledge. This knowledge can then be used in Power BI, Windows, Microsoft 365, Dynamics 365 and other systems to make your work easier.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-567e751 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"567e751\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-172134c\" data-id=\"172134c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-371b3a8 elementor-widget elementor-widget-text-editor\" data-id=\"371b3a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<blockquote><p><em>\"Fabric is the biggest launch of a data product from Microsoft since the launch of SQL Server\" (Satya Nadella, 2023)<br \/><\/em><\/p><\/blockquote>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ce19ee3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ce19ee3\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6ab97d1\" data-id=\"6ab97d1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-33eccdf elementor-widget elementor-widget-html\" data-id=\"33eccdf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<iframe height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/FaV0tIaWWEg?start=1326\" \ntitle=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-966d711\" data-id=\"966d711\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b6a5482 elementor-widget elementor-widget-image\" data-id=\"b6a5482\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"408\" src=\"https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Fabian-mit-Adam-und-Patrick-1024x522.png\" class=\"attachment-large size-large wp-image-3601\" alt=\"\" srcset=\"https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Fabian-mit-Adam-und-Patrick-1024x522.png 1024w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Fabian-mit-Adam-und-Patrick-300x153.png 300w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Fabian-mit-Adam-und-Patrick-768x391.png 768w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Fabian-mit-Adam-und-Patrick-1536x783.png 1536w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Fabian-mit-Adam-und-Patrick-18x9.png 18w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/Fabian-mit-Adam-und-Patrick.png 2004w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">The Principal Product Manager Fabric (Microsoft) with Fabian Shirokov (data4success)<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4d1e375 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4d1e375\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-49a4c9c\" data-id=\"49a4c9c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-95aeca3 elementor-widget elementor-widget-text-editor\" data-id=\"95aeca3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We support you with the introduction of Microsoft Fabric, provide independent advice on the advantages and disadvantages and take care of the technical implementation in the long term. We manage your data in Fabric, structuring and linking it in such a way that we build a solid foundation for your business today. At the same time, we adapt Power BI to the new Fabric processes, which fundamentally reduce your loading times, data volumes and storage consumption.<\/p><p>In workshops, we evaluate the feasibility of a migration to Fabric for your company and work out the best individual migration path.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0779e36 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0779e36\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-67ad593\" data-id=\"67ad593\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5143a6f elementor-widget elementor-widget-heading\" data-id=\"5143a6f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Power BI becomes part of Fabric<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2246b28 elementor-widget elementor-widget-text-editor\" data-id=\"2246b28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>For a long time, we regarded Power BI as an independent application. However, it is increasingly becoming part of Fabric. In Power BI, I was able to access and transform data from various sources and get a data set as a result. In Fabric, I can continue to access and transform the data, but I can freely define my target, for example by describing a table again. So the former silo becomes a <strong>Stroke<\/strong>which also makes the data available to others.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-07182aa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"07182aa\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a90681c\" data-id=\"a90681c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2f53273 elementor-widget elementor-widget-heading\" data-id=\"2f53273\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Fabric is the data layer for AI, and the basis of Copilot<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa8be32 elementor-widget elementor-widget-text-editor\" data-id=\"aa8be32\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This is about much more than just reports. It is about the data basis for the entire Microsoft AI in the company (<em>Data is the fuel that powers AI<\/em>). Fabric is used to manage what data is available in the company, how it is to be interpreted and how it can be evaluated. It thus becomes the fuel of Copilot. As a result, business intelligence experts automatically become the existential basis for future AI projects.<\/p><p id=\"ember505\" class=\"ember-view reader-text-block__paragraph\">Using \"notebooks\", in which I can write SPARK SQL and Python, the data can be modified as required and also trained for AI and machine learning processes. I can also use \"sempy\" (also called \"semantic link\") in Python to make DAX queries directly on my semantic Power BI models and thus also use all measures. (Quote: <em>The idea behind: Also look what the business created, and use this to train your data models.<\/em>) I also get a <strong>SQL Endpoint<\/strong>which I can access with Management Studio or my application. However, the permissions for the SQL endpoint depend on the object that I have created in Fabric:<\/p><ul><li><strong>Warehouse<\/strong>A warehouse is like a database with clustered columnstore indices. There I have structured tables and get all authorizations with the SQL endpoint (e.g. modify data, add data). Although there are no Identity Columns, Temp Tables and Primary-Key-Foreign-Key-Relationships, it is otherwise similar to SQL Server. Transactions are also supported here.<\/li><li><strong>Lakehouse<\/strong>A lakehouse is a hybrid of database and file storage, as we have known it from Polybase or Hadoop in the last decade. I can not only analyze relational tables there, but also Excel files, images, videos, audio files and other files. This is the ideal basis later on, <strong>to program your own GPTs<\/strong>and the <strong>AI <\/strong>the kickstart! In this hybrid constellation of OneDrive and tables, the SQL Endpoint has read permissions, but can neither add data nor transform objects. You call the SQL Endpoint \"Warehouse on the lake\". If you want to transform data in a lakehouse, you have to do this in a SPARK Notebook instead, where you can also define which file becomes which table in which way. Fortunately, in these SPARK notebooks you can then simply add a line with <strong>%%sql<\/strong> and then write normal SQL again underneath. The storage format in a Lakehouse is completely open source and is called \"delta parquet files\". This is compatible with Databricks, Snowflake, Amazon and the Google Cloud, among others. The order in which Fabric stores the data in the Delta Store corresponds to the Vertipaq engine from SQL Server Analysis Services (SSAS), and therefore also to that from the Power BI import mode. Transactions are not supported here. <em>Everything running on SSD, with Terabyte caching.<\/em> With the \"OneLake File Explorer\", I can view what is in OneLake directly in Windows Explorer and even copy and move the files there. I no longer need a \"staging scheme\" like in the warehouse in Lakehouse if the data is based on existing files.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4a6a8c6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4a6a8c6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-aada39a\" data-id=\"aada39a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-37141a9 elementor-widget elementor-widget-heading\" data-id=\"37141a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">One copy of the data (this part is revolutionary)<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d9a80bc elementor-widget elementor-widget-text-editor\" data-id=\"d9a80bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"ember508\" class=\"ember-view reader-text-block__paragraph\">In many cases, the architecture of Fabric enables data to be <strong>no longer need to be copied<\/strong>in order to be used. Instead of using load processes to load the data into different systems (for example, from the database into different Power BI semantic models), in future it will be sufficient if there is only one virtual reference to the data. This virtual reference can be used in any number of places. A distinction is made here between<\/p><ul><li><strong>Shortcut<\/strong>This is actually just a reference to the original data memory. Queries are forwarded directly to the source at runtime. This works with fabric data as well as with Snowflake, Databricks, Amazon, Google Cloud and other data sources based on delta files (parquet). It also works with the Dataverse.<\/li><li><strong>Mirroring<\/strong>Here, a CDC-like stream is automatically set up from a database (e.g. SQL Server) to Fabric. CDC (change data capture) has existed in SQL Server for a long time. Every transaction (e.g. change to data or the structure) is then automatically reflected in Fabric with a slight delay.<\/li><\/ul><p id=\"ember510\" class=\"ember-view reader-text-block__paragraph\">In both cases, there is no need to program the usual loading processes. Nevertheless, all data can then be linked across sources in a query (e.g. join).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-53eaa32 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"53eaa32\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-509db87\" data-id=\"509db87\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-88c76da elementor-widget elementor-widget-heading\" data-id=\"88c76da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Every week we're deploying to production<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2dd0c3a elementor-widget elementor-widget-text-editor\" data-id=\"2dd0c3a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The features that Fabric is to receive are always fixed for the next \"semester\", which begins on October 1 and April 1. Every week there are new releases that continue to improve Fabric. Improvement requests are prioritized according to the number of votes on <a class=\"app-aware-link\" href=\"http:\/\/ideas.fabric.microsoft.com\" target=\"_self\" data-test-app-aware-link=\"\">ideas.fabric.microsoft.com<\/a>. The <strong>Dark Mode<\/strong> for Power BI Desktop has finally been implemented with 10,000 votes.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-86c985e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"86c985e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8c8d426\" data-id=\"8c8d426\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f9fe1ca elementor-widget elementor-widget-heading\" data-id=\"f9fe1ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">It's all in one place - unified experience<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28a7783 elementor-widget elementor-widget-text-editor\" data-id=\"28a7783\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In the last 20 years, you always needed a variety of tools for business intelligence projects. Import programs, ETL, Windows Services, Task Scheduler, SSAS, Visual Studio, Management Studio - it was normal to combine 3-6 different components to achieve the goal. Fabric has all these functionalities, so I only need one single program and no other. I control everything via Fabric, from start to finish, including AI. For me personally, that's a dream come true. Fabric is intended as \"software as a service\", where Microsoft takes care of all the settings itself, similar to Microsoft 365.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3898155 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3898155\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6107609\" data-id=\"6107609\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bb52176 elementor-widget elementor-widget-heading\" data-id=\"bb52176\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Excel is not a data source! Ok, it's a datasource, but not a database<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b0bb2e elementor-widget elementor-widget-text-editor\" data-id=\"0b0bb2e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If I have Excel files in the Lakehouse, then I should first program \"convert to list\" as an additional step in PowerQuery in order to convert the content of the Excel files into SQL. This SQL can then be linked to the rest of the queries so that the result of a complete PowerQuery workflow is executed as a single consolidated SQL statement on the source. This process is called \"Query Folding\", and you can recognize it in the web-based Power Query Editor by the green lightning bolt (instead of the red clock). I can even view execution plans there (right-click =&gt; View Execution Plan), where I should see \"Value.NativeQuery\" on the far left if all is well. However, folding is not yet available in Power BI Desktop. Quote: \"I look for that day, because this will help everyone\".<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0786579 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0786579\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0afc4e7\" data-id=\"0afc4e7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-390222b elementor-widget elementor-widget-heading\" data-id=\"390222b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The heart of Power BI is the ability to create semantic models. This is SSAS Tabular.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-736b1a3 elementor-widget elementor-widget-text-editor\" data-id=\"736b1a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Power BI uses exactly the same engine as SQL Server Analysis Services Tabular, which was first invented in SQL Server 2012. Back then, it replaced the multidimensional OLAP cubes, and today it is still the permanent heart of Power BI.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8691194 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8691194\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6dd0d3b\" data-id=\"6dd0d3b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-885cbea elementor-widget elementor-widget-heading\" data-id=\"885cbea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">You have the fact tables in the middle, and the dimensions on the outside. That's what Power BI loves, and that's still true<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d40940 elementor-widget elementor-widget-text-editor\" data-id=\"3d40940\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I teach the topic of the star schema with the meaning of facts and dimensions as one of the first topics in every Power BI training course, even before we open Power BI Desktop. Not adhering to it is still one of the most common mistakes I see customers make. Adam Saxton has confirmed it: The star schema, as it was learned 20 years ago, is still the only true basis for Power BI today.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1a1cd80 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1a1cd80\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ef6f5c9\" data-id=\"ef6f5c9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d12b06f elementor-widget elementor-widget-heading\" data-id=\"d12b06f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">In the semantic model we should have clean names for the business<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9982b99 elementor-widget elementor-widget-text-editor\" data-id=\"9982b99\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Having cryptic names in the database (e.g. abbreviations) is ok, but not in the semantic model in Power BI. The semantic model should show business users exactly what the column is about.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3f0aa78 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3f0aa78\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b98ad0\" data-id=\"1b98ad0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-21171ba elementor-widget elementor-widget-heading\" data-id=\"21171ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Never use \"my workspace\"<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82f0989 elementor-widget elementor-widget-text-editor\" data-id=\"82f0989\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"ember524\" class=\"ember-view reader-text-block__paragraph\">\"My Workspace\" in Power BI is really only intended for beginners who do not have a license. Especially not for sharing reports with colleagues. According to Adam, you should never use it. It is also important to know that Fabric admins can grant themselves access to other colleagues' \"My Workspace\" at any time without them realizing it. Everyone should be aware of this.<\/p><p id=\"ember525\" class=\"ember-view reader-text-block__paragraph\"><em>Common distribution method for larger audiences than 3 people: Create an app, and share the app with them.<\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b204547 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b204547\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2f344ed\" data-id=\"2f344ed\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4458ee0 elementor-widget elementor-widget-heading\" data-id=\"4458ee0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"white-space-pre\"> <\/span>I love Git integration with Power BI projects<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a241b65 elementor-widget elementor-widget-text-editor\" data-id=\"a241b65\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Similar to Visual Studio projects, I can also create entire projects (.pbip files) in Power BI and place them under source code management via GitHub or Azure DevOps. Both GitHub and DevOps are part of 100% Microsoft and can be operated from Fabric. However, GitHub is a little more error-resistant. In larger projects, I should have a production branch and my own development branches, and can then resolve merge conflicts directly in Fabric and integrate the branches into each other. The data is not checked in, but is only stored in a local .abf file.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ace0385 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ace0385\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a747558\" data-id=\"a747558\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-22d35c5 elementor-widget elementor-widget-heading\" data-id=\"22d35c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Pipeline is an orchestration piece. It manages the dataflows.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-baa889a elementor-widget elementor-widget-text-editor\" data-id=\"baa889a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>I can create a \"pipeline\" in Fabric, which is similar to an SSIS file (SQL Server Integration Services). I define a workflow there, which consists of actions that are in turn linked to conditions. For example, one action can be to load a table from a source to Fabric. The next action can then be to update a semantic model based on this data. I can then use the \"monitor\" to see across workspaces which loading processes ran in which pipelines and when, how long they took and which errors they encountered. I have completely integrated an entire ETL tool into Fabric, which was previously only possible with Azure Data Factory (ADF) in the cloud. The individual actions can now finally be implemented here with PowerQuery, just like in Power BI. This will make the development process much easier.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7e649f1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7e649f1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-501100c\" data-id=\"501100c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-62d2ec0 elementor-widget elementor-widget-heading\" data-id=\"62d2ec0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Evaluate your Fabric usage with the capacity metrics app<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6cb8393 elementor-widget elementor-widget-text-editor\" data-id=\"6cb8393\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Fabric can only be licensed via capacities and not according to the number of users like Power BI. The hardware behind all Fabric capacities is always the same. If jobs need more juice than the paid capacity, they are simply terminated with an error message. The capacities range from approx. 300 EUR \/ month to enterprise variants with 6-digit monthly amounts. However, the smallest variant was <em>the jail<\/em> and proposed as a temporary penalty for users who generate too high a workload. In order to be able to estimate the required Fabric capacity, a realistic workload should be generated both on the load side (= \"background\") and on the usage side of the Power BI reports. In Fabric, there is a ready-made Power BI report that makes these metrics evaluable. At the top right of the report, you can see how much % of the available capacity was used at what time (reports in red, loading processes in blue). The loading processes are displayed as a 10-minute average. If I right-click to select the drill-through in the graphic, this can be broken down to 30-second sections. In addition, load causes are displayed in a burndown table.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1dceb92 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1dceb92\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-097d356\" data-id=\"097d356\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-68da6ca elementor-widget elementor-widget-heading\" data-id=\"68da6ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">I'm a manager, I can drag files into a folder, I'm a data scientist.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bb57453 elementor-widget elementor-widget-text-editor\" data-id=\"bb57453\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>It's that easy to work with Fabric. Pull in files and I'm already calling myself a data scientist. In theory, at least.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a1d60d1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a1d60d1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-604b71e\" data-id=\"604b71e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2ae6082 elementor-widget elementor-widget-heading\" data-id=\"2ae6082\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Whenever you have a small amount of data and a good DBA, use DirectQuery.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e06260 elementor-widget elementor-widget-text-editor\" data-id=\"7e06260\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><em>It works if you have a little bit of data, or even mid-sized data and a very good DBA.<\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-baec97d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"baec97d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b57c77e\" data-id=\"b57c77e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d5e0383 elementor-widget elementor-widget-heading\" data-id=\"d5e0383\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The first time you run a Direct Lake Power BI model, you'll say: Import mode is faster.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c7ac30f elementor-widget elementor-widget-text-editor\" data-id=\"c7ac30f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"ember537\" class=\"ember-view reader-text-block__paragraph\">From the last 8 years of Power BI we know the query mode \"Import\" and \"DirectQuery\". Import mode loads all data into the Power BI file at night, whereas DirectQuery generates SQL for every user interaction, which is sent directly to the database.<\/p><p id=\"ember538\" class=\"ember-view reader-text-block__paragraph\">A third mode, \"Direct Lake\", is now being introduced with the Lakehouse. Here, the data must necessarily be stored in Fabric, but in return the Power BI DataSets no longer have to load the data themselves, but only exist virtually. Technically speaking, the DataSets or semantic models are then an in-memory engine that only retrieves its data from the source at runtime and then stores it temporarily until it is removed again using the caching algorithm. This eliminates the loading process for the DataSets! Here is an illustration of mine that shows the savings effect:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8bf34c1 elementor-widget elementor-widget-image\" data-id=\"8bf34c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"513\" src=\"https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/2024-10-01_11h34_29-1024x657.png\" class=\"attachment-large size-large wp-image-3619\" alt=\"\" srcset=\"https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/2024-10-01_11h34_29-1024x657.png 1024w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/2024-10-01_11h34_29-300x192.png 300w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/2024-10-01_11h34_29-768x493.png 768w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/2024-10-01_11h34_29-1536x985.png 1536w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/2024-10-01_11h34_29-2048x1314.png 2048w, https:\/\/data4success.de\/wp-content\/uploads\/2024\/10\/2024-10-01_11h34_29-18x12.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-37e0677 elementor-widget elementor-widget-text-editor\" data-id=\"37e0677\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In this example, I have 9 tables that become 3 different DataSets. In the old Power BI world (import mode), I would have to load the corresponding data once for each DataSet, resulting in a total of 17 loading processes. In the new world (Direct Lake), it is sufficient to load each table only once. This saves me 8 loading processes. At the same time, however, this means that some of the data is \"cold\" and needs to be warmed up first. That's why Patrick recommends adding DAX statements via sempy to a notebook as the last step of a pipeline that simulates realistic queries on Monday mornings to warm up the cache.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-934aec2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"934aec2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-501a327\" data-id=\"501a327\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d1972f3 elementor-widget elementor-widget-heading\" data-id=\"d1972f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">In general, data preparation should be performed as far upstream as possible<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cca75d5 elementor-widget elementor-widget-text-editor\" data-id=\"cca75d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Thanks, Adam, for the support. Data enrichment and transformation should be done as far back in the backend as possible. Fortunately, no one in the room responded to the question \"Who uses calculated columns\", because Power BI reports are not there to clean data or enrich it with categories. Whenever possible, this should be done in SQL or in the loading process upstream of Power BI. Then it is also reusable. Enrichments have no place in the report, even if many beginners do this.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3150d74 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3150d74\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-259a2fb\" data-id=\"259a2fb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9e2f1c7 elementor-widget elementor-widget-heading\" data-id=\"9e2f1c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Adam, put us asleep with security....<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f56d6d elementor-widget elementor-widget-text-editor\" data-id=\"5f56d6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"ember544\" class=\"ember-view reader-text-block__paragraph\">In general, it can be said that Fabric is ISO 27001-certified and therefore meets high data protection requirements. The Microsoft cloud is a high-security wing that medium-sized companies cannot compete with. Entra ID (= Azure Active Directory) is used in Fabric in the same way as in Power BI. TLS encryption 1.2 is activated in all connections.<\/p><p id=\"ember545\" class=\"ember-view reader-text-block__paragraph\">As we have many different objects in Fabric, there are also different security levels, some of which are still under development (preview):<\/p><ul><li><strong>Workspace Security<\/strong>I can assign a specific role to a user for a workspace, e.g. Viewer, Contributor or Admin. Viewers can actually only see Power BI reports and no other fabric elements. Contributors and Admins, on the other hand, can also see all Fabric elements.<\/li><li><strong>Row-level security for semantic models<\/strong>As in Power BI, I can introduce roles for each semantic model, the visibility of which I restrict to elements of one dimension (e.g. customer group).<\/li><li><strong>Row-level security for tables<\/strong>Since I can also provide SQL endpoints to users in Fabric, I can pre-filter these tables so that the user can only query the data relevant to them in SQL. However, this only works if the filter criterion actually exists in this one table and not in another table. I remember a project where we had already used this in SQL Server 2012 - same syntax, same effect. However, if I have fact tables typical for DWH, then my filter criterion is usually no longer in the table itself. Another disadvantage is that the Direct Lake mode cannot be combined with these filter criteria, so the slower DirectQuery is always used as a fallback.<\/li><\/ul><pre class=\"reader-text-block__code-block\">ADD FILTER PREDICATE Security.tvf_securitypredicate(SalesRep)<\/pre><ul><li><strong>Object-level security for columns in SQL<\/strong>For an SQL endpoint that I provide to a user, I can specify which columns they are allowed to see and which they are not. It's quite simple:<\/li><\/ul><pre class=\"reader-text-block__code-block\">GRANT SELECT ON InternetSales(Column1, Column2 ....)\nDENY SELECT ON InternetSales(Column3)<\/pre><ul><li><strong>Object-level security for tables<\/strong>As in SQL Server, I can define roles that have rights at different levels (Read \/ Write \/ Alter \/ Execute etc.) either to a schema or to selected database objects such as tables \/ views \/ stored procedures. I can then assign users to these roles. It should be noted, however, that this part is still in the preview phase. The authorization for other files (e.g. images, audio files) also does not seem to be possible at such a granular level yet.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d407793 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d407793\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8cad938\" data-id=\"8cad938\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>F\u00fcr Business Intelligence sammelt man alle Daten eines Unternehmens an einer Stelle, und nutzt sie f\u00fcr Reporting. Fabric geht einen Schritt weiter: Es macht diese Informationen gleichzeitig f\u00fcr K\u00fcnstliche Intelligenz verf\u00fcgbar, und verteilt sie weiter. Daten sind der Treibstoff f\u00fcr AI, und Fabric ist als zentraler Datenspeicher f\u00fcr Microsoft Copilot der Ort, aus dem die [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3572","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/data4success.de\/en\/wp-json\/wp\/v2\/pages\/3572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data4success.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/data4success.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/data4success.de\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/data4success.de\/en\/wp-json\/wp\/v2\/comments?post=3572"}],"version-history":[{"count":57,"href":"https:\/\/data4success.de\/en\/wp-json\/wp\/v2\/pages\/3572\/revisions"}],"predecessor-version":[{"id":3645,"href":"https:\/\/data4success.de\/en\/wp-json\/wp\/v2\/pages\/3572\/revisions\/3645"}],"wp:attachment":[{"href":"https:\/\/data4success.de\/en\/wp-json\/wp\/v2\/media?parent=3572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}