<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DataMartIn</title>
	<atom:link href="https://datamartin.ca/feed/" rel="self" type="application/rss+xml" />
	<link>https://datamartin.ca</link>
	<description>We Know Data</description>
	<lastBuildDate>Wed, 11 Dec 2024 23:06:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>
	<item>
		<title>Microsoft Fabric: What a year!</title>
		<link>https://datamartin.ca/2024/11/27/microsoft-fabric-what-a-year/</link>
		
		<dc:creator><![CDATA[wpadmin]]></dc:creator>
		<pubDate>Wed, 27 Nov 2024 20:07:22 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://datamartin.ca/?p=1068</guid>

					<description><![CDATA[Hard to Believe It’s December Already: My Year of Learning Microsoft Fabric As the year winds down, I find myself reflecting on what a journey it’s been. Honestly, it’s hard to believe we’re already stepping into December! This year, for me, was all about diving deep into Microsoft Fabric—really getting to know how it works [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2><strong>Hard to Believe It’s December Already: My Year of Learning Microsoft Fabric</strong></h2>
<p>As the year winds down, I find myself reflecting on what a journey it’s been. Honestly, it’s hard to believe we’re already stepping into December! This year, for me, was all about diving deep into <strong>Microsoft Fabric</strong>—really getting to know how it works and figuring out how to make the most of it.</p>
<p>Let me tell you, it’s been a bumpy road. So many unknowns, so many late nights staring at dashboards wondering, <em>“Is this really the best way to do this?”</em></p>
<h3>A Few Questions That Kept Me Up at Night</h3>
<ul>
<li><strong>How much can you <em>really</em> do with an F2 capacity?</strong><br />
I mean, it looks great on paper, but when you’re actually trying to build something scalable and efficient, you quickly discover the limits. I’ve learned to get creative and maximize every ounce of that F2 capacity—like fine-tuning usage patterns and prioritizing workloads. But wow, it’s a balancing act!</li>
<li><strong>What’s the best implementation template for my clients?</strong><br />
This one was a constant puzzle. Every client has unique needs, and while Microsoft Fabric offers flexibility, that same flexibility can feel overwhelming. Over time, I’ve found a few go-to templates that strike the right balance between simplicity and functionality. And yes, these took <em>a lot</em> of trial and error!</li>
<li><strong>How do I keep up with all the new features?</strong><br />
If you’ve worked with Microsoft Fabric, you know they release updates <em>constantly</em>. (I’m looking at you, monthly feature drops! 😅) Staying on top of them can feel like a full-time job. My trick? Focus on the updates that directly impact your projects first. The rest? I bookmark them for a slow Sunday read.</li>
</ul>
<h3>Lessons Learned</h3>
<p>This year has been about more than just technical knowledge. It’s been a lesson in patience, adaptability, and leaning on the community when I felt stuck. If there’s one thing I’ve learned, it’s that you’re never alone in your struggles. Whether it’s a blog, a webinar, or a quick post on LinkedIn, there’s always someone out there ready to share their insights or lend a helping hand.</p>
<h3>Looking Ahead</h3>
<p>As 2024 approaches, I’m excited to keep building on this foundation. I still have so much to learn, but now I feel more confident about tackling whatever Microsoft Fabric throws my way. (Let’s be real, there’s probably another feature drop coming any second now!)</p>
<p>What about you? How has your year been with Microsoft Fabric—or any other platform you’ve been deep-diving into? I’d love to hear about your challenges, wins, and lessons learned. Let’s keep the conversation going as we head into the new year!</p>
<p>&nbsp;</p>
<p>-Martin Rojze</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Part 4 &#8211; Microsoft Fabric Licensing Q&#038;A</title>
		<link>https://datamartin.ca/2023/11/02/part-4-microsoft-fabric-licensing-qa/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Thu, 02 Nov 2023 15:55:14 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://datamartin.ca/?p=983</guid>

					<description><![CDATA[To wrap up this series, here&#8217;s a compilation of the most frequently asked questions I&#8217;ve received about fabric licenses, as well as those I&#8217;ve come across in posts and videos that have helped me understand it better. I hope they are helpful to you too!  1. Is Microsoft Fabric included with Power BI Premium? Yes, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">To wrap up this series, here&#8217;s a compilation of the most frequently asked questions I&#8217;ve received about fabric licenses, as well as those I&#8217;ve come across in posts and videos that have helped me understand it better. I hope they are helpful to you too! </span></p>
<h4><strong>1. Is Microsoft Fabric included with Power BI Premium?</strong></h4>
<p><span class="OYPEnA text-decoration-none text-strikethrough-none">Yes, Microsoft has enabled Power BI Premium capacities to automatically become Fabric capacities. This means that in addition to creating and sharing Power BI content you can also create and share Fabric workloads</span> <span class="OYPEnA text-decoration-none text-strikethrough-none">with no extra cost:</span></p>
<p><img decoding="async" class="wp-image-984 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/11/picture1-300x263.png" alt="" width="494" height="433" srcset="https://datamartin.ca/wp-content/uploads/2023/11/picture1-300x263.png 300w, https://datamartin.ca/wp-content/uploads/2023/11/picture1-768x674.png 768w, https://datamartin.ca/wp-content/uploads/2023/11/picture1.png 820w" sizes="(max-width: 494px) 100vw, 494px" /></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Both options provide access to advanced analytics and data visualization features, Fabric SKUs offer a more flexible and cost-effective solution, especially for organizations that need to scale their usage dynamically. Power BI Premium per capacity provides a more comprehensive solution at a higher cost. The choice between the two would depend on the specific needs and budget of the organization. </span></p>
<p><span style="font-weight: 400;">For more detailed information, you can visit the Power BI pricing page here </span><a href="https://powerbi.microsoft.com/en-us/pricing/"><span style="font-weight: 400;">https://powerbi.microsoft.com/en-us/pricing/</span></a><span style="font-weight: 400;"> </span><span style="font-weight: 400;"><br />
</span></p>
<p>&nbsp;</p>
<h4><strong>2. <span class="OYPEnA text-decoration-none text-strikethrough-none">We currently have a Premium capacity. Are we going to start being billed for OneLake storage? How much will it cost?</span></strong></h4>
<p class="cvGsUA direction-ltr align-justify para-style-body"><span class="OYPEnA text-decoration-none text-strikethrough-none">The storage included in the Premium capacities is for Power BI objects. For Fabric objects, the storage costs will be calculated based on the OneLake licensing:</span></p>
<p><img decoding="async" class="wp-image-927 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/stirage-300x62.jpg" alt="" width="426" height="88" srcset="https://datamartin.ca/wp-content/uploads/2023/10/stirage-300x62.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/stirage.jpg 448w" sizes="(max-width: 426px) 100vw, 426px" /></p>
<h4></h4>
<h4><strong>3. <span class="OYPEnA text-decoration-none text-strikethrough-none">F64 is equivalent to P1 License, Why is the F64 license more expensive than the P1 license?</span></strong></h4>
<p class="cvGsUA direction-ltr align-justify para-style-body"><span class="OYPEnA text-decoration-none text-strikethrough-none">Fabric capacities offer a Pay-as-you-go basis, which means users can pause and restart the service, scale them up and down dynamically with no usage commitment, optimizing resource utilization and ensuring cost-effectiveness.</span></p>
<p class="cvGsUA direction-ltr align-justify para-style-body"><span class="OYPEnA text-decoration-none text-strikethrough-none">Whereas Power BI Premium licenses have a specific amount of dedicated storage and require a monthly/annual contract.</span></p>
<p><span style="font-weight: 400;">Por example, if you compare the Fabric F64 with the Premium P1 plan, you will see that the annual cost of F64 amounts to $100,000, compared to $60,000 for P1. The reasons for these differences are as follows:</span></p>
<p><b>&#8211; Pay-as-you-go basis: </b><span style="font-weight: 400;">Users can pause and restart the service, scale them up and down dynamically with no usage commitment </span><b>, </b><span style="font-weight: 400;">optimizing resource utilization and ensuring cost-effectiveness.</span></p>
<p><b>&#8211; Contractual Commitment:</b><span style="font-weight: 400;"> Fabric&#8217;s F64 plan provides flexibility with no mandatory minimum contract duration while in Power BI premium there is a monthly/annual contract.</span></p>
<p><b>&#8211; Storage:</b><span style="font-weight: 400;"> Power BI premium licenses offer a certain amount of dedicated storage for Power BI items while in Fabric it is calculated based on the amount of data stored within OneLake.</span></p>
<h4></h4>
<p>&nbsp;</p>
<h4 class="cvGsUA direction-ltr align-justify para-style-body"><strong><span class="OYPEnA text-decoration-none text-strikethrough-none">4. Can I embed Power BI reports into applications and external websites using Microsoft Fabric?</span></strong></h4>
<p class="cvGsUA direction-ltr align-justify para-style-body"><span class="OYPEnA text-decoration-none text-strikethrough-none">Yes, Microsoft Fabric capacities (F SKUs) support the embedding of Power BI artifacts into applications or external websites. </span><span class="OYPEnA text-decoration-none text-strikethrough-none">The pricing for F-SKUs is determined regionally, and billing occurs on a per-second basis, with a minimum billing period of one minute.</span></p>
<p class="cvGsUA direction-ltr align-justify para-style-body"><span class="OYPEnA text-decoration-none text-strikethrough-none">Additionally, Fabric capacities offer a lower entry level which can be ideal for Independent Software Vendors (ISVs) and smaller organizations, providing a cost-effective starting point for those looking to integrate Power BI embedding into their applications.</span></p>
<p>More info: https://powerbi.microsoft.com/en-us/blog/power-bi-embedded-with-microsoft-fabric/</p>
<p>&nbsp;</p>
<h4><strong><span class="OYPEnA text-decoration-none text-strikethrough-none">5. How can I purchase Microsoft Fabric capacity?</span></strong></h4>
<p><span style="font-weight: 400;">Microsoft Fabric offers a range of capabilities that you can purchase, these are categorized into Stock Keeping Units (SKUs), each offering a distinct amount of computing power, denoted in Capacity Units (CU).</span></p>
<p><span style="font-weight: 400;">There are two primary types of Microsoft Fabric SKUs:</span></p>
<p><b>1. Azure SKUs (F SKUs): </b><span style="font-weight: 400;">These are the recommended capacities for Microsoft Fabric. They offer flexibility as there&#8217;s no long-term commitment. The pricing structure is region-specific, and charges are incurred per second, with a base billing duration of one minute.</span></p>
<p><b>Steps to buy an Azure SKU:</b></p>
<p><span style="font-weight: 400;">1.1. Ensure you have owner or contributor rights on an Azure subscription.</span></p>
<p><span style="font-weight: 400;">1.2. Navigate to the Microsoft Fabric (preview) service on Azure.</span></p>
<p><span style="font-weight: 400;">1.3. Opt for &#8220;Create Fabric Capacity&#8221; and under the &#8216;Basics&#8217; tab, provide:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Subscription: The desired Azure subscription (all Azure subscriptions are consolidated for billing).</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Resource Group: Specify the resource group for your capacity.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Capacity Name: Assign a unique name to your capacity.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Region: Define the geographical region for your capacity.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Size: Choose the capacity size, denoted by SKUs and measured in CUs.</span></li>
</ul>
<p><span style="font-weight: 400;"><img decoding="async" class="alignnone wp-image-917 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/table-300x127.jpg" alt="" width="645" height="273" srcset="https://datamartin.ca/wp-content/uploads/2023/10/table-300x127.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/table-768x325.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/table.jpg 932w" sizes="(max-width: 645px) 100vw, 645px" /></span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Fabric Capacity Administrator: Designate an admin for this capacity.</span></li>
</ul>
<p><span style="font-weight: 400;">1.4. Click on &#8220;Next: Tags&#8221;. If required, input a name and value for your capacity.</span></p>
<p><span style="font-weight: 400;">1.5. Finally, select &#8220;Review + create&#8221; to finalize.</span></p>
<p>&nbsp;</p>
<p><b>2. Microsoft 365 SKU (P SKUs): </b><span style="font-weight: 400;">Billed monthly or yearly, with a monthly commitment, Basically, they are Power BI SKUs that can support Fabric when enabled in the Power BI subscription. </span></p>
<p>&nbsp;</p>
<h4 class="cvGsUA direction-ltr align-justify para-style-body"><strong><span class="OYPEnA text-decoration-none text-strikethrough-none">6. If I am a small company, currently I have 10 users with PPU licenses, would I benefit from Fabric and what would be the cost?</span></strong></h4>
<p><span style="font-weight: 400;">For a small company with 10 users on PPU licenses, Fabric integration can provide enhanced data analytics, streamlined workflows and versatile data management. </span></p>
<p><span style="font-weight: 400;">Fabric offers advanced features such as integrated data engineering, real-time analytics and a unified data lake offering simplicity, integrity, and cost savings compared to paying for individual service licenses.</span></p>
<p><span style="font-weight: 400;">These features can be invaluable to companies that require extensive data operations. Before making a decision, it is crucial to evaluate whether these advanced capabilities align with your business objectives and whether the investment will produce a positive long-term return. This would be an estimated Cost Breakdown:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;"><strong>PPU Licenses:</strong> You will continue paying for the 10 PPU licenses.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;"><strong>Fabric F License:</strong> You will need to pay for the respective F license. The cost will depend on the specific F SKU you choose, and you will only pay for the hours that you use.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;"><strong>OneLake Storage:</strong> The storage costs for Fabric objects will be calculated based on OneLake storage licensing, which is $0.023/GB/month.</span></li>
</ul>
<p><strong>Considerations:</strong></p>
<p><span style="font-weight: 400;"><strong>&#8211; Cost vs. Benefit:</strong> Evaluate whether the advanced features provided by Fabric justify the additional costs, especially for a small user base.</span></p>
<p><span style="font-weight: 400;"><strong>&#8211; Learning Curve:</strong> Ensure that your team is ready to leverage the new capabilities offered by Fabric and that the transition will be smooth.</span></p>
<h4></h4>
<p>&nbsp;</p>
<h4 class="cvGsUA direction-ltr align-justify para-style-body"><strong><span class="OYPEnA text-decoration-none text-strikethrough-none">7. How can an organization estimate the pricing for Microsoft Fabric?</span></strong></h4>
<p class="cvGsUA direction-ltr align-justify para-style-body"><span class="OYPEnA text-decoration-none text-strikethrough-none">The first recommendation is to use the Microsoft Fabric Capacity Metrics app to monitor CU consumption and make an informed decision on the most suitable license type.</span></p>
<p><span style="font-weight: 400;">In addition, organizations can use the following list of questions to gather information for an initial cost estimate:</span></p>
<h4 class="cvGsUA direction-ltr align-justify para-style-body"><strong><span class="OYPEnA text-decoration-none text-strikethrough-none"><img decoding="async" class="wp-image-988 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/11/screenshot_1-300x116.jpg" alt="" width="1171" height="453" srcset="https://datamartin.ca/wp-content/uploads/2023/11/screenshot_1-300x116.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/11/screenshot_1-1024x395.jpg 1024w, https://datamartin.ca/wp-content/uploads/2023/11/screenshot_1-768x296.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/11/screenshot_1.jpg 1290w" sizes="(max-width: 1171px) 100vw, 1171px" /></span></strong></h4>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Part 3 &#8211; Microsoft Fabric Capacity Metrics app</title>
		<link>https://datamartin.ca/2023/10/24/microsoft-fabric-capacity-metrics-app/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Tue, 24 Oct 2023 21:25:15 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://datamartin.ca/?p=952</guid>

					<description><![CDATA[Since there is currently no exact formula for calculating the capacity size you will need, it is recommended that you start with the Fabric trial (which allows to test Fabric with 64 CUs performance) or choose a pay-as-you-go Fabric capacity size for testing and then, use the Microsoft Fabric Capacity Metrics app, which allows users [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">Since there is currently no exact formula for calculating the capacity size you will need, it is recommended that you start with the Fabric trial (which allows to test Fabric with 64 CUs performance) or choose a pay-as-you-go Fabric capacity size for testing and then, use the Microsoft Fabric Capacity Metrics app, which allows users to monitor their CU (capacity units) consumption.</span></p>
<p><span style="font-weight: 400;">This app is designed to provide information about storage capacity and compute usage, helping you to more accurately assess the type of license you will need.</span></p>
<p><span style="font-weight: 400;">In addition, this app is especially useful for identifying periods of high demand and ensuring that the system scales appropriately to handle the increased load.</span></p>
<p>&nbsp;</p>
<p><b>Fabric capacity Metrics</b></p>
<p><span style="font-weight: 400;">The Capacity Metrics app offers a plethora of metrics to help users understand their data usage. Here&#8217;s a breakdown of some of the key metrics.</span></p>
<p><b>1. Overview Page:</b></p>
<p><span style="font-weight: 400;"><img decoding="async" class="wp-image-971 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/fabric-capacity-metrics-app-1-300x214.gif" alt="" width="939" height="670" srcset="https://datamartin.ca/wp-content/uploads/2023/10/fabric-capacity-metrics-app-1-300x214.gif 300w, https://datamartin.ca/wp-content/uploads/2023/10/fabric-capacity-metrics-app-1-1024x731.gif 1024w, https://datamartin.ca/wp-content/uploads/2023/10/fabric-capacity-metrics-app-1-768x548.gif 768w, https://datamartin.ca/wp-content/uploads/2023/10/fabric-capacity-metrics-app-1-1536x1096.gif 1536w" sizes="(max-width: 939px) 100vw, 939px" /></span></p>
<p><span style="font-weight: 400;">At the top of each page, the Capacity Name field allows you to select the capacity the app shows results for.</span></p>
<p><b>Multi metric ribbon chart</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Provides an hourly view of capacity usage.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Allows users to drill down to specific days to identify patterns.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Displays values for Capacity Units (CU) processing time, processing duration, number of operations, and number of users.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>Capacity utilization over time</b></p>
<p><b>Utilization Tab</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Shows CU usage over time.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Users can toggle between linear and logarithmic scales.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Displays CU consumption during background and interactive operations, including billable and non-billable operations.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Highlights when the capacity is overloaded with dotted lines.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>Throttling Tab:</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Displays delay and rejection over time.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Highlights when operations are delayed or rejected if values exceed 100%.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Users can toggle between interactive delay, interactive rejection, and background rejection.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>Overages Tab:</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Shows the add, burndown, and cumulative carryforward over time.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Highlights the percent of carryforward added or burned down during a 30-second period.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Users can select a column to drill through to the timepoint page.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>Matrix by item and operation</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Displays metrics for each item on the capacity.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Users can sort and filter the table based on various parameters.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Displays values for CU processing time, processing duration, number of users, item size, overloaded minutes, performance delta, and billing type.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The performance delta indicates the difference in performance compared to seven days ago, helping users assess performance improvements or declines.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Items can be billable, non-billable, or both.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>2. OneLake Page:</b></p>
<p><span style="font-weight: 400;">The OneLake page of the Microsoft Fabric Capacity Metrics app offers insights into capacity storage. Here&#8217;s a breakdown of its features:</span></p>
<p><b><img decoding="async" class="wp-image-975 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/onelake-demo-ux-1024x732-2-300x214.png" alt="" width="897" height="640" srcset="https://datamartin.ca/wp-content/uploads/2023/10/onelake-demo-ux-1024x732-2-300x214.png 300w, https://datamartin.ca/wp-content/uploads/2023/10/onelake-demo-ux-1024x732-2-768x549.png 768w, https://datamartin.ca/wp-content/uploads/2023/10/onelake-demo-ux-1024x732-2.png 1024w" sizes="(max-width: 897px) 100vw, 897px" /></b></p>
<p><b>Filters:</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Capacity Name: Choose a specific capacity to view its data.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Date Range: Display results for a particular date range.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Top: Adjust the number of top workspaces shown based on storage volume.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>Cards:</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Workspaces: Total count of workspaces using storage.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Current storage (GB): Shows the latest storage data.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Billed storage (GB): Indicates the storage amount billed. Note that billed storage can sometimes be less than the current storage.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>Table Visual:</b></p>
<p><span style="font-weight: 400;">Displays storage details for the top workspaces.  </span><span style="font-weight: 400;">Fields include:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Workspace name</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Workspace ID</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Current storage</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Billed storage</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Billed storage percentage.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>Column Charts:</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Storage (GB) by date: Illustrates average storage over the past 30 days, with an option to view hourly data.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Cumulative billed storage (GB) by date: Depicts the total billed storage over time.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>Export Data:</b></p>
<p><span style="font-weight: 400;">Users can export detailed storage data for further analysis.</span></p>
<p>&nbsp;</p>
<p><b>3. Timepoint page</b></p>
<p><span style="font-weight: 400;">This page is accessed from the &#8216;Explore&#8217; button located on the Overview page. It offers insights into the compute impact of all activities within a capacity. It helps users identify which operations, both interactive and background, have the most significant impact on Capacity Unit (CU) usage.</span></p>
<p><b><img decoding="async" class="wp-image-977 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/timepoint-300x169.jpg" alt="" width="827" height="466" srcset="https://datamartin.ca/wp-content/uploads/2023/10/timepoint-300x169.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/timepoint-1024x576.jpg 1024w, https://datamartin.ca/wp-content/uploads/2023/10/timepoint-768x432.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/timepoint.jpg 1280w" sizes="(max-width: 827px) 100vw, 827px" /></b></p>
<p><b>Top Row Visuals:</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Timepoint: Shows the specific timepoint being analyzed.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Heartbeat Line Chart: Displays a 60-minute CU activity window, highlighting the duration of activity peaks and troughs.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Cards: </span>
<ul>
<li>Interative Operations: Total number of interactive operations that contributed to CU activity during this timepoint.</li>
<li>Background Operations: Total number of background operations that influenced the CU&#8217;s activity during this particular timepoint.
<div class="w-full pt-2 md:pt-0 border-t md:border-t-0 dark:border-white/20 md:border-transparent md:dark:border-transparent md:pl-2 gizmo:pl-0 gizmo:md:pl-0 md:w-[calc(100%-.5rem)] absolute bottom-0 left-0 md:bg-vert-light-gradient bg-white dark:bg-gray-800 md:!bg-transparent dark:md:bg-vert-dark-gradient">
<form class="stretch mx-2 flex flex-row gap-3 last:mb-2 md:mx-4 md:last:mb-6 lg:mx-auto lg:max-w-2xl xl:max-w-3xl">
<div class="relative flex h-full flex-1 items-stretch md:flex-col"></div>
</form>
</div>
</li>
<li>SKU: Current SKU &#8211; Capacity.</li>
<li>CU (s): CU seconds availble for this capacity within a designated 30-second timepoint window.
<div class="flex-1 overflow-hidden">
<div class="react-scroll-to-bottom--css-pviif-79elbk h-full dark:bg-gray-800">
<div class="react-scroll-to-bottom--css-pviif-1n7m0yu">
<div class="flex flex-col text-sm gizmo:pb-9 dark:bg-gray-800">
<div class="group final-completion w-full text-token-text-primary border-b border-black/10 gizmo:border-0 dark:border-gray-900/50 gizmo:dark:border-0 bg-gray-50 gizmo:bg-transparent dark:bg-[#444654] gizmo:dark:bg-transparent" data-testid="conversation-turn-13">
<div class="p-4 gizmo:py-2 justify-center text-base md:gap-6 md:py-6 m-auto">
<div class="flex flex-1 gap-4 text-base mx-auto md:gap-6 gizmo:gap-3 gizmo:md:px-5 gizmo:lg:px-1 gizmo:xl:px-5 md:max-w-2xl lg:max-w-[38rem] gizmo:md:max-w-3xl gizmo:lg:max-w-[40rem] gizmo:xl:max-w-[48rem] xl:max-w-3xl }">
<div class="relative flex w-[calc(100%-50px)] flex-col gizmo:w-full lg:w-[calc(100%-115px)] agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex justify-between empty:hidden gizmo:justify-start gizmo:gap-3 lg:block gizmo:lg:flex"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="w-full pt-2 md:pt-0 border-t md:border-t-0 dark:border-white/20 md:border-transparent md:dark:border-transparent md:pl-2 gizmo:pl-0 gizmo:md:pl-0 md:w-[calc(100%-.5rem)] absolute bottom-0 left-0 md:bg-vert-light-gradient bg-white dark:bg-gray-800 md:!bg-transparent dark:md:bg-vert-dark-gradient">
<form class="stretch mx-2 flex flex-row gap-3 last:mb-2 md:mx-4 md:last:mb-6 lg:mx-auto lg:max-w-2xl xl:max-w-3xl">
<div class="relative flex h-full flex-1 items-stretch md:flex-col"></div>
</form>
</div>
</li>
</ul>
</li>
</ul>
<p><b>Interactive Operations Table:</b></p>
<p><span style="font-weight: 400;">Lists every interactive operation impacting CU usage during the timepoint. Displays details like: </span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Item name</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Operation type</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Start and end times</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Status: Indicates whether the operation was successful or failed.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">It shows if the operation succeeded or failed.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">User</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Duration: Seconds it took to complete the interactive operation</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Total CU(s): Represents the seconds consumed by the interactive operation. This metric is crucial to determine if the capacity exceeds the total number of CU seconds allowed for the capacity.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Timepoint CU(s): Seconds assigned to the interactive operation in the current timepoint.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Throttling (s): Seconds the operation was throttled due to previous timepoint&#8217;s capacity overload.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">% Of Base Capacity: (Interactive CU Operations / Base Capacity Allowance) x 100</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Billing type: Specifies if the operation is billable. or not.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Operation ID.</span></li>
</ul>
<p><b>Background Operations Table:</b></p>
<p><span style="font-weight: 400;">This table shows background operations contributing to CU usage. It&#8217;s similar to the interactive operations table but omits the user column.</span></p>
<p><b>Burndown Table:</b></p>
<p><span style="font-weight: 400;">Presents the add, burndown, and cumulative percentages by experiences for the last 30 seconds.</span></p>
<p><b>Overages Visual:</b></p>
<p><span style="font-weight: 400;">Users can adjust the visual scale to show data for 10 minutes, 60 minutes, or 24 hours. It focuses on billable operations and provides insights into carryforward percentages.</span></p>
<p><b>Crucial Takeaways:</b></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Overloading the capacity can trigger throttling. When autoscale is on, an additional CU is provisioned for the next 24 hours upon reaching capacity. Without autoscale, throttling affects all ensuing interactive operations.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">CU activity can be influenced by background operations from the preceding 24 hours, attributed to performance smoothing.</span></li>
</ul>
<p><b>How to Install</b></p>
<p><span style="font-weight: 400;">Installing the Microsoft Fabric Capacity Metrics app is straightforward. Users can access the app through the app from AppSource:</span></p>
<p><span style="font-weight: 400;">Go to AppSource &gt; Power BI Premium Capacity Utilization and Metrics and select Get it now.</span></p>
<p><img decoding="async" class="wp-image-953 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/fabric-app-300x93.jpg" alt="" width="451" height="140" srcset="https://datamartin.ca/wp-content/uploads/2023/10/fabric-app-300x93.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/fabric-app-768x238.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/fabric-app.jpg 892w" sizes="(max-width: 451px) 100vw, 451px" /></p>
<p><span style="font-weight: 400;">Then, go to Power BI Service:</span><span style="font-weight: 400;"><br />
</span><span style="font-weight: 400;"> Select Apps → Get apps → Search for Microsoft Fabric → Select the Microsoft Fabric Capacity Metrics app →  Select Get it now.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">For running the app for the first time you need to include:</span></p>
<p><span style="font-weight: 400;">&#8211; CapacityID: To get the capacity ID go to Settings → Admin Portal → Trial or Fabric Capacity → Click on Actions:</span></p>
<p><span style="font-weight: 400;"><img decoding="async" class="wp-image-965 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/capid-3-300x133.jpg" alt="" width="801" height="355" srcset="https://datamartin.ca/wp-content/uploads/2023/10/capid-3-300x133.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/capid-3-1024x454.jpg 1024w, https://datamartin.ca/wp-content/uploads/2023/10/capid-3-768x341.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/capid-3.jpg 1199w" sizes="(max-width: 801px) 100vw, 801px" /></span></p>
<p><span style="font-weight: 400;">&#8211; UTC offset:</span></p>
<p>&nbsp;</p>
<p><img decoding="async" class="wp-image-955 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/utc-300x262.jpg" alt="" width="536" height="468" srcset="https://datamartin.ca/wp-content/uploads/2023/10/utc-300x262.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/utc.jpg 594w" sizes="(max-width: 536px) 100vw, 536px" /></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Learn more about monitoring capacity usage: </span><a href="https://learn.microsoft.com/en-us/fabric/enterprise/metrics-app-overview-page"><span style="font-weight: 400;">https://learn.microsoft.com/en-us/fabric/enterprise/metrics-app-overview-page</span></a></p>
<p>&nbsp;</p>
<p>In conclusion, determining the precise capacity size necessary for your needs can be a complex task, as there is no exact formula available for this purpose. However, starting with the Fabric trial, which provides a performance equivalent to 64 CUs, or opting for a pay-as-you-go Fabric capacity size for initial testing, can be a wise approach.</p>
<p>Utilizing the Microsoft Fabric Capacity Metrics app is highly recommended, as it enables users to closely monitor their CU consumption, providing valuable insights into storage capacity and compute usage. This, in turn, aids in making an informed decision regarding the type of license required for optimal performance.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Part 2 &#8211; Demystifying Microsoft Fabric Licensing and pricing</title>
		<link>https://datamartin.ca/2023/10/19/part-2-understanding-microsoft-fabric-licensing-and-cost-estimation/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Thu, 19 Oct 2023 21:13:47 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://datamartin.ca/?p=916</guid>

					<description><![CDATA[Microsoft Fabric license types Microsoft Fabric provides a diverse range of licensing options, categorized primarily into capacity-based and individual user licenses. 1. Capacity Licenses -F SKUs (Dedicated capacity) &#8211; Known as Premium licenses in Power BI. &#8211; They provide the infrastructure for Microsoft Fabric. Without a capacity license, users can&#8217;t work in Fabric.   &#8211; Capacity [&#8230;]]]></description>
										<content:encoded><![CDATA[<h3>Microsoft Fabric license types</h3>
<p>Microsoft Fabric provides a diverse range of licensing options, categorized primarily into capacity-based and individual user licenses.</p>
<h4><b><img decoding="async" class="wp-image-948 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/licenses-300x134.jpg" alt="" width="681" height="304" srcset="https://datamartin.ca/wp-content/uploads/2023/10/licenses-300x134.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/licenses-768x342.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/licenses.jpg 958w" sizes="(max-width: 681px) 100vw, 681px" /></b></h4>
<h4><b>1. Capacity Licenses -F SKUs (Dedicated capacity)</b></h4>
<p><span style="font-weight: 400;">&#8211; Known as Premium licenses in Power BI. </span></p>
<p><span style="font-weight: 400;">&#8211; They provide the infrastructure for Microsoft Fabric. Without a capacity license, users can&#8217;t work in Fabric.  </span></p>
<p><span style="font-weight: 400;">&#8211; Capacity licenses are divided into Stock Keeping Units (SKUs) that deliver a set of Fabric resource levels. These levels are measured in Capacity Units (CU) which is a new concept used to measure the compute power available for each SKU. </span></p>
<p><span style="font-weight: 400;">&#8211; Each license offers double the computational power of its predecessor, for instance, F4 has twice the power of F2 and half the power of F8. </span></p>
<p><span style="font-weight: 400;">&#8211; This license introduces a &#8220;pay as you go&#8221; model, it means:</span></p>
<p><span style="font-weight: 400;">      ✅ Users pay for their actual usage, there are no minimum terms, the SKUs are available on an hourly or monthly basis.</span></p>
<p><span style="font-weight: 400;">      ✅ Unlike Premium Capacity, Fabric Capacity can be paused, offering cost flexibility.</span></p>
<p><span style="font-weight: 400;">      ✅ Charges are incurred only when the capacity is actively used.</span></p>
<p><span style="font-weight: 400;">      ✅ Prices start at a competitive point of $8 per day, making it accessible for organizations.</span></p>
<p>&nbsp;</p>
<h5>Microsoft Fabric Pricing</h5>
<p><img decoding="async" class="wp-image-917 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/table-300x127.jpg" alt="" width="1037" height="439" srcset="https://datamartin.ca/wp-content/uploads/2023/10/table-300x127.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/table-768x325.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/table.jpg 932w" sizes="(max-width: 1037px) 100vw, 1037px" /></p>
<p><b>Notes:</b><span style="font-weight: 400;"> </span></p>
<ul>
<li><span style="font-weight: 400;">Billing is per second with a one minute minimum.</span></li>
<li><span style="font-weight: 400;">SKUs that are smaller than F64 require a Pro or Premium Per User (PPU) license to consume Power BI content.</span></li>
</ul>
<h4></h4>
<h4><b>2. Individual licenses</b></h4>
<p><b>&#8211; Free: </b>This license allows users with access to Fabric Capacity to create and share content within Microsoft Fabric. It covers functionality such as pipelines, data warehousing, notebook usage and capacity management. However, sharing Power BI content requires a Pro license.</p>
<p><b>&#8211; Pro: </b>Essential for sharing Power BI content<span style="font-weight: 400;"> with other users. Every organization intending to work with Power BI requires at least one Pro license. Thus, if you&#8217;re purchasing a Microsoft Fabric license, ensure you include at least one Pro license.</span></p>
<p>&#8211; <b>Premium Per user (PPU): </b>Operating on a shared capacity, this license grants limited access to Microsoft Fabric, and <span style="font-weight: 400;">will continue to be suitable for organizations that want to leverage the premium features of Power BI without extending to any Fabric content. </span><span style="font-weight: 400;">PPU can be more cost effective when Power BI Premium features are needed for less than 250 users.</span></p>
<p><span style="font-weight: 400;">In conclusion, <span style="text-decoration: underline;">the individual licenses work in Microsoft fabric only if they are combined with a Capacity License. Starting from the F64, you can share Power BI content with Free Licenses. For lower licenses, You will need Pro licenses.</span></span></p>
<p>&nbsp;</p>
<h4><b>Additional Licensing Points</b></h4>
<p><b>&#8211; Power BI Embedded: </b><span style="font-weight: 400;">also known as A SKUs, remains available for embedding purposes. However, it is important to note that </span><span style="font-weight: 400;">Power BI Embedded does not provide access to the new Fabric workloads</span><span style="font-weight: 400;">.</span></p>
<p><span style="font-weight: 400;"> </span><b>&#8211; Microsoft Fabric trial:</b><span style="font-weight: 400;"> Include access to the Fabric product experiences and the resources to create and host Fabric items, the trial lasts for a period of 60 days, but may be extended by Microsoft discretion. It is crucial that users transition to a paid Fabric capacity after the trial in order to retain data and continue usage. Otherwise, non-Power BI Fabric items will be removed in accordance with the stipulated retention policy.</span></p>
<p>&nbsp;</p>
<h3><strong>Variables to Consider for Cost Estimation</strong></h3>
<p>&nbsp;</p>
<p><b><span style="font-weight: 400;"><strong>1.</strong> </span>CAPACITY UNITS (CU): </b><span style="font-weight: 400;">It&#8217;s the primary billing unit used in Microsoft Fabric, it combines CPU, Memory, Disk IO, Network bandwidth, and more. Each operation in Fabric consumes CUs, higher CUs equals higher performance.</span></p>
<p>&nbsp;</p>
<p><b>2. NUMBER OF USERS THAT WILL SHARE AND CONSUME POWER BI CONTENTS:</b><span style="font-weight: 400;"> This is one of the variables that most impacts the price to be paid. The price of each license is $10 per user/month and $ 20 per user for Premium per user licenses (PPU).</span></p>
<p><span style="font-weight: 400;">Typically if you have more than 500 users (250 users in PPU license) consuming and sharing Power BI content, it is recommended to purchase an F64 license or higher.</span></p>
<p>&nbsp;</p>
<p><strong>3. INTENSIVE WORKLOADS THAT COULD OVERLOAD THE CAPACITY</strong><b>: </b><span style="font-weight: 400;">If you have important capacity peaks you should consider scale your capacity, it means at any time, you can temporarily increase your capacity and reduce it again when you&#8217;re done. And since F-SKUs are billed on a usage basis and managed as an Azure resource, you only pay for the time you consume.</span></p>
<p><span style="font-weight: 400;">At the time of writing this article, auto-scaling is not currently available, but it is planned to be integrated in the future. So you will have to apply manual scaling in periods with intensive workloads.</span></p>
<p><span style="font-weight: 400;">Discover how to scale Fabric capacity: <a href="https://learn.microsoft.com/en-us/fabric/enterprise/scale-capacity">https://learn.microsoft.com/en-us/fabric/enterprise/scale-capacity</a></span></p>
<p>&nbsp;</p>
<p><b><span style="font-weight: 400;">4. </span>OPERATIONAL HOURS: </b><span style="font-weight: 400;">Microsoft Fabric allows you to pause and resume the capacity when it is not operational, to save costs for your organization. Later, when you want to resume work on your capacity, you can reactivate it. </span></p>
<p><span style="font-weight: 400;">So if your company isn’t doing anything with data or analytics during the weekend, you can just pause the capacity and save approximately 25% of the monthly license cost.</span></p>
<p><span style="font-weight: 400;">Learn more about how to pause and resume Fabric capacity: </span><a href="https://learn.microsoft.com/en-us/fabric/enterprise/pause-resume"><span style="font-weight: 400;">https://learn.microsoft.com/en-us/fabric/enterprise/pause-resume</span></a></p>
<p><span style="font-weight: 400;">This article explains how to automatically pause and resume Fabric capacity: </span><a href="https://github.com/nocsi-zz/fabric-capacity-management/"><span style="font-weight: 400;">https://github.com/nocsi-zz/fabric-capacity-management/</span></a></p>
<p>&nbsp;</p>
<p><b>5. ONELAKE STORAGE: </b><span style="font-weight: 400;">It is the data lake integrated into Microsoft Fabric that serves as a centralized repository for all of the organizational data and is billed on a pay-as-you-go rate. Microsoft Fabric storage is OneLake, this is the only place where all data is stored.</span></p>
<p><span style="font-weight: 400;">This cost is not included in the capacity licensing, so you will need to pay for it separately. Note that OneLake storage pricing follows the same pricing as Azure Data Lake Storage gen2:</span></p>
<p><b><img decoding="async" class="wp-image-927 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/stirage-300x62.jpg" alt="" width="518" height="107" srcset="https://datamartin.ca/wp-content/uploads/2023/10/stirage-300x62.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/stirage.jpg 448w" sizes="(max-width: 518px) 100vw, 518px" /></b></p>
<p><b>Benefits of Fabric storage:</b></p>
<ul>
<li><b>Efficiency: </b><span style="font-weight: 400;">Streamlined purchasing with auto-provisioned storage for all tasks.</span></li>
<li><b>Cost-Effective: </b><span style="font-weight: 400;">Unified data copies eliminate redundant data transfers and reduce duplication costs.</span></li>
<li><b>Integration: </b><span style="font-weight: 400;">Seamlessly connect third-party storage systems to Microsoft Fabric analytics.</span></li>
<li><b>Accessibility: </b><span style="font-weight: 400;">Open data formats facilitate access to multiple analytics engines, minimizing configuration resources.</span></li>
<li><b>Security:</b><span style="font-weight: 400;"> Centralized access to all data and governance tools ensures consistent security and simplifies maintenance.</span></li>
</ul>
<p>&nbsp;</p>
<p><b>6. BANDWIDTH: </b><span style="font-weight: 400;">Bandwidth refers to the data moving in and out of Azure data centers and between Azure data centers. While it&#8217;s a crucial component, its cost impact is often minimal compared to Capacity Units (CU) consumption and Power BI licenses:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Data Transfer In: Free for data moving into Azure data centers.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Within an Availability Zone: Free<br />
Availability Zone is an isolated location within an Azure region, equipped with its own power, cooling, and networking to protect applications and data from data center failures. It ensures high availability and resilience by allowing resources to be distributed across multiple independent physical locations within a specific region.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Between Availability Zones: The price is around $0.01 per GB. So, even if a company transfers a substantial 500GB of data between zones in a month, the cost would be just $5.$0.01 per GB</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Inter-Region Transfer: Ranges from $0.02 to $0.16 per GB</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Inter-Continental Transfer: Ranges from $0.05 to $0.16 per GB. For a company transferring 1TB of data inter-continentally, the cost would range from $50 to $160.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Internet Egress: First 100GB/month free; subsequent costs vary by region.</span></li>
</ul>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Learn more at Bandwidth pricing:  </span><a href="https://azure.microsoft.com/en-us/pricing/details/bandwidth/"><span style="font-weight: 400;">https://azure.microsoft.com/en-us/pricing/details/bandwidth/</span></a></p>
<p>&nbsp;</p>
<p><b>7. SMOOTHING: </b><span style="font-weight: 400;">This mechanism distributes CU consumption over time, allowing users to run more workloads in the same capacity without restrictions and helping them avoid being penalized with additional costs. </span></p>
<p><span style="font-weight: 400;">It means that you only pay for the average rather than the peak performance, averaging capacity usage over short periods of time for interactive operations and over a 24-hour period for background operations.</span></p>
<p><span style="font-weight: 400;">Learn more about this feature: </span><a href="https://learn.microsoft.com/en-us/power-bi/enterprise/service-premium-smoothing"><span style="font-weight: 400;">https://learn.microsoft.com/en-us/power-bi/enterprise/service-premium-smoothing</span></a></p>
<p>&nbsp;</p>
<h3><span style="font-weight: 400;">Power BI Licensing vs Fabric</span></h3>
<p><span style="font-weight: 400;">You have probably noticed that the prices of the Fabric capacities are higher than those of the equivalent Power BI Premium capacities. </span></p>
<p><span style="font-weight: 400;">A P1 Power BI Premium capacity provides the same power as an F64 Fabric capacity, a P2 Power BI Premium capacity provides the power of an F128 Fabric capacity, and so on. However, if you compare the Fabric F64 with the Premium P1 plan, you will see that the annual cost of F64 amounts to $100,000, compared to $60,000 for P1. The reasons for these differences are as follows:</span></p>
<p><b>✅ Pay-as-you-go basis: </b><span style="font-weight: 400;">Users can pause and restart the service, scale them up and down dynamically with no usage commitment </span><b>, </b><span style="font-weight: 400;">optimizing resource utilization and ensuring cost-effectiveness.</span></p>
<p><b>✅ Contractual Commitment:</b><span style="font-weight: 400;"> Fabric&#8217;s F64 plan provides flexibility with no mandatory minimum contract duration while in Power BI premium there is a monthly/annual contract.</span></p>
<p><b>✅ Service Scope: </b><span style="font-weight: 400;">The F64 plan grants comprehensive access to all Fabric workloads. In contrast, the P1 plan is tailored specifically for Power BI items.</span></p>
<p><b>✅ Storage:</b><span style="font-weight: 400;"> Power BI premium licenses offer a certain amount of dedicated storage for Power BI items while in Fabric it is calculated based on the amount of data stored within OneLake.</span></p>
<p><span style="font-weight: 400;"><img decoding="async" class="wp-image-945 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/pbi-vs-fabric-300x94.jpg" alt="" width="762" height="239" srcset="https://datamartin.ca/wp-content/uploads/2023/10/pbi-vs-fabric-300x94.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/pbi-vs-fabric-768x241.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/pbi-vs-fabric.jpg 947w" sizes="(max-width: 762px) 100vw, 762px" /></span></p>
<p><span style="font-weight: 400;">In a few months, Microsoft will introduce an Azure Reservation commitment model for Fabric Capacities  &#8211; RI SKUs, </span><span style="font-weight: 400;">which will make their price comparable to the equivalent Power BI Premium capacities.</span></p>
<p>&nbsp;</p>
<h3><strong>Example Cost Estimation &#8211; Choosing the Right Scenario</strong></h3>
<p><span style="font-weight: 400;">Understanding the costs associated with Microsoft Fabric is crucial for effective budgeting. Below, we will show different hypothetical scenarios for helping you to understand how you can estimate the licensing more fit for your organization.</span></p>
<p><span style="font-weight: 400;">However it is very important monitoring your Microsoft Fabric Capacity Metrics to understand better your spending across workloads and optimize your capacity usage. </span></p>
<h4><b>Scenario 1) Small Business with moderate workloads</b></h4>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Number of users that will consume Power BI content: 25 users</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Operational hours: 8 hours/day (pauses capacity during off-hours and weekends)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Workload: Moderate </span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Storage: 100GB on OneLake</span></li>
</ul>
<p style="text-align: center;"><b>Recommended License: F2 SKU </b></p>
<p><b>Cost Calculations:</b></p>
<p><b><img decoding="async" class="wp-image-922 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/scenario1-300x76.jpg" alt="" width="676" height="171" srcset="https://datamartin.ca/wp-content/uploads/2023/10/scenario1-300x76.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/scenario1.jpg 677w" sizes="(max-width: 676px) 100vw, 676px" /></b></p>
<h4><b>Scenario 2) Small business with 50 users that wants to use premium features in Power BI</b></h4>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Number of users: 50 users</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Operational hours: 8 hours/day (pauses capacity during off-hours and weekends)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Workload: Moderate </span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Storage: 100GB on OneLake</span></li>
</ul>
<p style="text-align: center;"><b>Recommended License: F2 SKU </b></p>
<p><b>Cost Calculations:</b></p>
<p><img decoding="async" class="wp-image-923 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/scenario2-300x76.jpg" alt="" width="671" height="170" srcset="https://datamartin.ca/wp-content/uploads/2023/10/scenario2-300x76.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/scenario2.jpg 683w" sizes="(max-width: 671px) 100vw, 671px" /></p>
<h4><b>Scenario 3) Medium Organization with 250 users and high-demand periods</b></h4>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Number of users: 250</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Operational hours: 10 hours/day, 6 days a week (Monday to Saturday)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Workload: They have peak intensive data processing, especially during specific projects or when handling large datasets (20 hours approx.)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Storage: 1TB on OneLake</span></li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><b>Recommended License: Starts with F2 SKU, but scales up to F8 during high-demand periods.</b></p>
<p><b>Cost Calculations:</b></p>
<p><b><img decoding="async" class="wp-image-924 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/scenario3-300x67.jpg" alt="" width="963" height="215" srcset="https://datamartin.ca/wp-content/uploads/2023/10/scenario3-300x67.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/scenario3-768x172.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/scenario3.jpg 944w" sizes="(max-width: 963px) 100vw, 963px" /></b></p>
<h4><b>Scenario 4) Large Corporation with Month-End Reporting Peaks</b></h4>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Number of users: 600</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Operational hours: 10 hours/day, 7 days a week</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Workload: Regular operations with an F64 SKU, but scales up to F128 during month-end reporting (30 hours approx.)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Storage: 1TB on OneLake</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Bandwidth: Inter-region transfer within North America of 1TB.</span></li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><b>Recommended License: Starts with F64 SKU, but scales up to F128 during high-demand periods.</b></p>
<p>&nbsp;</p>
<p><b>Cost Calculations:</b></p>
<p><b><img decoding="async" class="wp-image-925 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/scenario4-300x99.jpg" alt="" width="873" height="288" srcset="https://datamartin.ca/wp-content/uploads/2023/10/scenario4-300x99.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/scenario4-768x253.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/scenario4.jpg 941w" sizes="(max-width: 873px) 100vw, 873px" /></b></p>
<h4><b>Scenario 5) Global Financial Institution with Real-Time Analytics</b></h4>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Number of users: 1,000</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Operational hours: 24/7 (Always on)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Workload: Highly intensive due to real-time financial analytics. They start with the F128 SKU but scale up during peak market hours (50 hours approx.)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Storage: 6TB on OneLake</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Bandwidth: 10TB inter-continental data transfer from North America to other continents.</span></li>
</ul>
<p style="text-align: center;"><b>Recommended License: Starts with F128 SKU, but scales up during high-demand periods.</b></p>
<p><b>Cost Calculations:</b></p>
<p><img decoding="async" class="wp-image-926 aligncenter" src="https://datamartin.ca/wp-content/uploads/2023/10/scenario5-300x77.jpg" alt="" width="884" height="227" srcset="https://datamartin.ca/wp-content/uploads/2023/10/scenario5-300x77.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/scenario5-768x197.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/scenario5.jpg 964w" sizes="(max-width: 884px) 100vw, 884px" /></p>
<p>Navigating through Microsoft Fabric&#8217;s licensing and cost estimation can be a challenge, but understanding these key variables and scenarios can help you make informed decisions. Whether you&#8217;re a small business or a global corporation, Microsoft Fabric offers flexible options that cater to your specific needs.</p>
<p>As you explore the world of Fabric, remember to monitor your capacity metrics using the Microsoft Fabric Capacity Metrics app. In the next article of this series, we will go deeper into this app, which will be your great ally to help you optimize your consumption and manage your capacity effectively.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Article Series &#8211; Understanding Microsoft Fabric Licensing: A Simplified Guide</title>
		<link>https://datamartin.ca/2023/10/18/article-series-understanding-microsoft-fabric-licensing-a-simplified-guide/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Wed, 18 Oct 2023 17:01:31 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://datamartin.ca/?p=890</guid>

					<description><![CDATA[Microsoft Fabric is a complete data analytics SaaS solution that offers a wide range of analytics workloads, including Data Integration, Warehousing, Engineering, Business Intelligence, Data Science, and Real-time Analytics. Essentially, it provides all the tools and resources you need for comprehensive data analytics projects. As organizations consider implementing Microsoft Fabric, understanding its licensing and cost [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">Microsoft Fabric is a complete data analytics SaaS solution that offers a wide range of analytics workloads, including Data Integration, Warehousing, Engineering, Business Intelligence, Data Science, and Real-time Analytics. Essentially, it provides all the tools and resources you need for comprehensive data analytics projects.</span></p>
<p><span style="font-weight: 400;">As organizations consider implementing Microsoft Fabric, understanding its licensing and cost estimation becomes crucial.</span></p>
<p><span style="font-weight: 400;">Based on our experience assisting our clients in navigating the intricacies of Microsoft Fabric&#8217;s licensing and pricing, I&#8217;ve written a series of articles on the subject, with the goal of making it easier to understand. We&#8217;ll delve into the factors to consider when choosing the most suitable license and provide examples exploring various licensing scenarios and their associated costs.</span></p>
<p><span style="font-weight: 400;">The article series is structured as follows:</span></p>
<p><span style="font-weight: 400;">1. Key Components of a Microsoft Fabric Subscription</span></p>
<p><span style="font-weight: 400;">2. Microsoft Fabric License Types</span></p>
<p><span style="font-weight: 400;">3. Understanding Microsoft Fabric Licensing and Cost Estimation</span></p>
<p><span style="font-weight: 400;">    ✔️ Variables to Consider for Cost Estimation</span></p>
<p><span style="font-weight: 400;">    ✔️ Power BI Licensing vs Fabric</span></p>
<p><span style="font-weight: 400;">    ✔️ Example cost estimation where we will explore different licensing scenarios</span></p>
<p><span style="font-weight: 400;">   ✔️ </span>Checklist of questions to gather the information needed to estimate Microsoft Fabric pricing</p>
<p><span style="font-weight: 400;">4. Microsoft Fabric Capacity Metrics app</span></p>
<p><span style="font-weight: 400;">5. How to Acquire Microsoft Fabric Capacity</span></p>
<h2><span style="font-weight: 400;">Part 1. Key Components of a Microsoft Fabric Subscription</span></h2>
<p><span style="font-weight: 400;">A Microsoft Fabric subscription is composed of three fundamental elements: tenants, capacities, and workspaces.</span></p>
<p><img decoding="async" class="alignnone wp-image-893" src="https://datamartin.ca/wp-content/uploads/2023/10/pyramid-infographics-by-slidesgo-300x169.jpg" alt="" width="769" height="433" srcset="https://datamartin.ca/wp-content/uploads/2023/10/pyramid-infographics-by-slidesgo-300x169.jpg 300w, https://datamartin.ca/wp-content/uploads/2023/10/pyramid-infographics-by-slidesgo-768x432.jpg 768w, https://datamartin.ca/wp-content/uploads/2023/10/pyramid-infographics-by-slidesgo.jpg 960w" sizes="(max-width: 769px) 100vw, 769px" /></p>
<p><b>1. Tenant</b></p>
<p><span style="font-weight: 400;">A Microsoft Fabric subscription starts with a &#8220;tenant.&#8221; Think of a &#8220;tenant&#8221; as a powerful computer server in a large data center. This server is dedicated to a specific organization, ensuring that all the data and applications within it are isolated and secure from other organizations.</span></p>
<p><span style="font-weight: 400;">A tenant usually represents an organization or domain and serves as the highest-level container that is linked to a unique internet address, called a Domain Name System (DNS). It ensures that the organization&#8217;s data is safe, organized, and easily accessible. Larger organizations may have multiple tenants for various departments or regions.</span></p>
<p><b>2. Capacity</b></p>
<p><span style="font-weight: 400;">A Microsoft Fabric capacity resides on a tenant and is a distinct pool of resources allocated to Microsoft Fabric. The size of the capacity determines the amount of computation power available to the organization.</span></p>
<p><span style="font-weight: 400;">The &#8220;capacity&#8221; can be thought of as the server&#8217;s hardware resources, like its RAM (memory) and CPU (processing power). The greater its capacity, the more computing power it will have for its tasks.</span></p>
<p><b>Capacity types:</b></p>
<p><b>    &#8211; Dedicated Capacity:</b><span style="font-weight: 400;"> A reserved set of computational resources allocated exclusively for a specific organization or task within Microsoft Fabric. This means that the memory, processing power, and other resources in this capacity are the exclusive use of that specific organization or task, ensuring consistent performance and preventing potential slowdowns from other users or tasks.</span></p>
<p><b>    &#8211; Shared Capacity:</b><span style="font-weight: 400;"> A pool of computational resources which are distributed among all the users accessing it. While it&#8217;s cost-effective, there might be fluctuations in performance, especially during peak usage times, as multiple users tap into the same pool of resources.</span></p>
<p><b>3. Workspace </b></p>
<p><span style="font-weight: 400;">Workspaces are specialized containers for Microsoft Fabric items located within capacities. As in a server (tenant) and its resources (capacity), there are several applications and programs running. Each of these can be compared to a &#8220;workspace&#8221; in Microsoft Fabric. These workspaces use the server&#8217;s resources (capacity) to run, store data and perform tasks.</span></p>
<p><span style="font-weight: 400;">By default, workspaces are placed in  shared capacity.  But as the organization grows and has additional capacities available, these workspaces can be strategically placed in any of the existing shared or dedicated capabilities to better suit their organizational needs.</span></p>
<p><span style="font-weight: 400;">In essence, the server (tenant) provides the environment, its hardware resources (capacity) power the operations, and the applications (workspaces) are where the actual tasks and storage occur.</span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Best Practices to Handle Multiple Fact Tables in Power BI</title>
		<link>https://datamartin.ca/2022/12/29/best-practices-to-handle-multiple-fact-tables-in-power-bi/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Thu, 29 Dec 2022 15:42:39 +0000</pubDate>
				<category><![CDATA[Power BI]]></category>
		<category><![CDATA[Data Modeling]]></category>
		<guid isPermaLink="false">https://site1668528124.mywhc.ca/?p=465</guid>

					<description><![CDATA[Scenario 1: Multiple fact tables thar are not related to each other Solution: Relate every dimension with their respective fact tables. Identify the shared dimensions. Relate them with every fact. Sometimes this model is called constellation schema, where each fact table individually is a perfect star schema design because each one is related with a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Scenario 1: Multiple fact tables thar are not related to each other</strong></p>
<p><strong>Solution: Relate every dimension with their respective fact tables.</strong></p>
<ul>
<li>Identify the shared dimensions.</li>
<li>Relate them with every fact.</li>
</ul>
<p><img decoding="async" class="wp-image-466 aligncenter" src="/wp-content/uploads/2022/09/starschema-300x184.jpg" alt="" width="672" height="412" srcset="https://datamartin.ca/wp-content/uploads/2022/09/starschema-300x184.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/starschema-768x471.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/starschema.jpg 984w" sizes="(max-width: 672px) 100vw, 672px" /></p>
<p>Sometimes this model is called constellation schema, where each fact table individually is a perfect star schema design because each one is related with a dimension.</p>
<p><strong>Advantages</strong></p>
<ul>
<li>Star schemas are easy to read, understand and use.</li>
<li>Best performance.</li>
<li>You can filter both fact tables using the shared dimensions.</li>
</ul>
<p><strong>Disadvantages:</strong></p>
<ul>
<li>As the fact tables are not related to each other if you try to add columns from both tables in the same visual that do not have a shared dimension you will get the following error:</li>
</ul>
<p><img decoding="async" class="wp-image-467 aligncenter" src="/wp-content/uploads/2022/09/relationships-300x111.jpg" alt="" width="425" height="157" srcset="https://datamartin.ca/wp-content/uploads/2022/09/relationships-300x111.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/relationships-768x284.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/relationships.jpg 776w" sizes="(max-width: 425px) 100vw, 425px" /></p>
<p><strong>Bad Practices:</strong></p>
<ul>
<li><strong>Duplicate dimensions in the model</strong>:
<ul>
<li>You will increase the size of your model which could impact the refresh time.</li>
<li>You can’t use the same dimension to filter the data of both tables.</li>
</ul>
</li>
<li><strong>Consolidate the fact tables: </strong>Join fact tables through a union (append in Power Query) will create a huge table that can take a long time to refresh, in addition to a lot of blank values in the unmatched columns.</li>
</ul>
<p><strong> </strong><strong>Scenario 2: Multiple fact tables related to each other with different granularities</strong></p>
<p>Remember that the granularity represents the level of detail in each row of your fact table. In the header/detail models you must be careful to use the correct granularity in your calculations and try to maintain a good performance considering that they are not a perfect star schema.</p>
<p>An example of header/detail models is when you have an order (header) and order details. The order table has an order number, date, a customer, and much more useful information at the order level.  The detail table contains the product, the price, the quantity, and detailed information related to the individual order line.</p>
<p><strong>Solution 1: Flatten the header table into the detail table:</strong> With this solution you will get a denormalized model, where you locate the data from the header table to the detail table increasing the granularity.</p>
<p><strong>Advantages:</strong></p>
<ul>
<li>You will get a perfect star schema that offers all its advantages.</li>
<li>The values will get the correct granularity.</li>
<li>The model will be easier to use because it can be summed and sliced by any dimension.</li>
</ul>
<p><strong>Disadvantages:</strong></p>
<ul>
<li>Increase the data model size.</li>
<li>Categorical values repeated in the denormalized model.</li>
</ul>
<p><strong>Solution 2: Relate the header and detail table</strong></p>
<p>Be careful with this solution because you could get incorrect results due to the granularity differences between both tables. You can use it in the following scenario:</p>
<ul>
<li><u>You need to use columns from the different fact tables in a same visual table.</u></li>
<li>The header detail table had a big number of column and flattening it into the detail table would create a huge table.</li>
<li>You need to make <u>few calculations over the header.</u></li>
<li>The reports just needed to be sliced using common dimensions.</li>
</ul>
<p>Considering these points, apply the following solution:</p>
<ul>
<li>Identify the shared dimensions.</li>
<li>Relate them with every fact to get a star schema model for every fact.</li>
<li>Relate the header and detail table through an inactive relationship:</li>
</ul>
<p><img decoding="async" class="wp-image-468 aligncenter" src="/wp-content/uploads/2022/09/inactiverelationship-300x182.jpg" alt="" width="542" height="329" srcset="https://datamartin.ca/wp-content/uploads/2022/09/inactiverelationship-300x182.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/inactiverelationship.jpg 683w" sizes="(max-width: 542px) 100vw, 542px" /></p>
<ul>
<li>Use a Many to one Cardinality and a “Both” cross filter direction:</li>
</ul>
<p><img decoding="async" class="wp-image-469 aligncenter" src="/wp-content/uploads/2022/09/both-cross-filter-direction-300x75.jpg" alt="" width="640" height="160" srcset="https://datamartin.ca/wp-content/uploads/2022/09/both-cross-filter-direction-300x75.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/both-cross-filter-direction-1024x256.jpg 1024w, https://datamartin.ca/wp-content/uploads/2022/09/both-cross-filter-direction-768x192.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/both-cross-filter-direction.jpg 1263w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<ul>
<li>Finally, to summarize or bring the columns from the header table, use the USERELATIONSHIP DAX formula:</li>
</ul>
<p>&nbsp;</p>
<p>Contract Amount =<br />
CALCULATE (<br />
SUM ( &#8216;Fact Header'[Contract Amount] ),<br />
USERELATIONSHIP ( &#8216;Fact Detail'[WIP PK], &#8216;Fact Header'[PK] )<br />
)</p>
<p>In this solution, linking the header and the detail table breaks the rules of the star schema because both tables act as a dimension and a fact table at the same time.</p>
<p>It’s a dimension when you need to slice the detail and it’s a fact table when you summarize values at the header granularity.</p>
<p>So, you will get a snowflake when the header table acts as dimension, although you should avoid it, sometimes as in this specific scenario could be a good solution to representing the data.</p>
<p><strong>Advantages:</strong></p>
<ul>
<li>Avoid increase the size the data model having fact tables separated.</li>
<li>You can use the star schemas to create reports that don’t need to include in a same visual, columns from different fact tables</li>
</ul>
<p><strong>Disadvantages:</strong></p>
<ul>
<li>This solution only works if you slice the data using the common dimensions, because otherwise you will get incorrect results due to the granularity differences between both tables.</li>
<li>Possible performance degradation.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What are the DMVs and how you can use them?</title>
		<link>https://datamartin.ca/2022/09/30/what-are-the-dmvs-and-how-you-can-use-them/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Fri, 30 Sep 2022 16:27:12 +0000</pubDate>
				<category><![CDATA[Analysis Services]]></category>
		<category><![CDATA[Metadata]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[Tabular Models]]></category>
		<category><![CDATA[DMV]]></category>
		<guid isPermaLink="false">https://site1668528124.mywhc.ca/?p=517</guid>

					<description><![CDATA[The DMVs are queries that allow you to retrieve valuable metadata information about your data model, server operations, and server health. What are the DMVs The DMVs queries are an interface to schema rowsets based on SQL and use a SELECT statement and the $System schema with an XML/A schema rowset, however, they do not support the full syntax of [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The DMVs are queries that allow you to retrieve valuable metadata information about your data model, server operations, and server health.</p>
<p><strong>What are the DMVs</strong></p>
<p>The DMVs queries are an interface to schema rowsets based on SQL and use a SELECT statement and the $System schema with an XML/A schema rowset, however, they do not support the full syntax of a SELECT statement as: JOIN, GROUP BY, LIKE, CAST, and CONVERT.</p>
<p>Apply to: SQL Server Analysis Services, Azure Analysis Services, Power BI Desktop and Power BI Premium</p>
<p>Example of a DMV query:</p>
<p>SELECT * FROM $System.DISCOVER_CALC_DEPENDENCY</p>
<p>WHERE OBJECT_TYPE = &#8216;MEASURE&#8217;</p>
<p>ORDER BY TABLE ASC</p>
<p>For more information visit the official documentation: <a href="https://docs.microsoft.com/en-us/analysis-services/instances/use-dynamic-management-views-dmvs-to-monitor-analysis-services?view=asallproducts-allversions">https://docs.microsoft.com/en-us/analysis-services/instances/use-dynamic-management-views-dmvs-to-monitor-analysis-services?view=asallproducts-allversions</a></p>
<h3><strong>What are they for?</strong></h3>
<ul>
<li>The DMVs provide information about the active sessions and connections, objects that consume the most CPU or memory at a specific point in time, such as:</li>
</ul>
<table style="border-collapse: collapse;width: 100%" border="1">
<tbody>
<tr>
<td style="width: 24.6792%;text-align: center" width="228"><strong>DMV</strong></td>
<td style="width: 75.2221%;text-align: center" width="396"><strong>Description</strong></td>
</tr>
<tr>
<td style="width: 24.6792%" width="228">$system.discover_commands</td>
<td style="width: 75.2221%" width="396">Provides resource usage and activity information about the currently executing or last executed commands in the opened connections on the server.</td>
</tr>
<tr>
<td style="width: 24.6792%" width="228">$system.discover_sessions</td>
<td style="width: 75.2221%" width="396">This query reports on active sessions, including session user and duration.</td>
</tr>
<tr>
<td style="width: 24.6792%" width="228">$system.discover_connections</td>
<td style="width: 75.2221%" width="396">List the currently opened connections on the server.</td>
</tr>
<tr>
<td style="width: 24.6792%" width="228">$system.discover_memoryusage</td>
<td style="width: 75.2221%" width="396">Lists all memory consumption by object. Most information here: <a href="https://www.kasperonbi.com/new-ssas-memory-usage-report-using-power-bi/">https://www.kasperonbi.com/new-ssas-memory-usage-report-using-power-bi/</a></td>
</tr>
</tbody>
</table>
<ul>
<li>To document your Power BI or SSAS data model, the main queries DMVs available for model documentation are:</li>
</ul>
<ul>
<li style="list-style-type: none">
<ul style="list-style-type: circle">
<li><strong>TMSCHEMA_TABLES:</strong> List the Column objects in each table.</li>
<li><strong>TMSCHEMA_COLUMNS: </strong>List the Columns objects in each table.</li>
<li><strong>TMSCHEMA_MEASURES: </strong>List the Measure objects in each table.</li>
<li><strong>TMSCHEMA_RELATIONSHIPS:</strong> List the Relationship objects in the model.</li>
<li><strong>TMSCHEMA_ROLES:</strong> Shows information about the Role objects in the model.</li>
<li><strong>TMSCHEMA_PARTITIONS:</strong> Provides information about the Partition objects in each table.</li>
</ul>
</li>
</ul>
<p>In the past I used to create my own documenters using the DMVs, but I recently discovered the excellent and very complete tool “Model Documenter” created by Marc Lelijveld (MVP).</p>
<p>This tool generates the documentation about your data model in an easy and quick way, you can get more information and download the tool in the page: <a href="https://data-marc.com/model-documenter/">https://data-marc.com/model-documenter/</a></p>
<p><strong> </strong></p>
<p><strong>DISCOVER_CALC_DEPENDENCY</strong></p>
<p>With this DMV you can obtain the list of the dependencies among the objects in your model and extract the DAX expressions. This allows you to have more control over your data models as you can measure the impact of modify or remove any object.</p>
<p>I created the tool <u>“Tabular model cleaner”</u> using this DMV, which helps you to obtain all the dependences of the data model in an efficient and automated way and the usability of the model objects in the reports connected to the Power BI or SSAS Data model.</p>
<p>For more information visit: <u>Tabular model cleaner</u></p>
<p><strong> </strong></p>
<p><strong>How to run the DMVs</strong></p>
<p><strong>1. DAX Studio:</strong> Open the Power BI Dataset that you want to document. Open DAX Studio and choose the “PBI / SSDT Model” data source option, then click on Connect:</p>
<p><img decoding="async" class="wp-image-518 aligncenter" src="/wp-content/uploads/2022/09/dax-300x165.jpg" alt="" width="509" height="280" srcset="https://datamartin.ca/wp-content/uploads/2022/09/dax-300x165.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/dax-768x421.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/dax.jpg 964w" sizes="(max-width: 509px) 100vw, 509px" /></p>
<p>If you have Power BI Premium you can connect to the dataset, to do this select the workspace, go to “Workspace settings” and copy the Workspace Connection and paste it into the “Tabular Server” option in the DAX Studio.</p>
<p><img decoding="async" class="wp-image-519 aligncenter" src="/wp-content/uploads/2022/09/workspace-300x273.jpg" alt="" width="497" height="452" srcset="https://datamartin.ca/wp-content/uploads/2022/09/workspace-300x273.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/workspace.jpg 766w" sizes="(max-width: 497px) 100vw, 497px" /></p>
<p>Go to DMV pane and click on the query you want consult:</p>
<p><img decoding="async" class="wp-image-520 aligncenter" src="/wp-content/uploads/2022/09/daxstudio2-290x300.jpg" alt="" width="503" height="520" srcset="https://datamartin.ca/wp-content/uploads/2022/09/daxstudio2-290x300.jpg 290w, https://datamartin.ca/wp-content/uploads/2022/09/daxstudio2.jpg 690w" sizes="(max-width: 503px) 100vw, 503px" /></p>
<p><strong>2. From Power BI Desktop: </strong>You can run DMVs queries from DAX Studio but that will return you a table with the data, you should connect to the DMVs using Power BI, to view and analyze the information more easily.</p>
<p>&#8211; Open Power BI Desktop.</p>
<p>&#8211; Choose the “SQL Server Analysis Services database” source.</p>
<p>&#8211; Include the Server and Database.</p>
<p><img decoding="async" class="wp-image-521 aligncenter" src="/wp-content/uploads/2022/09/ssas-300x204.jpg" alt="" width="728" height="495" srcset="https://datamartin.ca/wp-content/uploads/2022/09/ssas-300x204.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/ssas.jpg 749w" sizes="(max-width: 728px) 100vw, 728px" /></p>
<p>Consider if you are connected to a local data model, the database name will change every time you open the Power BI Desktop file, so you will have to edit the connection parameter when you need to refresh the data.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Step-by-step instructions to configure Incremental refresh</title>
		<link>https://datamartin.ca/2022/09/29/step-by-step-instructions-to-configure-incremental-refresh/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Thu, 29 Sep 2022 21:06:15 +0000</pubDate>
				<category><![CDATA[Incremental Refresh]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Power BI]]></category>
		<guid isPermaLink="false">https://site1668528124.mywhc.ca/?p=504</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<div  data-mk-stretch-content="true" class="wpb_row vc_row vc_row-fluid jupiter-donut- mk-fullwidth-false  attched-false     js-master-row  mk-grid">
				
<div class="vc_col-sm-12 wpb_column column_container  jupiter-donut- _ jupiter-donut-height-full">
	
<div id="text-block-2" class="mk-text-block  jupiter-donut- ">

	
	<p>In this article, I explain how to set up an incremental refresh in Power BI, the benefits of apply this policy in your data models what are the requirements for it and the important considerations you have to consider.</p>
<h1><strong>Step-by-step instructions to configure Incremental refresh </strong></h1>
<p>Incremental refresh policies are defined in Power BI Desktop to help you to filter large datasets by using Power Query date/time parameters and to dynamically partition the data into ranges once published to the Power BI service.</p>
<p>Incremental refresh is supported for Power BI Premium, Premium per user, Power BI Pro, and Power BI Embedded datasets. But the real-time DirectQuery partition is only supported for datasets in Premium capacities.</p>
<p><strong>Benefits:</strong></p>
<ul>
<li>Faster time refresh as is not necessary to refresh the entire dataset.</li>
<li>Lower consumption of memory and other resources in both Power BI and data source systems because incremental refresh optimizes refresh operations at the partition level in the dataset.</li>
<li>Reduces the amount of unnecessary historical data stored in your dataset.</li>
<li>Minimize network problems because the queries to source data   return quickly the query output.</li>
<li>Able to work with large data models in Power BI Desktop without being limited by the memory resources available on your desktop computer.</li>
</ul>
<p><strong>Requirements to Configure Incremental Refresh</strong><strong>:</strong></p>
<ul>
<li>The column used to filter the table must be a date/time or <a href="https://docs.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-configure#convert-datetime-to-integer" data-anchor="#convert-datetime-to-integer"><u>integer data type</u></a>.</li>
<li>To the incremental refresh works the data source should support <u>query folding</u> because the partition filters must be pushed to the source system when queries are submitted for refresh operations. Otherwise, Power BI will show the following warning:</li>
</ul>
<p><img decoding="async" class="wp-image-505 aligncenter" src="/wp-content/uploads/2022/09/screenshot_1-300x65.jpg" alt="" width="586" height="127" srcset="https://datamartin.ca/wp-content/uploads/2022/09/screenshot_1-300x65.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/screenshot_1-768x168.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/screenshot_1.jpg 981w" sizes="(max-width: 586px) 100vw, 586px" /></p>
<p><strong>Steps</strong></p>
<ol>
<li><strong>Create the RangeStart and RangeEnd parameters:</strong> These are used to filter the number of rows initially loaded into the Power BI Desktop model that have a date/time within the specified period.</li>
</ol>
<p>In the Power Query Editor, select <strong>Manage Parameters</strong>:</p>
<p><img decoding="async" class="wp-image-511 aligncenter" src="/wp-content/uploads/2022/09/manage-param-copy-274x300.jpg" alt="" width="667" height="730" srcset="https://datamartin.ca/wp-content/uploads/2022/09/manage-param-copy-274x300.jpg 274w, https://datamartin.ca/wp-content/uploads/2022/09/manage-param-copy.jpg 521w" sizes="(max-width: 667px) 100vw, 667px" /></p>
<p>Create RangeEnd Parameter:</p>
<ul>
<li>In <strong>Name</strong> type RangeEnd (case sentitive).</li>
<li>Check as <strong>Required</strong></li>
<li>In <strong>Type</strong>, select Date/Time</li>
<li>In <strong>Current Value</strong>enter a end date/time value respectively.</li>
</ul>
<p><img decoding="async" class="wp-image-512 aligncenter" src="/wp-content/uploads/2022/09/param2-273x300.jpg" alt="" width="451" height="496" srcset="https://datamartin.ca/wp-content/uploads/2022/09/param2-273x300.jpg 273w, https://datamartin.ca/wp-content/uploads/2022/09/param2.jpg 617w" sizes="(max-width: 451px) 100vw, 451px" /></p>
<p><strong>Note:</strong> When the dataset is published the parameter values are overridden automatically by the Power BI service for each partition. There&#8217;s no need to set them in dataset settings in the service.</p>
<ol>
<li><strong>Filter the data using RangeStart and RangeEnd parameters. </strong>In Power Query Editor, Selecting the <strong>Custom Filter</strong>menu option for the date column you want to filter on:</li>
</ol>
<p><img decoding="async" class="wp-image-506 aligncenter" src="/wp-content/uploads/2022/09/filter-copy-247x300.jpg" alt="" width="409" height="497" srcset="https://datamartin.ca/wp-content/uploads/2022/09/filter-copy-247x300.jpg 247w, https://datamartin.ca/wp-content/uploads/2022/09/filter-copy.jpg 550w" sizes="(max-width: 409px) 100vw, 409px" /></p>
<p>In the first condition select is <strong>after</strong> or <strong>is after or equal to</strong>, select Parameter:</p>
<p><img decoding="async" class="wp-image-507 aligncenter" src="/wp-content/uploads/2022/09/filter-rows-copy-300x133.jpg" alt="" width="471" height="209" srcset="https://datamartin.ca/wp-content/uploads/2022/09/filter-rows-copy-300x133.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/filter-rows-copy-1024x454.jpg 1024w, https://datamartin.ca/wp-content/uploads/2022/09/filter-rows-copy-768x341.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/filter-rows-copy.jpg 1071w" sizes="(max-width: 471px) 100vw, 471px" /></p>
<p>In the second condition, select <strong>is before</strong> and and then select <strong>RangeEnd:</strong></p>
<p><img decoding="async" class="wp-image-508 aligncenter" src="/wp-content/uploads/2022/09/filter-rows-2-copy-300x135.jpg" alt="" width="567" height="255" srcset="https://datamartin.ca/wp-content/uploads/2022/09/filter-rows-2-copy-300x135.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/filter-rows-2-copy-1024x460.jpg 1024w, https://datamartin.ca/wp-content/uploads/2022/09/filter-rows-2-copy-768x345.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/filter-rows-2-copy.jpg 1039w" sizes="(max-width: 567px) 100vw, 567px" /></p>
<p>Important:</p>
<ul>
<li>If you selected <strong>is after</strong>in the first condition, then select <strong>is before or equal to</strong></li>
<li>If you selected <strong>is after or equal to</strong>in the first condition, then select <strong>is before</strong> for the second one.</li>
</ul>
<p>Other filter combinations may result in double counting of rows.</p>
<p>Click ok to close, and then click Close &amp; Apply.</p>
<h3><strong>3. </strong>Define the Incremental refresh policy: In data view, right click on the table and then click on “Incremental Refresh”:</h3>
<p><img decoding="async" class="wp-image-509 aligncenter" src="/wp-content/uploads/2022/09/increm-refresh-copy-210x300.jpg" alt="" width="448" height="640" srcset="https://datamartin.ca/wp-content/uploads/2022/09/increm-refresh-copy-210x300.jpg 210w, https://datamartin.ca/wp-content/uploads/2022/09/increm-refresh-copy.jpg 461w" sizes="(max-width: 448px) 100vw, 448px" /></p>
<p><strong>4. Specify required settings:</strong></p>
<p><img decoding="async" class="wp-image-510 aligncenter" src="/wp-content/uploads/2022/09/increm-refresh-post-copy-300x199.jpg" alt="" width="608" height="403" /></p>
<p>Review your settings and then click <strong>Apply</strong>. Source data is not loaded with this step.</p>
<p><strong>5. Save and publish to the service:</strong> Once the above steps have been completed, save your model, and publish it to the service.</p>
<p>If your dataset is going to be large, be sure to enable <a href="https://docs.microsoft.com/en-us/power-bi/enterprise/service-premium-large-models#enable-large-datasets" data-anchor="#enable-large-datasets">Large dataset storage</a> format before to invoking the first refresh in the service.</p>
<p><strong>6. Refresh dataset:</strong> You can now refresh the model. The first refresh may take longer to import the historical data. Following refreshes will be much faster because only data for the period specified in the refresh policy setting will be refreshed.</p>
<p><strong>Important considerations</strong></p>
<p>&#8211; Filter date column updates: In case of a deletion in the historical range and not the incremental range it will not be detected. This could cause data refresh failures due to partition-key conflicts.</p>
<p>&#8211; Refresh policies are defined in Power BI Desktop, and they are applied by refresh operations in the service.</p>
<p>&#8211; Be careful when you make changes in the original Power BI files because if you republish it, you could remove any of the existing partitions. In this case you must deploy only the metadata using tools as ALM Toolkit or Tabular by using Tabular Model Scripting Language (TMSL). Check: Metadata-only deployment using ALM Toolkit. Apply to Power BI premium.</p>
<p>&#8211; Once a PBIX file with an incremental-refresh policy is published in Power BI service, you cannot download the dataset back and open it in Power BI Desktop.</p>

	<div class="clearboth"></div>
</div>

</div>
	</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Metadata-only deployment using ALM Toolkit</title>
		<link>https://datamartin.ca/2022/09/29/metadata-only-deployment-using-alm-toolkit/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Thu, 29 Sep 2022 14:55:53 +0000</pubDate>
				<category><![CDATA[ALM Toolkit]]></category>
		<category><![CDATA[Metadata]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[Deployment]]></category>
		<guid isPermaLink="false">https://site1668528124.mywhc.ca/?p=483</guid>

					<description><![CDATA[ALM Toolkit is a free and open source tool that facilitates the deployment of Microsoft Power BI datasets, detects differences between source and target datasets, checking for changes to be deployed to help ensure the integrity of the target model. For datasets with incremental refresh policy applied, you must avoid publishing and replacing them with [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>ALM Toolkit is a free and open source tool that facilitates the deployment of Microsoft Power BI datasets, detects differences between source and target datasets, checking for changes to be deployed to help ensure the integrity of the target model.</p>
<p>For datasets with incremental refresh policy applied, you must avoid publishing and replacing them with a version of a PBIX file from Power BI Desktop, because you will have to refresh all the historical data which could take hours and result in the system’s downtime for users.</p>
<p>Instead, it&#8217;s better to perform a metadata-only deployment using the ALM Toolkit tool which is an open-source schema compare tool for Power BI datasets. You can download it at: <a href="http://alm-toolkit.com/">http://alm-toolkit.com/</a></p>
<p>This allows the deployment of new objects without losing historical data. For example, if you have added a few measures, you can deploy only the new measures without needing to refresh the data, saving a lot of time.</p>
<p>To perform a metadata only deployment:</p>
<ol>
<li>Select the running Power BI Desktop instance as the source, and the existing dataset in the service as the target:</li>
</ol>
<p><img decoding="async" class="wp-image-485 aligncenter" src="/wp-content/uploads/2022/09/source-tatget-300x295.jpg" alt="" width="584" height="574" srcset="https://datamartin.ca/wp-content/uploads/2022/09/source-tatget-300x295.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/source-tatget.jpg 601w" sizes="(max-width: 584px) 100vw, 584px" /></p>
<p>Both Source and Target you have the following options to connect to your datasets:</p>
<p><strong>&#8211; Dataset:</strong> You have to indicate the workspace connection URL, to get it in workspace go to <strong>Settings &gt; Premium &gt; Workspace Connection</strong>, select <strong>Copy.</strong></p>
<p><img decoding="async" class="wp-image-486 aligncenter" src="/wp-content/uploads/2022/09/settings-278x300.jpg" alt="" width="584" height="630" srcset="https://datamartin.ca/wp-content/uploads/2022/09/settings-278x300.jpg 278w, https://datamartin.ca/wp-content/uploads/2022/09/settings.jpg 657w" sizes="(max-width: 584px) 100vw, 584px" /></p>
<ul>
<li><strong>Power BI Desktop: The</strong> tool scans open Power BI files and allows you to select the file you want to use.</li>
</ul>
<p>&nbsp;</p>
<ul>
<li><strong>File:</strong> You can select a file from your computer.</li>
</ul>
<p>2. To get only the objects with differences, go to Home &gt; Select Actions &gt; Hide Skip Objects with Same Definition:</p>
<p><img decoding="async" class="wp-image-487 aligncenter" src="/wp-content/uploads/2022/09/hide-300x175.jpg" alt="" width="674" height="393" srcset="https://datamartin.ca/wp-content/uploads/2022/09/hide-300x175.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/hide-768x448.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/hide.jpg 1021w" sizes="(max-width: 674px) 100vw, 674px" /></p>
<p>In this case the difference is that the “Test Measure” is missed in the target:</p>
<p><img decoding="async" class="wp-image-488 aligncenter" src="/wp-content/uploads/2022/09/target-300x119.jpg" alt="" width="724" height="287" srcset="https://datamartin.ca/wp-content/uploads/2022/09/target-300x119.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/target-768x306.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/target.jpg 1002w" sizes="(max-width: 724px) 100vw, 724px" /></p>
<p>You have the option to create it or select skip to don’t create it.</p>
<p>3. Finally click on “Validate Selection” to ensure the integrity of the target model and then click on “Update”:</p>
<p><img decoding="async" class="wp-image-489 aligncenter" src="/wp-content/uploads/2022/09/update-300x86.jpg" alt="" width="631" height="181" srcset="https://datamartin.ca/wp-content/uploads/2022/09/update-300x86.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/update-768x221.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/update.jpg 1000w" sizes="(max-width: 631px) 100vw, 631px" /></p>
<p>4. If the deployment was successful, the following screen will be displayed:</p>
<p><img decoding="async" class="wp-image-490 aligncenter" src="/wp-content/uploads/2022/09/deploy-275x300.jpg" alt="" width="739" height="806" srcset="https://datamartin.ca/wp-content/uploads/2022/09/deploy-275x300.jpg 275w, https://datamartin.ca/wp-content/uploads/2022/09/deploy.jpg 626w" sizes="(max-width: 739px) 100vw, 739px" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Essential checklist to keep your Power BI Solutions optimized. Part IV. Visualization Good Practices</title>
		<link>https://datamartin.ca/2022/09/29/essential-checklist-to-keep-your-power-bi-solutions-optimized-part-iv-visualization-good-practices/</link>
		
		<dc:creator><![CDATA[Nuric Ugarte]]></dc:creator>
		<pubDate>Thu, 29 Sep 2022 14:50:14 +0000</pubDate>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<guid isPermaLink="false">https://site1668528124.mywhc.ca/?p=472</guid>

					<description><![CDATA[This last article includes a list of best practices for data visualization. &#8211; Use filters in your visualizations to reduce the amount of data that display: The more data a visual must display, the slower it will load, so apply filters in the Filters pane, or use Top N, to reduce the number of items [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This last article includes a list of best practices for data visualization.</p>
<p><strong>&#8211; Use filters in your visualizations to reduce the amount of data that display: </strong>The more data a visual must display, the slower it will load, so apply filters in the Filters pane, or use Top N, to reduce the number of items displayed.</p>
<p>So, if your report is connected to a large data model and you do not apply any filtering, all the data will be loaded into memory and decompressed on each update, creating a huge memory demand.</p>
<p><img decoding="async" class="wp-image-473 aligncenter" src="/wp-content/uploads/2022/09/top10-300x96.jpg" alt="" width="697" height="223" srcset="https://datamartin.ca/wp-content/uploads/2022/09/top10-300x96.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/top10-768x247.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/top10.jpg 962w" sizes="(max-width: 697px) 100vw, 697px" /></p>
<p><strong>&#8211; Only include the necessary number of visuals in your report: </strong>This will decrease the number of calculations that Power BI is performing when rendering your report. For example, you should use a multi-row card instead of using multiple single cards.</p>
<p><img decoding="async" class="wp-image-474 aligncenter" src="/wp-content/uploads/2022/09/cards-300x97.jpg" alt="" width="709" height="229" srcset="https://datamartin.ca/wp-content/uploads/2022/09/cards-300x97.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/cards-768x249.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/cards.jpg 878w" sizes="(max-width: 709px) 100vw, 709px" /></p>
<p><strong>&#8211; Limit the use of slicers:</strong> Because they are visualizations, the underlying data will be updated every time the dashboard is refreshed, which could affect the performance.</p>
<p><img decoding="async" class="wp-image-475 aligncenter" src="/wp-content/uploads/2022/09/slicers-300x53.jpg" alt="" width="651" height="115" srcset="https://datamartin.ca/wp-content/uploads/2022/09/slicers-300x53.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/slicers-768x135.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/slicers.jpg 979w" sizes="(max-width: 651px) 100vw, 651px" /></p>
<p><strong>&#8211; Use Microsoft-certified custom visuals: </strong>These have the Microsoft’s guarantee that these visual elements perform at their best, in addition have more options than non-certified ones.<strong> </strong></p>
<p><img decoding="async" class="wp-image-476 aligncenter" src="/wp-content/uploads/2022/09/pbi-certified-visuals-300x280.jpg" alt="" width="653" height="610" srcset="https://datamartin.ca/wp-content/uploads/2022/09/pbi-certified-visuals-300x280.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/pbi-certified-visuals-768x716.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/pbi-certified-visuals.jpg 972w" sizes="(max-width: 653px) 100vw, 653px" /></p>
<p><strong>&#8211; Avoid unnecessary interactions between visuals:</strong> Power BI automatically creates interactions between all the visuals on a page, which require high loading capacity that could slow down the loading of reports.</p>
<p>Therefore, make sure to eliminate the unnecessary interactions that Power BI creates by default.</p>
<p><strong>&#8211; Use <u>Performance Analyzer</u> to Analyze the performance of your report elements: </strong>such as visuals and DAX formulas when users interact with them, and which consume the most resources.</p>
<p><img decoding="async" class="wp-image-477 aligncenter" src="/wp-content/uploads/2022/09/perf-analyzer1-300x112.jpg" alt="" width="753" height="281" srcset="https://datamartin.ca/wp-content/uploads/2022/09/perf-analyzer1-300x112.jpg 300w, https://datamartin.ca/wp-content/uploads/2022/09/perf-analyzer1-1024x382.jpg 1024w, https://datamartin.ca/wp-content/uploads/2022/09/perf-analyzer1-768x286.jpg 768w, https://datamartin.ca/wp-content/uploads/2022/09/perf-analyzer1.jpg 1268w" sizes="(max-width: 753px) 100vw, 753px" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>✅ Excel Checklist</strong></p>
<p>Download the Excel checklist at the following link: <a href="https://github.com/NuricBI/Checklist">https://github.com/NuricBI/Checklist</a></p>
<p><strong>Conclusions</strong></p>
<p>In this article we reviewed how to improve and analyze the performance of your Power BI solutions in the different development layers:</p>
<p>✔ Data source.</p>
<p>✔ Data model.</p>
<p>✔ DAX.</p>
<p>✔ Data visualization.</p>
<p>You must be careful in each of them, because in whatever could be the cause that affects the final performance of the report.</p>
<p>Keep handy the excel file with the summarized list of best practices and recommended tools to analyze the performance of each phase of your solution.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
