<?xml version="1.0" encoding="UTF-8"?><feed
	xmlns="http://www.w3.org/2005/Atom"
	xmlns:thr="http://purl.org/syndication/thread/1.0"
	xml:lang="en-US"
	>
	<title type="text">Prologika</title>
	<subtitle type="text">Business Intelligence Consulting and Training in Atlanta</subtitle>

	<updated>2026-07-06T23:01:11Z</updated>

	<link rel="alternate" type="text/html" href="https://prologika.com" />
	<id>https://prologika.com/feed/atom/</id>
	<link rel="self" type="application/atom+xml" href="https://prologika.com/feed/atom/" />

	<generator uri="https://wordpress.org/" version="7.0">WordPress</generator>
	<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Atlanta Microsoft BI Group Meeting on July 6th (Using Generative AI on Structured Data)]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/atlanta-microsoft-bi-group-202607/" />

		<id>https://prologika.com/?p=9646</id>
		<updated>2026-06-30T20:15:34Z</updated>
		<published>2026-06-30T20:15:34Z</published>
		<category scheme="https://prologika.com" term="Blog" /><category scheme="https://prologika.com" term="Events" /><category scheme="https://prologika.com" term="AI" /><category scheme="https://prologika.com" term="Atlanta.MBI" /><category scheme="https://prologika.com" term="Fabric" />
		<summary type="html"><![CDATA[Atlanta BI fans, please join us online for our next meeting on Monday, July 6th at 18:30 ET. James Serra (Data &#38; AI Solution Architect at Microsoft) will show you [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/atlanta-microsoft-bi-group-202607/"><![CDATA[<p>Atlanta BI fans, please join us <a href="https://teams.microsoft.com/meet/221930678076037?p=OrUoZ0NfUwVqNUEsjP"><strong>online</strong> </a>for our next meeting on Monday, July 6th at 18:30 ET. James Serra (Data &amp; AI Solution Architect at Microsoft) will show you how AI can transform our interaction with structured data, providing practical applications for enhanced automation, decision-making, and efficiency in data analysis. For more details and sign up, visit our <a href="https://www.meetup.com/Atlanta-Microsoft-Business-Intelligence-Users/">group page</a>.</p>
<div class="flex items-center justify-between">
<div class="flex items-center justify-between">
<p class="mb-ds2-10"><strong>Delivery:</strong> <a href="https://teams.microsoft.com/meet/221930678076037?p=OrUoZ0NfUwVqNUEsjP">Online via MS Teams</a><br />
<strong>Level</strong>: Beginner/Intermediate<br />
<strong>Food</strong>: Pizza and drinks will NOT be provided</p>
<p class="mb-ds2-10"><strong>Agenda:</strong><br />
18:30-19:00 Organizer time (events, news, sponsor marketing)<br />
19:00-20:15 Main presentation<br />
20:15-20:30 Q&amp;A</p>
<p class="mb-ds2-10"><strong>Overview:</strong> Generative AI, traditionally used for processing unstructured text, is rapidly advancing to handle structured data like relational databases, spreadsheets, and CSV files. New tools now enable AI to extract meaningful insights, identify patterns, and generate predictions from structured datasets. This presentation will explore how AI transforms our interaction with structured data, providing practical applications for enhanced automation, decision-making, and efficiency in data analysis. I will discuss ChatGPT, Copilot, and Microsoft Fabric Data Agents and provide a level-set on GenAI definitions, RAG, fine-tuning, and cover industry use cases for using both unstructured and structured data to make better business decisions.</p>
<p class="mb-ds2-10"><strong>Speaker</strong>: James Serra works at Microsoft as a data solution engineer where he has been for most of the last twelve years. He is a thought leader in the use and application of Big Data and advanced analytics, including data architectures such as the modern data warehouse, data lakehouse, data fabric, and data mesh. He has over 40 years of IT experience. He is a popular blogger ([<a class="!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover" href="http://jamesserra.com/" target="_blank" rel="nofollow noopener ugc">JamesSerra.com</a>](<a class="!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover" href="https://www.jamesserra.com/" target="_blank" rel="nofollow noopener ugc">https://www.jamesserra.com/</a>)) and speaker, having presented at dozens of major events. He is the author of the book “<a class="!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover" href="https://www.amazon.com/Deciphering-Data-Architectures-Warehouse-Lakehouse/dp/1098150767" target="_blank" rel="noopener ugc">Deciphering Data Architectures: Choosing Between a Modern Data Warehouse, Data Fabric, Data Lakehouse, and Data Mesh</a>”.</p>
</div>
</div>
<p><a href="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png" rel="attachment wp-att-6368"><img decoding="async" class="alignnone size-full wp-image-6368" src="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png" alt="PowerBILogo" width="410" height="109" srcset="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png 410w, https://prologika.com/wp-content/uploads/2019/10/PowerBILogo-300x80.png 300w" sizes="(max-width: 410px) 100vw, 410px" /></a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/atlanta-microsoft-bi-group-202607/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/atlanta-microsoft-bi-group-202607/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Power BI Date Picker]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/powerbi-date-picker/" />

		<id>https://prologika.com/?p=9641</id>
		<updated>2026-07-06T23:01:11Z</updated>
		<published>2026-06-29T15:20:46Z</published>
		<category scheme="https://prologika.com" term="Blog" /><category scheme="https://prologika.com" term="Data Virtualization" /><category scheme="https://prologika.com" term="Power BI" />
		<summary type="html"><![CDATA[The June release of Power BI Desktop includes a preview of a new Power BI slicer configuration &#8211; Date Picker. It’s meant to solve two issues with report design. The [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/powerbi-date-picker/"><![CDATA[<p>The June release of Power BI Desktop includes a preview of a new Power BI slicer configuration &#8211; <a href="https://community.fabric.microsoft.com/t5/Power-BI-Updates-Blog/Power-BI-June-2026-Feature-Summary/ba-p/5193264#toc-hId--1244838770">Date Picker</a>. It’s meant to solve two issues with report design.</p>
<p>The first one is letting the user select a single date by configuring the Date Picker using the Manual selection. Yes, it took a decade, so we must appreciate the engineering effort to get this implemented, so we don’t have to rely on workarounds as Patrick explains <a href="https://www.youtube.com/watch?v=YWcxgpa5VlI">here</a>.</p>
<p>More importantly, it helps with filtering the “current” period, so the end users don’t have to change filters when the calendar rolls forward. Previously, we had to resort to overwriting the current period caption, such as renaming the current month to “Current”, so the slicer automatically rolls forward when the current month changes. Or configure the slicer to use relative date, such as This Month.</p>
<blockquote><p>The problem with both approaches has been that if the calendar has just rolled forward but there is no data yet, end users will get wonderful insights from emptiness. Apparently, the support tickets from enterprise customers reached a critical mass and Microsoft acted. Therefore, in my opinion the important feature here is rolling forward but anchored to the last date in the Date column bound to the slicer.</p></blockquote>
<p>For example, the last month with Adventure Works data is December 2014 so the Date dimension table has dates only until this date. Let’s say January 1<sup>st</sup> 2015 comes along but the semantic model doesn’t have data yet for January and therefore the Date table doesn&#8217;t have that date yet (or the slicer uses a DAX measure to filter dynamically the date range). The slicer will remain anchored to December 2014. Once we have data for January, the relative date configuration will switch to January.</p>
<p><img fetchpriority="high" decoding="async" class="wp-image-9643" src="https://prologika.com/wp-content/uploads/2026/06/word-image-9641-1.png" width="303" height="320" srcset="https://prologika.com/wp-content/uploads/2026/06/word-image-9641-1.png 383w, https://prologika.com/wp-content/uploads/2026/06/word-image-9641-1-284x300.png 284w" sizes="(max-width: 303px) 100vw, 303px" /></p>
<p>TIP: If the Date table has future dates, you can use a DAX measure to filter the date range, such as SlicerDateFilter = IF(NOT ISBLANK([&lt;SomeConditionToDetermineTheDateRange&gt;]), 1, 0). Then drag your newly created <code data-path-to-node="10,3,0" data-index-in-node="24">SlicerDateFilter</code> measure from the Data pane and drop it into the Filters On This Visual well in the Filter pane with the slicer selected.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/powerbi-date-picker/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/powerbi-date-picker/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Prologika Newsletter Summer 2026]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/prologika-newsletter-summer-2026/" />

		<id>https://prologika.com/?p=9636</id>
		<updated>2026-06-13T21:28:06Z</updated>
		<published>2026-06-13T21:28:06Z</published>
		<category scheme="https://prologika.com" term="Newsletter" /><category scheme="https://prologika.com" term="Data Virtualization" /><category scheme="https://prologika.com" term="Fabric" /><category scheme="https://prologika.com" term="Lakehouse" />
		<summary type="html"><![CDATA[If Microsoft Fabric was the Statue of Liberty, the inscription would be “Give me your data”. Fabric is obsessed with owning the data when it makes sense and when it [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/prologika-newsletter-summer-2026/"><![CDATA[<p><img decoding="async" class="wp-image-9535" style="padding: 0px 10px;" src="https://prologika.com/wp-content/uploads/2026/06/word-image-9609-1-1.png" width="215" height="109" align="left" /></p>
<p>If Microsoft Fabric was the Statue of Liberty, the inscription would be “Give me your data”. Fabric is obsessed with owning the data when it makes sense and when it doesn’t. As I wrote <a href="https://prologika.com/first-look-at-fabric-iq-the-good-the-bad-and-the-ugly/">before</a>, this pattern was probably borrowed from Palantir and to align Fabric with the push for “modern” medallion architectures. Or, to establish a permanent dependency on Fabric…</p>
<p>In this newsletter, I make a case that Fabric should support better data virtualization that goes beyond creating shortcuts to files.</p>
<p><strong>Auto-replicating data to Fabric</strong></p>
<p>To satisfy the Fabric data appetite and facilitate data ingestion into OneLake, Fabric offers two primary options that don’t require explicit ETL: mirroring and shortcut transformations.</p>
<ol>
<li>Mirroring targets a growing number of relational and non-relational database engines. Although described as “easy-to-use”, mirroring could prove challenging to set up in real life. For example, in one case, the client simply refused to set up mirroring from Google BigQuery because of the requirement to grant excessive permissions. In another case, we are still trying to figure out why mirroring doesn’t work from Azure SQL MI configured on private network. Not to mention that mirroring even from Microsoft SQL SKUs has limitations, such as historical temporal tables can’t be mirrored.</li>
<li>This leaves with the second option: shortcut transformations. They target a <a href="https://learn.microsoft.com/en-us/fabric/onelake/shortcuts/transformations">subset of file formats</a> (not databases). Like mirroring, Fabric polls periodically the shortcut target folder and synchronizes the data in OneLake Delta tables. These transformations could be useful to provide convenient access to this data from Fabric workloads, such as to access reference data a business user maintains in an Excel spreadsheet in a Fabric Data Warehouse. On the downside, data must be exported and saved as files.</li>
</ol>
<p><strong>OneLake Shortcuts</strong></p>
<p>Yet, many scenarios could be addressed by simply accessing the data where it is. In other words, by data virtualization. As it stands, Fabric has limited file-based data virtualization capabilities with <a href="https://learn.microsoft.com/en-us/fabric/onelake/onelake-shortcuts">OneLake shortcuts</a>. OneLake shortcuts shouldn’t be confused with the shortcut transformations mentioned before. OneLake shortcuts are read-only pointers to external files. These shortcuts are typically listed in the unmanaged section of OneLake (the Files folder). OneLake shortcuts don’t import the data in Delta tables. How are they useful then? The main thought is to conveniently share data between teams, workspaces, or domains, workloads, without moving it.</p>
<blockquote><p>As an exception to the rule, if the OneLake shortcut points to a Delta table, such as OneLake or elsewhere, or Iceberg table, the shortcut still doesn’t copy the data but exposes it as OneLake Delta table. This lets you utilize Delta-specific features, such as a DirectLake semantic model without moving the data. I find this inspiring to imagine a simplified data integration in a world where one day other vendors could embrace standard file formats.</p></blockquote>
<p><strong>What about databases?</strong></p>
<p>Based on experience, a typical company has 90+ percent of its data in relational databases or connectable non-file sources, such as REST APIs and SFTP servers. In my opinion, mirroring these (sometimes huge) datasets into a file-based, pseudo-relational lakehouse rarely makes sense. Wouldn’t be nice to have shortcuts to tables in these sources and then shape and get the data you need instead of writing ETL? And even better, run cross-database queries? Wouldn’t this be a great Fabric differentiator compared to other vendors?</p>
<p>Since time immemorial, SQL Server has been supporting linked servers and heterogenous joins across databases. Then PolyBase was supposed to replace linked servers and be the Microsoft answer to broader data virtualization. Alas, both technologies didn’t make it to Fabric. Linked servers are available only in on-prem SQL Server and with limited support in Azure SQL MI. Polybase was relegated to the on-prem SQL Server.</p>
<p>I think it’s time Fabric to fulfil its zero-copy promise and say “Let me connect the dots, don’t move that data”.</p>
<p><img decoding="async" src="http://prologika.com/wp-content/uploads/2017/06/060417_1725_PrologikaNe2.png" alt="" /><br />
Teo Lachev<br />
Prologika, LLC | Making Sense of Data<br />
<a href="http://prologika.com/wp-content/uploads/2016/01/logo.png" rel="attachment wp-att-12"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12" src="http://prologika.com/wp-content/uploads/2016/01/logo.png" alt="logo" width="165" height="45" /></a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/prologika-newsletter-summer-2026/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/prologika-newsletter-summer-2026/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Open Semantic Interchange (OSI)]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/osi/" />

		<id>https://prologika.com/?p=9620</id>
		<updated>2026-06-12T16:29:57Z</updated>
		<published>2026-06-09T20:17:29Z</published>
		<category scheme="https://prologika.com" term="Blog" /><category scheme="https://prologika.com" term="Data Virtualization" /><category scheme="https://prologika.com" term="Fabric" />
		<summary type="html"><![CDATA[An excited enterprise client came back from a conference where Snowflake delighted them with AI demos and semantic views built on Open Semantic Interchange (OSI) standard. Snowflake even went further [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/osi/"><![CDATA[<p>An excited enterprise client came back from a conference where Snowflake delighted them with AI demos and semantic views built on Open Semantic Interchange (OSI) <a href="https://open-semantic-interchange.org/">standard</a>. Snowflake even went further to show how their Cortex Analyst tool returns deterministic AI answers. Naturally, given their existing investments in Snowflake data lake and ODS, the client questioned why we don’t build everything in Snowflake instead of bringing Microsoft Fabric and two vendors into the mix.</p>
<p><strong>What’s OSI?</strong></p>
<p>Reading about the relatively freshly baked OSI, we learn that “the Open Semantic Interchange is an industry-wide specification effort to standardize how we exchange semantic metadata across analytics, AI and BI platforms, providing a vendor neutral, single source of truth for semantic data.” Great, I am all about standardization. If you ask me, the world should adopt the metric system and English as a universal language, and life will be much simpler. But this is about BI so let’s peek under the hood and keep ‘em honest.</p>
<p>Now, like ogres and cakes, a BI architecture has layers. Besides data sources, at minimum I like to see a central repository (let’s called a data warehouse) with star schema (if the star is missing, you don’t have DW, but operational data source, sorry), semantic layer (don&#8217;t skip it!), and of course reports with possibly AI – the cherry on top of the cake. “Modern” medallionists will of course dream of a bigger cake with bronze, silver, and gold layers, and then wonder what to put in them, but I digress.</p>
<blockquote><p>OSI is an initiative from major Microsoft competitors in the BI space (Snowflake, Dbt, Google, Databricks, Salesforce) to standardize the semantic model definition so good report vendors who have bad semantic models, like Tableau and Salesforce, can integrate with vendors who have good backends but bad reporting, like Snowflake and Google. Did I get this right? I believe the main goal here is to compete more effectively against Microsoft which currently <a href="https://community.fabric.microsoft.com/t5/Power-BI-Updates-Blog/Microsoft-named-a-Leader-in-the-2025-Gartner-Magic-Quadrant-for/ba-p/5174132">dominates</a> the data analytics space. All that wrapped with “avoid the vendor lock-in and single version of truth” story.</p></blockquote>
<p><strong>About Snowflake semantic views</strong></p>
<p>A Snowflake semantic view is OSI-based metadata definition described in YAML inside their database. Created similarly to a SQL view, it enumerates the star schema dimension and fact tables, their relationships, and basic metrics with SQL formulas. Inside Snowflake, the semantic views are currently used by their Cortex Analyst tool (analogous to Copilot in Microsoft Fabric) to let users and apps talk to data with natural questions. Behind the scenes, the question is translated to SQL, which is how Microsoft Fabric Data Agent works when connected to a lakehouse or warehouse.</p>
<p>For the most part, tables, relationships, and metrics is all OSI has defined at this point. And of course, ontology to glue semantic views together so AI knows how to reason across them (or, to check the box when you hear that catchy phrase on the golf course since every CIO has heard about ontologies by now although no one knows what it means). I’m glad Snowflake calls them “views” and not semantic models, which would be a big misnomer. By contrast, Microsoft has a 30+ years head start on semantic modeling so the two technologies (semantic view vs semantic model) can’t be meaningfully compared by any criteria (features, tooling, etc.).</p>
<p><strong>Shall we standardize?</strong></p>
<p>At this point, Microsoft doesn’t participate in OSI. Although to the best of my knowledge Microsoft hasn’t released official reasons, more than likely it’s because they don’t need to. There is a large distance between Microsoft and the rest of the pack. Further, they spent 20+ years on their engine and DAX tooling. I don’t think it’s even possible to retrofit many features into a new SQL-based basic standard. For example, the OSI metric language is SQL while DAX is Excel-like language because the thinking back then was to transition Excel users into self-service BI. I remember having discussions with the Analysis Services team about why not use SQL, but alas, Excel prevailed…I wonder if they’ve made a mistake there.</p>
<p>Now, if we are serious about open standards and interoperability, then I would argue that we should start with data formats. Wouldn’t be nice if Google and Snowflake rewrite their databases to use open formats, such as Delta or Iceberg, before getting to the semantic layer? That would immediately facilitate data integration and virtualization, such as by letting a Fabric user create shortcuts in a lakehouse to Google and Snowflake tables instead of replicating the data, as I mentioned in my “Give me your data” <a href="https://prologika.com/give-me-your-data/">blog</a>. So, if we are serious about make integration easier, let’s start from the bottom up as Microsoft and Databricks did, shall we?</p>
<blockquote><p>Meanwhile, if you have invested in another database vendor, my advice would be to use the best of both worlds. If you like Snowflake, use their database for lake/warehouse and Power BI/Fabric for its semantic models and reporting capabilities. The best data source for AI is a rich semantic layer (sorry, Snowflake OSI semantic views).</p></blockquote>
<p>And about the Cortex AI deterministic answers, it’s pure marketing propaganda; all LLMs might vary their answers and are not guaranteed to return the same results.</p>
<p><img loading="lazy" decoding="async" width="652" height="356" class="wp-image-9622" src="https://prologika.com/wp-content/uploads/2026/06/word-image-9620-1.png" srcset="https://prologika.com/wp-content/uploads/2026/06/word-image-9620-1.png 652w, https://prologika.com/wp-content/uploads/2026/06/word-image-9620-1-300x164.png 300w, https://prologika.com/wp-content/uploads/2026/06/word-image-9620-1-450x246.png 450w" sizes="auto, (max-width: 652px) 100vw, 652px" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/osi/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/osi/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Give Me Your Data!]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/give-me-your-data/" />

		<id>https://prologika.com/?p=9609</id>
		<updated>2026-06-04T19:12:37Z</updated>
		<published>2026-06-04T19:08:36Z</published>
		<category scheme="https://prologika.com" term="Blog" /><category scheme="https://prologika.com" term="Data Virtualization" /><category scheme="https://prologika.com" term="Fabric" />
		<summary type="html"><![CDATA[If Microsoft Fabric was the Statue of Liberty, the inscription would be “Give me your data”. Fabric is obsessed with owning the data when it makes sense and when it [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/give-me-your-data/"><![CDATA[<p>If Microsoft Fabric was the Statue of Liberty, the inscription would be “Give me your data”. Fabric is obsessed with owning the data when it makes sense and when it doesn’t. As I wrote <a href="https://prologika.com/first-look-at-fabric-iq-the-good-the-bad-and-the-ugly/">before</a>, this pattern was probably borrowed from Palantir and to align Fabric with the push for “modern” medallion architectures. Or, to establish a permanent dependency on Fabric…</p>
<p><strong>Auto-replicating data to Fabric</strong></p>
<p>To satisfy the Fabric data appetite and facilitate data ingestion into OneLake, Fabric offers two primary options that don’t require explicit ETL: mirroring and shortcut transformations.</p>
<ol>
<li>Mirroring targets a growing number of relational and non-relational database engines. Although described as “easy-to-use”, mirroring could prove challenging to set up in real life. For example, in one case, the client simply refused to set up mirroring from Google BigQuery because of the requirement to grant excessive permissions. In another case, we are still trying to figure out why mirroring doesn’t work from Azure SQL MI configured on private network. Not to mention that mirroring even from Microsoft SQL SKUs has limitations, such as historical temporal tables can’t be mirrored.</li>
<li>This leaves with the second option: shortcut transformations. They target a <a href="https://learn.microsoft.com/en-us/fabric/onelake/shortcuts/transformations">subset of file formats</a> (not databases). Like mirroring, Fabric polls periodically the shortcut target folder and synchronizes the data in OneLake Delta tables. These transformations could be useful to provide convenient access to this data from Fabric workloads, such as to access reference data a business user maintains in an Excel spreadsheet in a Fabric Data Warehouse. On the downside, data must be exported and saved as files.</li>
</ol>
<p><strong>OneLake Shortcuts</strong></p>
<p>Yet, many scenarios could be addressed by simply accessing the data where it is. In other words, by data virtualization. As it stands, Fabric has limited file-based data virtualization capabilities with <a href="https://learn.microsoft.com/en-us/fabric/onelake/onelake-shortcuts">OneLake shortcuts</a>. OneLake shortcuts shouldn’t be confused with the shortcut transformations mentioned before. OneLake shortcuts are read-only pointers to external files. These shortcuts are typically listed in the unmanaged section of OneLake (the Files folder). OneLake shortcuts don’t import the data in Delta tables. How are they useful then? The main thought is to conveniently share data between teams, workspaces, or domains, workloads, without moving it.</p>
<blockquote><p>As an exception to the rule, if the OneLake shortcut points to a Delta table, such as OneLake or elsewhere, or Iceberg table, the shortcut still doesn’t copy the data but exposes it as OneLake Delta table. This lets you utilize Delta-specific features, such as a DirectLake semantic model without moving the data. I find this inspiring to imagine a simplified data integration in a world where one day other vendors could embrace standard file formats.</p></blockquote>
<p><strong>What about databases?</strong></p>
<p>Based on experience, a typical company has 90+ percent of its data in relational databases or connectable non-file sources, such as REST APIs and SFTP servers. In my opinion, mirroring these (sometimes huge) datasets into a file-based, pseudo-relational lakehouse rarely makes sense. Wouldn’t be nice to have shortcuts to tables in these sources and then shape and get the data you need instead of writing ETL? And even better, run cross-database queries? Wouldn’t this be a great Fabric differentiator compared to other vendors?</p>
<p>Since time immemorial, SQL Server has been supporting linked servers and heterogenous joins across databases. Then PolyBase was supposed to replace linked servers and be the Microsoft answer to broader data virtualization. Alas, both technologies didn’t make it to Fabric. Linked servers are available only in on-prem SQL Server and with limited support in Azure SQL MI. Polybase was relegated to the on-prem SQL Server.</p>
<p>I think it’s time Fabric to fulfil its zero-copy promise and say “Let me connect the dots, don’t move that data”.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-9613" src="https://prologika.com/wp-content/uploads/2026/06/word-image-9609-1-1.png" alt="" width="499" height="272" srcset="https://prologika.com/wp-content/uploads/2026/06/word-image-9609-1-1.png 1408w, https://prologika.com/wp-content/uploads/2026/06/word-image-9609-1-1-300x164.png 300w, https://prologika.com/wp-content/uploads/2026/06/word-image-9609-1-1-1030x562.png 1030w, https://prologika.com/wp-content/uploads/2026/06/word-image-9609-1-1-768x419.png 768w, https://prologika.com/wp-content/uploads/2026/06/word-image-9609-1-1-705x385.png 705w, https://prologika.com/wp-content/uploads/2026/06/word-image-9609-1-1-450x245.png 450w" sizes="auto, (max-width: 499px) 100vw, 499px" /></p>
<p>&nbsp;</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/give-me-your-data/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/give-me-your-data/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Atlanta Microsoft BI Group Meeting on June 1st (Build Your First Agent in Copilot Studio)]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/atlanta-microsoft-bi-group-meeting-202606/" />

		<id>https://prologika.com/?p=9605</id>
		<updated>2026-05-26T20:44:46Z</updated>
		<published>2026-05-26T20:44:46Z</published>
		<category scheme="https://prologika.com" term="Blog" /><category scheme="https://prologika.com" term="Events" /><category scheme="https://prologika.com" term="Atlanta.MBI" /><category scheme="https://prologika.com" term="Fabric" /><category scheme="https://prologika.com" term="Power BI" />
		<summary type="html"><![CDATA[Atlanta BI fans, please join us in person for our next meeting on Monday, June 1st at 18:30 ET. Elayne Jones (Senior Solution Engineer at Microsoft) will show you how [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/atlanta-microsoft-bi-group-meeting-202606/"><![CDATA[<p>Atlanta BI fans, please join us in person for our next meeting on Monday, June 1st at 18:30 ET. Elayne Jones (Senior Solution Engineer at Microsoft) will show you how to build enterprise-ready agents with Copilot Studio. These agents can source data from a variety of data sources including Fabric Data Agents. I will sponsor the meeting. For more details and sign up, visit our <a href="https://www.meetup.com/Atlanta-Microsoft-Business-Intelligence-Users/">group page</a>.</p>
<div class="flex items-center justify-between">
<div class="flex items-center justify-between">
<p class="mb-ds2-10"><strong>Delivery:</strong> In-person<br />
<strong>Level</strong>: Intermediate<br />
<strong>Food</strong>: Pizza and drinks will be provided</p>
<p class="mb-ds2-10"><strong>Agenda:</strong><br />
18:15-18:30 Registration and networking<br />
18:30-19:00 Organizer and sponsor time (news, Power BI latest, sponsor marketing)<br />
19:00-20:15 Main presentation<br />
20:15-20:30 Q&amp;A</p>
<p class="mb-ds2-10"><strong>Overview:</strong> A practical, hands‑on session for anyone ready to move beyond generic AI chat and start building purpose‑built, enterprise‑ready agents. You’ll learn what agents really are, how they differ from traditional chatbots, and where Copilot Studio fits alongside Microsoft 365 Copilot and Azure AI services.</p>
<p class="mb-ds2-10"><strong>Speaker</strong>: Elayne Jones is a Senior Solution Engineer at Microsoft. Elayne specializes in Microsoft Power Platform, delivering scalable solutions through Copilot Studio, Power Apps, Power Automate. She helps organizations modernize workflows, build low‑code applications, and unlock insights through integrated, data‑driven experiences.</p>
<p class="mb-ds2-10"><strong>Sponsor:</strong> Prologika (<a class="!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover" href="https://prologika.com/" target="_blank" rel="nofollow noopener ugc">https://prologika.com</a>) helps organizations of all sizes to make sense of data by delivering tailored BI solutions that drive actionable insights and maximize ROI. Your BI project will be your best investment, we guarantee it!</p>
</div>
</div>
<p><a href="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png" rel="attachment wp-att-6368"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-6368" src="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png" alt="PowerBILogo" width="410" height="109" srcset="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png 410w, https://prologika.com/wp-content/uploads/2019/10/PowerBILogo-300x80.png 300w" sizes="auto, (max-width: 410px) 100vw, 410px" /></a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/atlanta-microsoft-bi-group-meeting-202606/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/atlanta-microsoft-bi-group-meeting-202606/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Replicating BigQuery to Fabric Reloaded]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/replicating-bigquery-to-fabric-reloaded/" />

		<id>https://prologika.com/?p=9600</id>
		<updated>2026-05-20T17:25:58Z</updated>
		<published>2026-05-20T17:25:27Z</published>
		<category scheme="https://prologika.com" term="Blog" /><category scheme="https://prologika.com" term="Fabric" />
		<summary type="html"><![CDATA[In a previous post, I referred to an engagement where we used the Fabric Copy Job activity to replicate Google BigQuery tables to Fabric, so we can use Direct Lake [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/replicating-bigquery-to-fabric-reloaded/"><![CDATA[<p>In a previous <a href="https://prologika.com/replicating-bigquery-to-fabric/">post</a>, I referred to an engagement where we used the Fabric Copy Job activity to replicate Google BigQuery tables to Fabric, so we can use Direct Lake semantic models. A few months later, the client reported that they pivoted from the Copy Job to notebooks using the Spark BigQuery connector for two main benefits:</p>
<ol>
<li><strong>Much better copy performance</strong> – Although the Copy Job would copy tables in parallel, the Spark BigQuery connector reduced significantly the data transfer time. The Copy Job would fully copy all tables in about 40 min.  With the Notebook, while the tables run sequentially instead of in parallel, most tables would take between 20-30 sec and one huge 140M fact table takes around 2 minutes to copy fully.  Altogether, the required tables take about 20-22 minutes to load, which is almost half the time less than the Copy Job. Upon further research to understand the difference in performance, I’ve discovered that the Spark BigQuery connector (the official one from Google) uses the high-performance BigQuery Storage Read API. This is a highly optimized, columnar, parallel reader designed for analytical workloads. It can push down filters, projections (column selection), and sometimes aggregations directly to BigQuery. It streams data very efficiently to Spark executors. By contrast, the Copy Job is generic, and I don’t expect such performance gain with other sources, such as copying data from Azure SQL DB.</li>
<li><strong>Custom code flexibility</strong> – For example, the client implemented data-driven metadata discovery to determine which columns to copy per table. In addition, they could trigger the notebook execution via REST API.</li>
</ol>
<blockquote><p>In summary, there are various options to replicate data from Google BigQuery to Fabric, including mirroring, Copy Job, and notebooks. Each approach has its pros and cons. Notebooks using the Spark BigQuery connector would probably give you the best throughput for batch-oriented, massive replication.</p></blockquote>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-9602 size-medium" src="https://prologika.com/wp-content/uploads/2026/05/bigquery-to-fabric-flow-e1779297713811-300x85.png" alt="BigQuery to Fabric flow" width="300" height="85" srcset="https://prologika.com/wp-content/uploads/2026/05/bigquery-to-fabric-flow-e1779297713811-300x85.png 300w, https://prologika.com/wp-content/uploads/2026/05/bigquery-to-fabric-flow-e1779297713811.png 368w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>&nbsp;</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/replicating-bigquery-to-fabric-reloaded/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/replicating-bigquery-to-fabric-reloaded/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Atlanta Microsoft BI Group Meeting on May 4th (Making Sense of Copilot in Power BI)]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/atlanta-microsoft-bi-group-meeting-202605/" />

		<id>https://prologika.com/?p=9595</id>
		<updated>2026-04-28T19:58:08Z</updated>
		<published>2026-04-28T19:58:08Z</published>
		<category scheme="https://prologika.com" term="Blog" /><category scheme="https://prologika.com" term="Events" /><category scheme="https://prologika.com" term="Atlanta.MBI" /><category scheme="https://prologika.com" term="Fabric" /><category scheme="https://prologika.com" term="Power BI" />
		<summary type="html"><![CDATA[Atlanta BI fans, please join us in person for our next meeting on Monday, May 4th at 18:30 ET. Jackie Kiadii will show you how you use the Copilot capabilities [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/atlanta-microsoft-bi-group-meeting-202605/"><![CDATA[<p>Atlanta BI fans, please join us in person for our next meeting on Monday, May 4th at 18:30 ET. Jackie Kiadii will show you how you use the Copilot capabilities in Power BI. CloudStaff will sponsor the meeting. For more details and sign up, visit our <a href="https://www.meetup.com/Atlanta-Microsoft-Business-Intelligence-Users/">group page</a>.</p>
<div class="flex items-center justify-between">
<div class="flex items-center justify-between">
<p class="mb-ds2-10"><strong>Delivery:</strong> In-person<br />
<strong>Level</strong>: Beginner/Intermediate<br />
<strong>Food</strong>: Pizza and drinks will be provided</p>
<p class="mb-ds2-10"><strong>Agenda:</strong><br />
18:15-18:30 Registration and networking<br />
18:30-19:00 Organizer and sponsor time (news, Power BI latest, sponsor marketing)<br />
19:00-20:15 Main presentation<br />
20:15-20:30 Q&amp;A</p>
<p class="mb-ds2-10"><strong>Overview:</strong> Copilot in Power BI is generating excitement — and significant confusion. Between multiple Copilot experiences, Fabric capacity requirements, and differences across Desktop, Service, and Fabric, many Power BI professionals struggle to explain what Copilot actually does and when it makes sense to use it.<br />
This session provides a clear, practical overview of:</p>
<ul>
<li class="mb-ds2-10">Copilot use cases that exist today</li>
<li class="mb-ds2-10">Where Copilot works (and where it doesn’t)</li>
<li class="mb-ds2-10">Licensing and capacity requirements</li>
<li class="mb-ds2-10">Current limits that impact real‑world adoption</li>
</ul>
<p class="mb-ds2-10">Rather than a technical deep dive or demo, the focus is on clarity and expectation‑setting — helping attendees evaluate Copilot realistically and explain it confidently to Excel users, business stakeholders, and clients.<br />
Attendees will leave with a framework they can use to make informed decisions about Copilot and confidently explain it to others.</p>
<p class="mb-ds2-10"><strong>Speaker</strong>: Jackie Kiadii is a Power BI trainer specializing in helping Excel users successfully transition to Power BI and adopt Microsoft analytics tools with confidence. She is a retired Microsoft Excel MVP, Microsoft Certified Trainer (MCT), Microsoft Data Analyst Associate (PL‑300), and Microsoft Office Specialist: Excel Expert. Jackie focuses on turning complex Microsoft BI topics into clear, practical guidance that supports real‑world adoption. Her work emphasizes licensing clarity, user expectations, and helping teams avoid costly or unnecessary decisions when implementing Power BI and Copilot.</p>
<p class="mb-ds2-10"><strong>Sponsor:</strong> <a class="!text-ds2-text-fill-brand_primary-enabled hover:!text-ds2-text-fill-brand_primary-hover" href="http://cloudstaff.ai/" target="_blank" rel="nofollow noopener ugc">CloudStaff.ai</a></p>
</div>
</div>
<p><a href="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png" rel="attachment wp-att-6368"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-6368" src="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png" alt="PowerBILogo" width="410" height="109" srcset="https://prologika.com/wp-content/uploads/2019/10/PowerBILogo.png 410w, https://prologika.com/wp-content/uploads/2019/10/PowerBILogo-300x80.png 300w" sizes="auto, (max-width: 410px) 100vw, 410px" /></a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/atlanta-microsoft-bi-group-meeting-202605/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/atlanta-microsoft-bi-group-meeting-202605/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Power BI Unmaterialized Columns]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/powerbi-unmaterialized-columns/" />

		<id>https://prologika.com/?p=9583</id>
		<updated>2026-04-27T19:30:42Z</updated>
		<published>2026-04-27T19:19:33Z</published>
		<category scheme="https://prologika.com" term="Blog" /><category scheme="https://prologika.com" term="DAX" />
		<summary type="html"><![CDATA[Coming back from a long vacation, I’ve almost missed this interesting Power BI enhancement: Power BI unmaterialized calculated columns. Normally, I avoid the traditional DAX calculated columns for a variety [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/powerbi-unmaterialized-columns/"><![CDATA[<p>Coming back from a long vacation, I’ve almost missed this interesting Power BI enhancement: Power BI <a href="https://powerbi.microsoft.com/en-us/blog/power-bi-april-2026-feature-summary/#post-32376-_Toc226459095:~:text=Summaries%C2%A0documentation.-,Modeling,-Direct%20Lake%20calculated">unmaterialized calculated columns</a>. Normally, I avoid the traditional DAX calculated columns for a variety of reasons, such as confusion about where business logic is applied, limited support across storage modes (for example, Direct Lake doesn’t support them), longer refresh times, etc. This not to say that calculated columns can&#8217;t be useful, such as in the case where you need to flatten a parent-child hierarchy. But unmaterialized calculated columns could open interesting scenarios that go beyond content translation to other languages mentioned by Microsoft in the April 2026 update.</p>
<h2><strong>Understanding unmaterialized columns</strong></h2>
<p>To start with, the announcement does a good job to confuse the audience by implying that they are applicable only to Direct Lake storage mode. I’ve found the <a href="https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-calculated-columns">documentation page</a> more useful to understand them (specifically this table). The important takeaway is that they are also available in import storage mode.</p>
<table>
<thead>
<tr>
<th><strong>Storage mode</strong></th>
<th><strong>Standard (default)</strong></th>
<th><strong>User Context</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Import</td>
<td>Materialized</td>
<td>Unmaterialized</td>
</tr>
<tr>
<td>Direct Lake on OneLake</td>
<td>Unmaterialized</td>
<td>Unmaterialized</td>
</tr>
<tr>
<td>Direct Lake on SQL</td>
<td>N/A</td>
<td>N/A</td>
</tr>
<tr>
<td>DirectQuery</td>
<td>Unmaterialized</td>
<td>Unmaterialized</td>
</tr>
<tr>
<td>Dual</td>
<td>Materialized (Import), unmaterialized (DirectQuery)</td>
<td>Unmaterialized</td>
</tr>
<tr>
<td>DirectQuery on Power BI semantic models</td>
<td>Unmaterialized</td>
<td>N/A</td>
</tr>
</tbody>
</table>
<p>Historically, DAX calculated columns are materialized during data refresh, meaning that once the engine calculates the formula, the output is saved (materialized). From this point on, a calculated column behaves like a regular column. However, the calculated column expression can’t reference runtime report conditions, such as the identity of the interactive user or filter selection. By contrast, like a DAX measure, the expression of the unmaterialized calculated column is evaluated at runtime. Why would you ever want to do this if we have DAX measures? Let’s consider an example.</p>
<h2>Using unmaterialized columns</h2>
<p>The Adventure Works DW schema has a DimSalesTerritory dimension. Suppose that the sales rep responsible for a given sales region would like to see his region as “My Region” on reports. This is probably a somewhat contrived scenario but I’m sure once you understand it, you will find other scenarios that can benefit from unmaterialized columns.</p>
<p><img loading="lazy" decoding="async" width="380" height="331" class="wp-image-9585" src="https://prologika.com/wp-content/uploads/2026/04/word-image-9583-1.png" srcset="https://prologika.com/wp-content/uploads/2026/04/word-image-9583-1.png 380w, https://prologika.com/wp-content/uploads/2026/04/word-image-9583-1-300x261.png 300w" sizes="auto, (max-width: 380px) 100vw, 380px" /></p>
<p>Implementing this without unmaterialized columns presents a challenge. You can come up with a DAX measure, but you will run into report limitations, such as that the measure can’t be used as a dimension to slice measures by. Or, you can go down the path of extending the model with other tables, but you will increase the complexity and user confusion. Unmaterialized columns open a new possibility by dynamically evaluating the expression, such as implementing runtime lookups. In my case, the expression of the PersonalizedRegion column is simple, but it can look up at runtime the assigned region from another table in the model, such as DimUser.</p>
<pre>PersonalizedRegion = if (USERPRINCIPALNAME() = "&lt;my email&gt;" &amp;&amp; SalesTerritory[SalesTerritoryRegion] = "Southeast", "My Region", SalesTerritory[SalesTerritoryRegion])</pre>
<p>As you can see, the column expression can reference any DAX function, just like a measure. For this to work, you must flag the column expression context to User Context in the advanced column properties in Model View. Consequently, the column data is no longer materialized.</p>
<p><img loading="lazy" decoding="async" class="wp-image-9586" src="https://prologika.com/wp-content/uploads/2026/04/word-image-9583-2.png" width="321" height="195" srcset="https://prologika.com/wp-content/uploads/2026/04/word-image-9583-2.png 429w, https://prologika.com/wp-content/uploads/2026/04/word-image-9583-2-300x183.png 300w" sizes="auto, (max-width: 321px) 100vw, 321px" /></p>
<blockquote><p>But the most important point is that you can continue using the column as a dimension, such as by adding it to the Rows or Columns wells in a Matrix visual. You can’t do this with a measure and that makes all the difference.</p></blockquote>
<h2>Summary</h2>
<p>In summary, unmaterialized calculated columns bridge two previously completely distinct DAX worlds: calculated columns and measures. Like measures, they can reference runtime report conditions, such as the interactive user identity and report filters. Like columns, they can be used as dimensions. On the downside, like measures, complex formulas might impede the report performance.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/powerbi-unmaterialized-columns/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/powerbi-unmaterialized-columns/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>Prologika - Teo Lachev</name>
					</author>

		<title type="html"><![CDATA[Prologika Newsletter Spring 2026]]></title>
		<link rel="alternate" type="text/html" href="https://prologika.com/prologika-newsletter-spring-2026/" />

		<id>https://prologika.com/?p=9575</id>
		<updated>2026-03-08T21:31:52Z</updated>
		<published>2026-03-08T21:31:52Z</published>
		<category scheme="https://prologika.com" term="Newsletter" /><category scheme="https://prologika.com" term="Data Virtualization" /><category scheme="https://prologika.com" term="Fabric" /><category scheme="https://prologika.com" term="Lakehouse" /><category scheme="https://prologika.com" term="Power BI" />
		<summary type="html"><![CDATA[At Ignite in November, 2025, Microsoft introduced Fabric IQ. I noted to go beyond the marketing hype and check if Fabric IQ makes any sense. The next thing I know, [&#8230;]]]></summary>

					<content type="html" xml:base="https://prologika.com/prologika-newsletter-spring-2026/"><![CDATA[<p><img loading="lazy" decoding="async" class="wp-image-9535" style="padding: 0px 10px;" src="https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1.png" width="120" height="120" align="left" srcset="https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1.png 1024w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-300x300.png 300w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-80x80.png 80w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-768x768.png 768w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-36x36.png 36w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-180x180.png 180w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-705x705.png 705w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-120x120.png 120w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-450x450.png 450w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-50x50.png 50w, https://prologika.com/wp-content/uploads/2025/12/word-image-9533-1-100x100.png 100w" sizes="auto, (max-width: 120px) 100vw, 120px" /></p>
<p>At Ignite in November, 2025, Microsoft <a href="https://youtu.be/RjU0slwcZGs?si=QTRsZMg-jFQ5wsB0">introduced</a> <a href="https://youtu.be/RjU0slwcZGs?si=QTRsZMg-jFQ5wsB0">Fabric IQ</a>. I noted to go beyond the marketing hype and check if Fabric IQ makes any sense. The next thing I know, around the holidays I’m talking to an enterprise strategy manager from an airline company and McKinsey consultant about ontologies. In this newsletter I share my thoughts of FabricIQ based on my initial evaluation. Let&#8217;s start with what ontology is and how Fabric IQ uses it to integrate your enterprise data.</p>
<p><em>Ontology – A branch of philosophy, ontology is the study of being that investigates the nature of existence, the features all entities have in common, and how they are divided into basic categories of being. In computer science and AI, ontology refers to a set of concepts and categories in a subject area or domain that shows their properties and the relations between them.</em></p>
<h2>What is Fabric IQ?</h2>
<p>According to Microsoft, Fabric IQ is “a unified intelligence platform developed by Microsoft that enhances data management and decision-making through semantic understanding and AI capabilities.” Clear enough? If not, if you view Fabric as Microsoft’s answer to Palantir’s Foundry, then Fabric IQ is the Microsoft equivalent of Palantir’s Foundry Ontology, whose success apparently inspired Microsoft.</p>
<blockquote><p>Therefore, my unassuming layman definition of Fabric IQ is a metadata layer on top of data in Fabric that defines entities and their relationships so that AI can make sense of and relate the underlying data.</p></blockquote>
<p>For example, you may have an organizational semantic model built on top of an enterprise data warehouse (EDW) that spans several subject areas. And then you might have some data that isn’t in EDW and therefore outside the semantic model, such as HR file extracts in a lakehouse. You can use Fabric IQ as a glue that bridges that data together. And so, when the user asks the agent “correlate revenue by employee with hours they worked”, the agent knows where to go for answers. This screenshot shows how you can define such relationships between two entities.</p>
<p><img decoding="async" src="https://learn.microsoft.com/en-us/fabric/iq/ontology/media/tutorial-1-create-ontology/semantic-model/all-entity-types.png" alt="Screenshot of the renamed entity types." /></p>
<p>Following this line of thinking, Microsoft BI practitioners may view Fabric IQ as a Power BI composite semantic model on steroids. The big difference is that a composite model can only reference other semantic models while Fabric IQ can span data in multiple formats.</p>
<h2>The Good</h2>
<p>Palantir had a head start of a decade or so compared to Microsoft Fabric, but yet even in its preview stage, I like a thing or two about Fabric IQ from what I’ve seen so far:</p>
<ul>
<li>Its oncology can span Power BI semantic models (with caveats explained in the next section), powered by best-in-class technology. As I mentioned before, this allows you to bridge all the business logic and calculations you carefully crafted in a semantic model to the rest of your Fabric data estate.</li>
<li>Fabric IQ integrates with other Microsoft technologies, such as real-time intelligence (eventhouses), Copilot Studio, Graph. This tight integration turns Fabric into a true &#8220;intelligence platform,&#8221; reducing duplicated logic, one-off models, and maintenance while enabling multi-hop reasoning and real-time operational agents.</li>
<li>Democratized and no-code friendly &#8211; Visual tools allow business users to build and evolve the ontology, lowering barriers compared to more engineering-heavy alternatives. Making it easy to use has always been a Microsoft strength.</li>
<li>Groundbreaking semantics for AI Agents: Fabric IQ elevates AI from pattern-matching to true business understanding, allowing agents to reason over cascading effects, constraints, and objectives—leading to more reliable, auditable decisions and automation.</li>
<li>Compared to Palantir, I also like that Fabric OneLake has standardized on an open Delta Parquet format and embraced data movements tools Microsoft BI pros and business users are already familiar with, such as Dataflows and pipelines, to bring data in Fabric and therefore Fabric IQ.</li>
</ul>
<h2>The Bad</h2>
<p>I hope some of these limitations will be lifted after the preview but:</p>
<ul>
<li>Only DirectLake semantic models <a href="https://learn.microsoft.com/en-us/fabric/iq/ontology/concepts-generate">are accessible</a> to AI agents. Import and DirectQuery models are not currently supported for entity and relationships binding. Not only does this limitation rule out pretty much 99.9% of the existing semantic models, but it also prevents useful business scenarios, such as accessing the data where it is with DirectQuery instead of duplicating the data in OneLake.</li>
<li>No automatic ontology building – It requires cross-functional agreement on business definitions, workshops, and governance—labor-intensive for organizations without mature semantic models. I hope Microsoft will simplify this process like how Purview has automated scans.</li>
<li>Risk of overhype vs. delivery gap – We’ve seen this before when new products got unveiled with a lot of fanfare, only to be abandoned later.</li>
</ul>
<h2>The Ugly</h2>
<p>OneLake-centric dependency. Except for shortcuts to Delta Parquet files which can be kept external, your data must be in OneLake. What about these enterprises with investments in Google BigQuery, Teradata, Snowflake, and even SQL Server or Azure SQL DB? Gotta bring that data over to OneLake. Even shortcut transformations to CSV, Parquet, JSON files in OneLake, S3, Google Cloud Storage, will copy the data to OneLake. By contrast, Palantir has limited support for virtual tables to some popular file formats, such as Parquet, Iceberg, Delta, etc.</p>
<p>What happened to all the investments in data virtualization and logical warehouses that Microsoft has made over years, such as <a href="https://prologika.com/prologika-newsletter-winter-2021/">PolyBase</a> and the deprecated <a href="https://prologika.com/synapse-serverless-the-good-the-bad-and-the-ugly/">Polaris in Synapse Serverless</a>? What’s this fascination with copying data and having all the data in OneLake? Why can’t we build Fabric IQ on top of true data virtualization?</p>
<p>Which is where I was thinking that semantic models with DirectQuery can be used as a workaround to avoid copying data over from supported data sources, but alas Fabric IQ doesn’t like them yet.</p>
<h2>Summary</h2>
<p>Microsoft Fabric IQ is a metadata layer on top of Fabric data to build ontologies and expose relevant data to AI reasoning. It will be undoubtedly appealing to enterprise customers with complex data estates and existing investments in Power BI and Fabric. However, as it stands, Fabric IQ is OneLake-centric. Expect Microsoft to invest heavily in Fabric and Fabric IQ to compete better with Palantir.</p>
<p><img decoding="async" src="http://prologika.com/wp-content/uploads/2017/06/060417_1725_PrologikaNe2.png" alt="" /><br />
Teo Lachev<br />
Prologika, LLC | Making Sense of Data<br />
<a href="http://prologika.com/wp-content/uploads/2016/01/logo.png" rel="attachment wp-att-12"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-12" src="http://prologika.com/wp-content/uploads/2016/01/logo.png" alt="logo" width="165" height="45" /></a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://prologika.com/prologika-newsletter-spring-2026/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://prologika.com/prologika-newsletter-spring-2026/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
	</feed>
