<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Practical BI by TECHOICE]]></title><description><![CDATA[Practical tips on Power BI, DAX, and Excel for business professionals. Real-world solutions from a Senior Solution Architect.]]></description><link>https://blog.techoice.se</link><image><url>https://substackcdn.com/image/fetch/$s_!vBOf!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d16025-1b1c-4350-ba75-3a52b5928fbd_1024x1024.png</url><title>Practical BI by TECHOICE</title><link>https://blog.techoice.se</link></image><generator>Substack</generator><lastBuildDate>Thu, 07 May 2026 03:39:20 GMT</lastBuildDate><atom:link href="https://blog.techoice.se/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Vilmantas Lialko]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[vilmantaslialko@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[vilmantaslialko@substack.com]]></itunes:email><itunes:name><![CDATA[Vilmantas Lialko]]></itunes:name></itunes:owner><itunes:author><![CDATA[Vilmantas Lialko]]></itunes:author><googleplay:owner><![CDATA[vilmantaslialko@substack.com]]></googleplay:owner><googleplay:email><![CDATA[vilmantaslialko@substack.com]]></googleplay:email><googleplay:author><![CDATA[Vilmantas Lialko]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Power BI Kitchen: The Essential Tools & Recipes for Enterprise Success]]></title><description><![CDATA[Advanced Power BI, DAX, and Semantic Modeling for the Modern Enterprise.]]></description><link>https://blog.techoice.se/p/power-bi-kitchen-the-essential-tools</link><guid isPermaLink="false">https://blog.techoice.se/p/power-bi-kitchen-the-essential-tools</guid><dc:creator><![CDATA[Vilmantas Lialko]]></dc:creator><pubDate>Sat, 13 Dec 2025 21:31:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!elx1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In my previous article <strong><a href="https://blog.techoice.se/p/build-once-harvest-everywhere-the-semantic-ecosystem">Build Once, Harvest Everywhere The Semantic Ecosystem</a></strong> I talked about what a semantic model is and how you can harvest it in multiple ways, once you build it.  Today, I want to focus more on the tools and steps needed to achieve that.</p><h2><strong>Power BI Desktop</strong></h2><p>This is your main development tool, and you should get it installed on your PC. Currently, there are two ways you can install it:</p><ol><li><p>As a <strong>standard Windows Application</strong> (by downloading the .exe installer).</p></li><li><p>As a <strong>Store App</strong> (via the Microsoft Store).</p></li></ol><p>The advantage of installing it as an <strong>App</strong> is that, in most cases, you do not need Administrator rights on your PC, and you get <strong>auto-updates</strong> (usually once per month). On the other hand, if you install via the <strong>.exe installer</strong>, you have <strong>full control</strong> over the installed version and when updates occur.</p><p>Power BI Desktop is a very versatile tool. It can be used for the development of <strong>Semantic Model</strong> parts and for <strong>Report/Visuals (GUI)</strong> parts, all in one place.</p><h3><strong>Visual Studio + PBI Desktop</strong></h3><p>Large organizations&#8212;especially if the semantic models are finally deployed on <strong>Microsoft Analysis Services</strong>&#8212;might use <strong>Visual Studio</strong> as the main development tool for the semantic model part, and <strong>Power BI Desktop</strong> for the visual reporting layer.</p><h2><strong>The Essential External Tools</strong></h2><p>While today&#8217;s Power BI Desktop is able to do more and more on its own, some external tools are still vital for the professional developer. I would emphasize three of them as the most useful on a daily basis.</p><h3><strong>1. DAX Studio</strong></h3><p>While Power BI lets you <em>write</em> DAX, <strong>DAX Studio</strong> lets you <em>analyze</em> exactly how those calculations run. It is the industry standard for troubleshooting slow reports, allowing you to view <strong>Server Timings</strong> to pinpoint bottlenecks in your code. Beyond optimization, it is also a fantastic tool for formatting complex DAX measures and extracting data directly from your model.</p><h3><strong>2. Tabular Editor (TE2 &amp; TE3)</strong></h3><p><strong>Tabular Editor</strong> is the ultimate tool for managing your semantic model&#8217;s metadata efficiently. It comes in two flavors:</p><ul><li><p><strong>Tabular Editor 2 (TE2):</strong> A free, open-source version that is perfect for batch updates, scripting, and advanced model management.</p></li><li><p><strong>Tabular Editor 3 (TE3):</strong> A commercial, full-featured development environment. While TE2 handles the core mechanics beautifully, TE3 adds a premium layer with a dedicated <strong>DAX Debugger</strong>, IntelliSense, and a rich interface for testing code before it ever hits your report.</p></li></ul><h3><strong>3. ALM Toolkit</strong></h3><p>This tool is essential for teams. It compares two Power BI files (e.g., <strong>Development vs. Production</strong>) and highlights the differences line-by-line. It allows you to merge changes without accidentally overwriting the entire dataset.</p><h3><strong>A Few More Useful Tools</strong></h3><ul><li><p><strong>Bravo for Power BI:</strong> The most user-friendly tool for beginners and pros alike. It instantly generates compliant Date/Calendar tables, applies best-practice formatting to your measures, and helps you optimize model size with a beautiful interface.</p></li><li><p><strong>Measure Killer:</strong> As reports grow, they accumulate &#8220;dead&#8221; code. Measure Killer scans your entire report (and your cloud environment) to find measures and columns that are <em>never</em> used, allowing you to safely delete them to speed up your model.</p></li><li><p><strong>Power BI Helper:</strong> Generates automatic documentation of your model, shows you lineage (which columns feed which visuals), and helps you reverse-engineer reports inherited from others.</p></li></ul><p><em>(There are many more&#8212;just search for &#8220;must have Power BI external tools&#8221; on the web.)</em></p><div><hr></div><h2><strong>The Deployment Process</strong></h2><p>It is important to clearly separate the lifecycle into two distinct phases: the <strong>Development Phase</strong> and the <strong>Consumption Phase</strong>.</p><h3><strong>The Development Phase</strong></h3><p>This is typically carried out by BI Developers or Data Analysts. The goal here is to translate business requirements into robust semantic models and insightful reports. The tools mentioned above (DAX Studio, Tabular Editor, etc.) are almost exclusively used during this phase to build and optimize the solution.</p><h3><strong>The Consumption Phase</strong></h3><p>This is where business users interact with the data to derive value. While Power BI Desktop <em>can</em> technically display reports, it is <strong>primarily designed for authoring</strong>. Ideally, consumption happens on the web via the <strong>Power BI Service</strong>, ensuring users are always looking at the latest version of the data without the complexity of the developer interface.</p><h3><strong>Report Publishing</strong></h3><p>Publishing is the bridge between these two worlds. It is the process of transferring your work from the local environment to the cloud. Crucially, when you publish a Power BI Desktop file (.pbix), it technically splits into two separate components in the Service:</p><ol><li><p><strong>The Semantic Model</strong> (The data and logic)</p></li><li><p><strong>The Report</strong> (The visuals and canvas)</p></li></ol><p>Please see the diagram below.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!elx1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!elx1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png 424w, https://substackcdn.com/image/fetch/$s_!elx1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png 848w, https://substackcdn.com/image/fetch/$s_!elx1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png 1272w, https://substackcdn.com/image/fetch/$s_!elx1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!elx1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png" width="1197" height="655" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:655,&quot;width&quot;:1197,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:171874,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.techoice.se/i/181542337?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!elx1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png 424w, https://substackcdn.com/image/fetch/$s_!elx1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png 848w, https://substackcdn.com/image/fetch/$s_!elx1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png 1272w, https://substackcdn.com/image/fetch/$s_!elx1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1e93fd3-7759-4fe0-9817-67ea25084215_1197x655.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3><strong>Managing the Lifecycle</strong></h3><p>Once you understand this diagram, a critical realization follows: after deployment, you essentially have <strong>two copies</strong> of the same semantic model&#8212;one running locally on your PC, and one live in the Web Service (Production).</p><p>While they start out identical, they will inevitably deviate as you continue developing new features locally. This is where tools like <strong>ALM Toolkit</strong> become essential. They allow you to compare your local &#8220;Work in Progress&#8221; model against the &#8220;Live&#8221; production model to see exactly what has changed before you publish again.</p><h3><strong>The Core Takeaway</strong></h3><p>The most important lesson here is that the <strong>Semantic Model is the heart</strong> of your Power BI solution. Whether it is currently sitting on your local laptop during development or hosting thousands of users in the cloud, it remains the central engine. The power of the external tools we discussed lies in their ability to connect to this model <em>wherever</em> it resides&#8212;local or cloud&#8212;to help you optimize, debug, and manage it effectively.</p><div><hr></div><h2><strong>The Rise of Self-Service BI</strong></h2><p>Traditionally, organizations operated in two distinct silos: <strong>IT Developers</strong>, who owned the creation tools, and <strong>Business Users</strong>, who were limited to simply viewing reports on the web. The fundamental flaw in this model is the bottleneck: business demand for new insights (the demand) always outpaces the IT department&#8217;s capacity to build them (the supply).</p><p>This is where <strong>Self-Service BI (SSBI)</strong> users come into the picture. These are skilled business professionals who are not afraid to solve immediate problems themselves.</p><p>Consider a scenario where a &#8220;Corporate Semantic Model&#8221; is published in production. It defines the core business entities and serves 90% of the organization&#8217;s needs. However, a local business unit often has specific, niche requirements&#8212;perhaps a new measure for a quarterly review or a budget target that only exists in a local Excel file.</p><p>Instead of submitting a formal request to IT and waiting weeks, an SSBI user can <strong>connect to and extend</strong> the corporate model. Here are the primary ways SSBI users can leverage this:</p><ul><li><p><strong>Power BI Desktop (Live Connection):</strong> The user connects a blank Power BI file to the published corporate model. In this mode, they cannot change the underlying data structure, but they can author <strong>new report pages</strong>, build new visuals, and write <strong>report-level measures</strong>. This allows for custom storytelling while still using trusted corporate data.</p></li><li><p><strong>Power BI Desktop (Composite Models):</strong> This takes capability a step further. The user converts the connection into a <strong>Mixed Mode</strong> model, allowing them to mash up corporate data with local data. For example, they can import a local Excel budget file, relate it to the corporate &#8220;Sales&#8221; table, and even add <strong>new calculated columns</strong>. This creates a specialized &#8220;local extension&#8221; of the main model.</p></li><li><p><strong>Excel Integration (Analyze in Excel &amp; Get Data):</strong> For finance professionals and analysts who live in spreadsheets, this is a game-changer. Users can connect Excel directly to the corporate semantic model. They can choose to build standard <strong>Pivot Tables</strong> for aggregated reporting, or for more advanced scenarios, use <strong>DAX Table Expressions</strong> to import specific flat tables of live data directly into an Excel sheet.</p></li></ul><h3><strong>The Collaborative Future</strong></h3><p>If these local business units are given their own Power BI Workspace, they can even publish these &#8220;extended&#8221; reports back to the web. This allows them to share specialized insights with colleagues while maintaining a single version of the truth for the underlying data.</p><div><hr></div><h2><strong>Conclusion: The Chef, The Kitchen, and The Feast</strong></h2><p>Building a successful data culture isn&#8217;t just about having the right ingredients (data); it&#8217;s about having the right kitchen setup. We have explored how <strong>Power BI Desktop</strong> acts as your main workstation, but true professional capability comes from integrating external tools like <strong>DAX Studio</strong> for performance, <strong>Tabular Editor</strong> for speed, and <strong>ALM Toolkit</strong> for safety.</p><p>Crucially, we debunked the myth that development is solely an &#8220;IT job.&#8221; By understanding the separation between the <strong>Semantic Model</strong> and the <strong>Report</strong>, we empower <strong>Self-Service BI users</strong> to connect, extend, and innovate without breaking the core foundation.</p><p><strong>Your Next Step:</strong> If you are still only using Power BI Desktop, pick <em>one</em> external tool from this list today&#8212;perhaps <strong>Bravo</strong> for quick formatting or <strong>DAX Studio</strong> to inspect a slow query&#8212;and install it. You will be surprised at how much faster your &#8220;cooking&#8221; becomes.</p><div><hr></div><p><em>Want to dive deeper? Browse the full library by category on the <strong><a href="https://blog.techoice.se/p/topics">Topics Page</a></strong>.</em></p>]]></content:encoded></item><item><title><![CDATA[Build Once, Harvest Everywhere The Semantic Ecosystem]]></title><description><![CDATA[Stop building dashboards. Start building assets.]]></description><link>https://blog.techoice.se/p/build-once-harvest-everywhere-the-semantic-ecosystem</link><guid isPermaLink="false">https://blog.techoice.se/p/build-once-harvest-everywhere-the-semantic-ecosystem</guid><dc:creator><![CDATA[Vilmantas Lialko]]></dc:creator><pubDate>Sat, 06 Dec 2025 18:58:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aHNP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>That sounds crazy, right? But hear me out.</p><p>In my last article, <strong><a href="https://blog.techoice.se/p/why-the-semantic-model-is-your-most-valuable-asset">Why the Semantic Model is Your Most Valuable Asset</a></strong>, we established a hard truth: Your visual report is disposable, but your Semantic Model is the gold in the vault.</p><p>But an asset sitting in a vault earns zero interest. You need to invest in it.</p><p>Too many organizations treat their Semantic Models like single-purpose tools. They build a sophisticated model, slap one report on top of it, and call it done. That is a massive waste of ROI. In a mature Data Architecture, the Semantic Model isn&#8217;t just a data source for a dashboard&#8212;it is the <strong>Solar System</strong> of your entire organization.</p><p>The Semantic Model is the Sun. Burning bright in the center, it holds the &#8220;Single Version of the Truth.&#8221; Orbiting around it are different ways to consume that truth.</p><p>Here are the <strong>7 Ways to Harvest Your Semantic Model</strong> to ensure every person in your company&#8212;from the CEO to the Data Scientist&#8212;is looking at the same star.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aHNP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aHNP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aHNP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aHNP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aHNP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aHNP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg" width="1216" height="880" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:880,&quot;width&quot;:1216,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1260181,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.techoice.se/i/180902950?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aHNP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aHNP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aHNP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aHNP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68473ab1-16d0-4bbd-a5d9-1de8de34e152_1216x880.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>1. Power BI Reports (The Interactive View)</strong></h3><ul><li><p><strong>Target Audience:</strong> Executives &amp; Managers</p></li><li><p><strong>The Method:</strong> Live Connection (Web/Desktop)</p></li></ul><p>This is the standard use case. We build interactive, visual dashboards to spot trends and outliers. We all know this one.</p><p><strong>The Architect&#8217;s Note:</strong> Remember that the report is just a <em>skin</em>. If you delete the report file tomorrow, your business logic (Measures, KPIs, Security) remains safe in the model. Never put business logic in the visual layer; keep it in the model so the other 6 tools below can use it.</p><h3><strong>2. Paginated Reports (The Document View)</strong></h3><ul><li><p><strong>Target Audience:</strong> Operations &amp; Regulatory Compliance</p></li><li><p><strong>The Method:</strong> Power BI Report Builder</p></li></ul><p>Sometimes you don&#8217;t need a dashboard; you need a pixel-perfect invoice, a regulatory PDF, or a 50-page operational list that prints perfectly on A4 paper.</p><p>Paginated Reports connect to the same Semantic Model to generate these formal documents. This ensures that the numbers on the invoice match the numbers on the dashboard exactly.</p><h3><strong>3. Excel (The Financial View)</strong></h3><ul><li><p><strong>Target Audience:</strong> Finance &amp; Controllers</p></li><li><p><strong>The Method:</strong> Power Pivot / DAX Table Expressions</p></li></ul><p>Finance teams generally do not want bubbles and maps; they want grids, pivots, and ad-hoc analysis. Instead of forcing them to export data to CSV (creating &#8220;Excel Hell&#8221; and version control chaos), you give them a <strong>Live Connection</strong>.</p><p>Using &#8220;Analyze in Excel,&#8221; they connect directly to the Semantic Model. They can browse the exact same &#8220;Gross Margin&#8221; measure as the CEO, but they do it in their native language: Pivot Tables. One model, two interfaces.</p><h3><strong>4. Composite Data Models (The Extension View)</strong></h3><ul><li><p><strong>Target Audience:</strong> Departmental Analysts (&#8221;Shadow IT&#8221;)</p></li><li><p><strong>The Method:</strong> DirectQuery for Power BI Datasets</p></li></ul><p>This is the ultimate &#8220;Ecosystem&#8221; feature. It allows a local department (like HR or Marketing) to connect to your corporate &#8220;Golden Dataset&#8221; and <strong>extend it</strong> with their own local Excel files or flat files.</p><p>They don&#8217;t rebuild your work; they build <em>on top</em> of it. They harvest your core architecture while maintaining the flexibility to add their own local analysis.</p><h3><strong>5. Semantic Link (The Scientific View)</strong></h3><ul><li><p><strong>Target Audience:</strong> Data Scientists &amp; Python Developers</p></li><li><p><strong>The Method:</strong> Microsoft Fabric (sempy library)</p></li></ul><p>This is the game-changer introduced in Microsoft Fabric. Historically, Data Scientists had to rebuild business logic in Python to run forecasts because they couldn&#8217;t read Power BI files.</p><p>Now, using <strong>Semantic Link</strong>, they can import your Power BI measures directly into their Python Notebooks as a Pandas DataFrame. Your Machine Learning models now speak the exact same language as your Financial Reports. No more &#8220;Two Versions of the Truth.&#8221;</p><h3><strong>6. AI Agents &amp; Copilot (The Conversational View)</strong></h3><ul><li><p><strong>Target Audience:</strong> Everyone</p></li><li><p><strong>The Method:</strong> Natural Language Query (NLQ)</p></li></ul><p>This is the newest planet in our solar system. Executives can now ask, <em>&#8220;Why is Gross Margin down in Europe?&#8221;</em> and the AI agent harvests the answer directly from your measure definitions.</p><p>Technically, Copilot acts as a <strong>Translation Layer</strong>. It translates English into a DAX query, executes it against your model, and renders the result. This makes your Semantic Model the &#8220;Vocabulary&#8221; for the company&#8217;s AI. If your metadata is clean, your AI is smart.</p><h3><strong>7. Power Apps (The Action View)</strong></h3><ul><li><p><strong>Target Audience:</strong> Frontline Workers</p></li><li><p><strong>The Method:</strong> Power Automate Bridge / Native Integration</p></li></ul><p>Dashboards are passive; they show you what <em>happened</em>. Apps are active; they let you <em>fix</em> it. By connecting a Power App to your ecosystem, frontline workers can &#8220;harvest&#8221; context from the model (e.g., &#8220;Stock is low&#8221;) and take action.</p><ul><li><p><strong>The Harvest:</strong> The App reads the data (via Power Automate or Native Integration).</p></li><li><p><strong>The Action:</strong> The user clicks &#8220;Restock.&#8221;</p></li><li><p><strong>The Write-Back:</strong> The App writes the transaction back to the <strong>Source System</strong> (SQL/Dataverse), closing the loop between insight and action.</p></li></ul><div><hr></div><h3><strong>The Verdict</strong></h3><p>If you are a Solution Architect, your job isn&#8217;t to build a Report. Your job is to build the <strong>Sun</strong>.</p><p>Once you have a solid, well-governed Semantic Model, you can let the users choose their own telescope. Whether they use Excel, Python, or a Mobile App, they are all looking at the same truth.</p><p><strong>Build once. Harvest everywhere.</strong></p><div><hr></div><p><em>Want to dive deeper? Browse the full library by category on the <strong><a href="https://blog.techoice.se/p/topics">Topics Page</a></strong>.</em></p>]]></content:encoded></item><item><title><![CDATA[Why the Semantic Data Model is Your Most Valuable Asset]]></title><description><![CDATA[In the age of AI and Data Lakes, the humble Semantic Model remains the "Heart" of modern business]]></description><link>https://blog.techoice.se/p/why-the-semantic-model-is-your-most-valuable-asset</link><guid isPermaLink="false">https://blog.techoice.se/p/why-the-semantic-model-is-your-most-valuable-asset</guid><dc:creator><![CDATA[Vilmantas Lialko]]></dc:creator><pubDate>Sat, 29 Nov 2025 19:00:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QVzT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3><strong>Introduction: The Evolution of Tech</strong></h3><p>I want to share my reasoning on why the <strong>Power BI Semantic Model</strong> is, as of today, your organization&#8217;s most valuable analytics asset.</p><p>First, we must admit that technology is evolving at breakneck speed. New tools emerge every day. Three years ago, we heard about ChatGPT for the first time. Today, you only need to look at the<a href="https://lmarena.ai/leaderboard"> LM Arena leaderboard</a> to see how many new AI models are emerging and competing for dominance: Gemini, Grok, Claude, and so on.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.techoice.se/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Enjoying this architecture deep dive? Subscribe to get a new technical guide every week.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The data landscape is shifting just as fast. We have modern environments providing the &#8220;Data Lake&#8221; concept, like Microsoft Fabric, Databricks, and Snowflake. And let&#8217;s not forget the traditional data storage tools that still run the world: SQL databases, SharePoint lists, and finally, physical files like Excel or CSV.</p><h3><strong>The Problem: The Distributed Truth</strong></h3><p>Traditionally, medium and large-sized organizations maintain multiple tools and solutions in parallel. This creates a fragmented reality where the answer to a business question lies distributed among them.</p><ul><li><p>Customer data is in Salesforce.</p></li><li><p>Budget data is in Excel.</p></li><li><p>Transactions are in an ERP system.</p></li></ul><p>This is where the power of the <strong>Semantic Model</strong> shines. It acts as a central <strong>Hub</strong> in the middle, consolidating this data in one place, ready to serve the business.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QVzT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QVzT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QVzT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QVzT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QVzT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QVzT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg" width="1232" height="864" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:864,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:494875,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.techoice.se/i/180266106?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QVzT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QVzT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QVzT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QVzT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbca2055f-9685-4720-811b-03ca3e3581ac_1232x864.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>What is a Semantic Model? (The Abstract View)</strong></h3><p>Before we talk about tools, let&#8217;s talk about the concept.</p><p>Technically, a semantic model is a copy of your data with defined relationships, collected from different sources. It is compressed to be incredibly space-efficient and operates in <strong>RAM</strong> (Random Access Memory) to be super fast. Conceptually, this is the classical BI architecture used among several enterprise tools, whether it be QlikView, Tableau, or Power BI.</p><p>The first thing to understand is the <strong>Data Model and its Relationships</strong>.</p><p>Initially, we should look at the data model in an abstract way, on the business level. For example, an organization will always have <strong>Products</strong>, <strong>Customers</strong>, and <strong>Sales</strong>. These are facts. For a moment, we do not care that Products are defined in SAP, and Customers and Sales are in Salesforce.</p><p>Having just these three business entities, we can already draw the schematic data model and define the relationships.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i2N1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i2N1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png 424w, https://substackcdn.com/image/fetch/$s_!i2N1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png 848w, https://substackcdn.com/image/fetch/$s_!i2N1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png 1272w, https://substackcdn.com/image/fetch/$s_!i2N1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i2N1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png" width="891" height="569" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b81a30ee-bee7-43c4-b02a-584349810876_891x569.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:569,&quot;width&quot;:891,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i2N1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png 424w, https://substackcdn.com/image/fetch/$s_!i2N1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png 848w, https://substackcdn.com/image/fetch/$s_!i2N1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png 1272w, https://substackcdn.com/image/fetch/$s_!i2N1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb81a30ee-bee7-43c4-b02a-584349810876_891x569.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What do we mean by the lines connecting them? These represent <strong>Key Columns</strong>, like Customer ID or Product ID.</p><ul><li><p>Usually, all Customers in the <em>Customer</em> table have a unique <strong>Customer Key</strong>.</p></li><li><p>The <em>Sales</em> table can contain thousands or millions of rows, documenting sales of different products to different customers during a defined period.</p></li></ul><h3><strong>The Foundation: The Star Schema &#11088;</strong></h3><p>When defining the logical data model, we should strive to achieve the <strong>Star Schema</strong>. It is the best compromise to achieve the best performance, storage efficiency, and query flexibility later on.</p><p>In a Star Schema, the tables of the semantic model fall into two categories:</p><ol><li><p><strong>Dimension Tables:</strong> These describe the &#8220;Who, What, Where.&#8221; They usually have a unique value column (like Customer ID or Product ID).</p></li><li><p><strong>Fact Tables:</strong> (Sometimes called Transactional tables). These store the details about multiple business transactions (like Sales) and do not have unique columns.</p></li></ol><p>Why is this called a Star Schema? Because the drawing looks like a star: one Fact table in the center, surrounded by many Dimension tables.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G0Fa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G0Fa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png 424w, https://substackcdn.com/image/fetch/$s_!G0Fa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png 848w, https://substackcdn.com/image/fetch/$s_!G0Fa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png 1272w, https://substackcdn.com/image/fetch/$s_!G0Fa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G0Fa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png" width="1158" height="767" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:767,&quot;width&quot;:1158,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!G0Fa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png 424w, https://substackcdn.com/image/fetch/$s_!G0Fa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png 848w, https://substackcdn.com/image/fetch/$s_!G0Fa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png 1272w, https://substackcdn.com/image/fetch/$s_!G0Fa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ef70a3-0a1b-486b-a48d-b5ce93aa1dc1_1158x767.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>The &#8220;Architect&#8217;s View&#8221;: Top-Down Flow</strong></h4><p>In reality, the data model might be more complex. It might have two or more fact tables, like <strong>Sales</strong> and <strong>Budget</strong>.</p><p>So, I advise against thinking about the &#8220;Star&#8221; visualization too literally. A much better habit is to place <strong>Dimension tables at the top</strong> of your drawing, and <strong>Fact tables below</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xXlQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xXlQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png 424w, https://substackcdn.com/image/fetch/$s_!xXlQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png 848w, https://substackcdn.com/image/fetch/$s_!xXlQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png 1272w, https://substackcdn.com/image/fetch/$s_!xXlQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xXlQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png" width="1297" height="702" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:702,&quot;width&quot;:1297,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xXlQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png 424w, https://substackcdn.com/image/fetch/$s_!xXlQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png 848w, https://substackcdn.com/image/fetch/$s_!xXlQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png 1272w, https://substackcdn.com/image/fetch/$s_!xXlQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b09e9b-3733-47b1-9460-b4e27536cd76_1297x702.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The reason placing Dimensional tables at the top is better is because later, when we deal with the concept of <strong>Filter Directions</strong>, it will be much easier to visualize &#8220;Top-Down&#8221; flow scenarios. Understanding that filters flow downhill is crucial to understanding the model&#8217;s behavior.</p><h3><strong>The Alternative: Why Not One Big Table?</strong></h3><p>Just before leaving the concept of the Star Schema, let&#8217;s ask ourselves: what are the alternatives?</p><p>One alternative would be one large <strong>Flattened Table</strong>&#8212;like one giant Excel spreadsheet constructed with the help of XLOOKUP, containing data from Customers, Products, and Sales all in one row.</p><p>Technically, this is possible, but only as long as we have <strong>one</strong> fact table in the model (like Sales).</p><p>As soon as we introduce a second fact table&#8212;like <strong>Budget</strong>&#8212;the flat table approach breaks. You would need two separate flattened tables: one based on Sales and one based on Budgets.</p><ul><li><p>This introduces <strong>Data Redundancy</strong>, as data from Customers, Calendar, and Products is stored twice.</p></li><li><p>This uses expensive RAM memory inefficiently.</p></li></ul><p>One advantage of a flattened table is that it is extremely fast at querying time. However, I maintain that the <strong>Star Schema is the best compromise</strong> between speed, space, and scaling up flexibility.</p><h3><strong>The &#8220;Back-End&#8221;: The Importance of ETL</strong></h3><p>Now that we have covered the abstract layer of the semantic data model, we need to cover the importance of the <strong>ETL</strong> part.</p><p><strong>ETL</strong> stands for <strong>Extract, Transform, Load</strong>.</p><p>For example, if the Customer Data resides in the Salesforce system, we need to extract that data into the semantic model. But we rarely want to load it &#8220;as is.&#8221; We want to apply <strong>Transformations</strong> first.</p><ul><li><p><strong>Column Selection:</strong> We might select only the most important columns to save memory.</p></li><li><p><strong>Joins:</strong> We might join &#8220;Order Headers&#8221; and &#8220;Order Lines&#8221; tables to flatten them into a single transaction table.</p></li><li><p><strong>Quality Assurance:</strong> The ETL stage is the perfect time to clean errors and ensure data quality.</p></li></ul><p>From my experience, the ETL part is the most important phase. This is where most of the investment value is kept.</p><h3><strong>From Abstract to Concrete: The Microsoft Stack &#128736;&#65039;</strong></h3><p>So far, everything I have described&#8212;Star Schemas, ETL, Relationships&#8212;is universal. You apply these principles whether you use Qlik, Tableau, or SAP HANA.</p><p><strong>But as a Microsoft Specialist, my tool of choice is Power BI.</strong></p><p>In the Microsoft ecosystem, the &#8220;Semantic Model&#8221; is a specific artifact powered by the Vertex (formerly xVelocity) engine. It lives inside Power BI or Analysis Services (SSAS). And to make this model intelligent, we don&#8217;t use generic SQL; we use a specific, powerful language called <strong>DAX</strong> (Data Analysis Expressions).</p><p>This is where we move from &#8220;Theory&#8221; to &#8220;Implementation.&#8221;</p><h3><strong>The &#8220;Brain&#8221;: DAX Measures and Intelligence</strong></h3><p>At the center of our Power BI model, we have the relationships and the data. Now we add the components that make the model intelligent: <strong>Calculated Tables</strong>, <strong>Calculated Columns</strong>, and <strong>Measures</strong>.</p><ul><li><p><strong>Calculated Tables:</strong> If there is a need, it is possible to add new tables to the model using DAX. A prime example is the <strong>Calendar table</strong>, which is mandatory for Time Intelligence calculations.</p></li><li><p><strong>Calculated Columns:</strong> Similarly, we can add new columns derived from existing data.</p></li><li><p><strong>Measures:</strong> Finally, we arrive at the most powerful concept in the Microsoft stack.</p></li></ul><p>A <strong>Measure</strong> is like a formula residing on top of the semantic model. From a logical point of view, a measure should be seen as <strong>disconnected from any particular table</strong>. A measure is like a predefined unit of intelligence, delivering a specific answer from the semantic model.</p><ul><li><p>Measure 1: [Sales Amount] could calculate SUM(Sales[Qty] * Sales[Price]).</p></li><li><p>Measure 2: [Sales Budget] could sum the budget table.</p></li><li><p>Measure 3: [Sales vs. Budget] could calculate the variance by utilizing the previously defined measures.</p></li></ul><p>The complexity and the value of measures can grow up to infinity.</p><h3><strong>The Payoff: Answering Business Questions</strong></h3><p>Finally, we have arrived at the <strong>Harvesting</strong> part.</p><p>So far, we have invested heavily: we did the ETL, we created relationships, and we defined DAX measures. Now, we are ready to ask the semantic model the real business questions.</p><ul><li><p><em>What are the top sold products this year?</em></p></li><li><p><em>How is each product category doing compared to the budget per Region?</em></p></li><li><p><em>How many returning customers did we get this year?</em></p></li></ul><p>The number of business questions is unlimited. So, what are the tools to start asking these questions?</p><p><strong>1. Reports and Visuals (The GUI)</strong> We can see the report and visuals (pivot tables, dashboards, or diagrams) as a <strong>GUI (Graphical User Interface)</strong> to send business questions to the semantic model and present the received answers visually. The report is interactive, not static. When users play with slicers, they are technically resending slightly modified questions to the semantic model and instantly seeing the response.</p><p><strong>2. Beyond the Dashboard</strong> But the GUI report is not the only option. Because the logic lives in the Model, not the Report, we can use other client tools to send questions:</p><ul><li><p><strong>Excel:</strong> Using Power Pivot Tables or DAX Table Expressions,  connected to the model.</p></li><li><p><strong>Paginated Reports:</strong> For detailed lists.</p></li><li><p><strong>AI Agents:</strong> Using natural language to query the model on the fly.</p></li></ul><h3><strong>Summary</strong></h3><p>Technically speaking, this semantic model lives inside <strong>Microsoft&#8217;s Analysis Services (SSAS)</strong> software. This software engine is running inside the Power BI Service, but you can also find it locally within Power BI Desktop, or even buried inside your local Excel installation.</p><p>Once the semantic model is published, and different client tools are defined, the only thing left to do is to schedule the periodic data refresh.</p><p>The report is temporary. The visuals are just the interface. <strong>The Semantic Model is the asset.</strong></p><p></p><blockquote><p><strong>Architect&#8217;s Note:</strong> I wrote this article intentionally before reading Christian Wade&#8217;s recent post on the same topic, to ensure my architectural view remained unbiased.</p><p>It turns out we landed on very similar conclusions regarding the Semantic Model&#8217;s role as an accelerator. If you want to read the official Microsoft engineering perspective, I highly recommend his article here:</p><ul><li><p><strong><a href="https://powerbi.microsoft.com/sv-se/blog/power-bi-semantic-models-as-accelerators-for-ai-enabled-consumption/">Power BI semantic models as accelerators for AI-enabled consumption</a></strong></p></li></ul></blockquote><div><hr></div><p><em>Want to dive deeper? Browse the full library by category on the <strong><a href="https://blog.techoice.se/p/topics">Topics Page</a></strong>.</em></p><div><hr></div><p><strong>Vilmantas Lialko</strong> is a Senior Solution Architect at <strong>TECHOICE</strong>.</p><p>Connect with me on LinkedIn: <strong><a href="https://www.linkedin.com/in/vilmantas-lialko/">Vilmantas Lialko</a></strong></p><p><em>Need help with Power BI architecture? Visit <strong><a href="https://www.techoice.se">www.techoice.se</a></strong> to learn about our consulting services.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.techoice.se/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Practical BI by TECHOICE! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Welcome to Practical BI: Real-world solutions for Power BI, DAX, and Excel.]]></title><description><![CDATA[Hi, and welcome to Practical BI by Techoice.]]></description><link>https://blog.techoice.se/p/welcome-to-practical-bi</link><guid isPermaLink="false">https://blog.techoice.se/p/welcome-to-practical-bi</guid><dc:creator><![CDATA[Vilmantas Lialko]]></dc:creator><pubDate>Thu, 20 Nov 2025 16:58:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vBOf!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d16025-1b1c-4350-ba75-3a52b5928fbd_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi, and welcome to <strong>Practical BI by Techoice</strong>.</p><p>I am <strong>Vilmantas</strong>, a Senior Project Manager and Solution Architect.</p><p>I spend 100% of my time working with clients to solve complex data problems. I often see a gap between &#8220;textbook theory&#8221; and the messy reality of business data.</p><p><strong>Why I started this blog</strong> I want to bridge that gap. Instead of theoretical tutorials, I will share the specific challenges I face on the job&#8212;and the solutions I build to fix them.</p><p><strong>What you can expect</strong> Every week, I share a practical guide covering:</p><ul><li><p><strong>Power BI Architecture:</strong> How to build models that scale.</p></li><li><p><strong>DAX &amp; M:</strong> Solving specific calculation problems.</p></li><li><p><strong>Excel:</strong> Advanced techniques for when you can&#8217;t use Power BI.</p></li><li><p><strong>Project Management:</strong> How to bridge business strategy with technical execution.</p></li></ul><p><strong>Join the conversation</strong> If you are a data professional, a business analyst, or just someone trying to make sense of a SharePoint list, I invite you to subscribe. Let&#8217;s build better data solutions together.</p><div><hr></div><p><em>Ready to dive deeper? Browse the full library by category on the <strong><a href="https://blog.techoice.se/p/topics">Topics Page</a></strong>.</em></p>]]></content:encoded></item></channel></rss>