<?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>Kelly Broekstra, Author at LobsterPot Solutions</title>
	<atom:link href="https://lobsterpot.com.au/blog/author/kelly_broekstra/feed/" rel="self" type="application/rss+xml" />
	<link>https://lobsterpot.com.au/blog/author/kelly_broekstra/</link>
	<description></description>
	<lastBuildDate>Wed, 18 Dec 2024 01:36:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://lobsterpot.com.au/wp-content/uploads/2022/02/cropped-LobsterPot_ICON-32x32.png</url>
	<title>Kelly Broekstra, Author at LobsterPot Solutions</title>
	<link>https://lobsterpot.com.au/blog/author/kelly_broekstra/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Happy end of 2024</title>
		<link>https://lobsterpot.com.au/blog/2024/12/18/happy-end-of-2024/</link>
					<comments>https://lobsterpot.com.au/blog/2024/12/18/happy-end-of-2024/#respond</comments>
		
		<dc:creator><![CDATA[Kelly Broekstra]]></dc:creator>
		<pubDate>Wed, 18 Dec 2024 01:36:01 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://lobsterpot.com.au/?p=6096</guid>

					<description><![CDATA[<p>As we approach the end of another remarkable year at LobsterPot Solutions, it&#8217;s time to reflect on our journey, celebrate our achievements, thank our customers, team members and the community, and look forward to the exciting opportunities that lie ahead. One of the highlights of this year has been our work on several groundbreaking projects. [&#8230;]</p>
<p>The post <a href="https://lobsterpot.com.au/blog/2024/12/18/happy-end-of-2024/">Happy end of 2024</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1024" height="1024" src="https://lobsterpot.com.au/wp-content/uploads/Designer-1.jpg" alt="" class="wp-image-6098" srcset="https://lobsterpot.com.au/wp-content/uploads/Designer-1.jpg 1024w, https://lobsterpot.com.au/wp-content/uploads/Designer-1-300x300.jpg 300w, https://lobsterpot.com.au/wp-content/uploads/Designer-1-150x150.jpg 150w, https://lobsterpot.com.au/wp-content/uploads/Designer-1-768x768.jpg 768w, https://lobsterpot.com.au/wp-content/uploads/Designer-1-600x600.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">As we approach the end of another remarkable year at LobsterPot Solutions, it&#8217;s time to reflect on our journey, celebrate our achievements, thank our customers, team members and the community, and look forward to the exciting opportunities that lie ahead.</p>



<p class="wp-block-paragraph">One of the highlights of this year has been our work on several groundbreaking projects. Our team has been at the forefront of developing cutting-edge solutions that have significantly enhanced our clients&#8217; digital experiences. This year, we have completed a high-value data warehouse implantation, continued to provide ongoing technical expertise to various projects and even delivered expert advice to a legal team about best practice database system implementation ahead of a significant court case.</p>



<p class="wp-block-paragraph">Our success is built on the strong relationships we have with our clients. This year, we&#8217;ve continued to deepen these connections by delivering exceptional service and tailored solutions. We&#8217;ve worked closely with our clients to understand their unique needs and challenges, ensuring that we provide the most effective and impactful solutions. Our clients have included engineering and manufacturing firms, vehicle financial services, hire equipment specialists, waste management services, high schools and education providers, state government units, and even other database consultancies, although Rob’s usual seasonal work as Father Christmas has been called off this year because he’s still on crutches after fracturing his tibia a few months ago.</p>



<p class="wp-block-paragraph">To everyone on our team, thank you for representing us so well. It&#8217;s wonderful to have such dedicated individuals helping us deliver outstanding results to our customers. We truly appreciate your commitment, flexibility, and exceptional skills. Your efforts make us proud every day. Thank you!</p>



<p class="wp-block-paragraph">Our commitment to the community has been a cornerstone of our values at LobsterPot Solutions. This year, between the multiple user groups we coordinate, we have conducted at least 14 meetings, bringing the Adelaide and Melbourne data platform communities together for learning and networking. Rob and Kelly have also shared their expertise at more than eight different Australian and international conferences. Oh, and Kelly was finally recognised as an Microsoft MVP, recognising her continued impact in the technical community. Well done Kelly!</p>



<p class="wp-block-paragraph">As we look forward to the coming year, we are excited about the opportunities that await us. The recent announcements about SQL Server 2025 and Fabric SQL DB, along with the development of the Azure SQL and Fabric platforms give us confidence that we’ve got busy times ahead, helping people do what they do better with this technology. Thank you to our clients, partners, and team members for making this year a success. We look forward to continuing this journey together and reaching even greater heights in the year ahead.</p>



<p class="wp-block-paragraph">Merry Christmas, and we’ll see you in 2025!</p>
<p>The post <a href="https://lobsterpot.com.au/blog/2024/12/18/happy-end-of-2024/">Happy end of 2024</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lobsterpot.com.au/blog/2024/12/18/happy-end-of-2024/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Recommended steps for connecting to source data and creating a new Power BI report</title>
		<link>https://lobsterpot.com.au/blog/2024/10/23/steps-to-connect-to-source-data-to-create-a-new-power-bi-report/</link>
					<comments>https://lobsterpot.com.au/blog/2024/10/23/steps-to-connect-to-source-data-to-create-a-new-power-bi-report/#respond</comments>
		
		<dc:creator><![CDATA[Kelly Broekstra]]></dc:creator>
		<pubDate>Wed, 23 Oct 2024 01:00:34 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://lobsterpot.com.au/?p=6070</guid>

					<description><![CDATA[<p>Tip: Don’t do it, do this instead In this series of blog posts, I want to explain different ways to extrapolate business requirements to write great reports. In this post, we’ll look at steps to connect to source data to create a new Power BI report. Firstly, let me explain what I mean by “Great [&#8230;]</p>
<p>The post <a href="https://lobsterpot.com.au/blog/2024/10/23/steps-to-connect-to-source-data-to-create-a-new-power-bi-report/">Recommended steps for connecting to source data and creating a new Power BI report</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h4 class="wp-block-heading">Tip: Don’t do it, do this instead</h4>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p class="wp-block-paragraph">In this series of blog posts, I want to explain different ways to extrapolate business requirements to write great reports. In this post, we’ll look at steps to connect to source data to create a new Power BI report. Firstly, let me explain what I mean by “Great Reports”. These are reports that are user-friendly, scalable and reusable. Most importantly, reports that the business keeps using, well after you finish developing them. </p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-full"><img decoding="async" width="639" height="428" src="https://lobsterpot.com.au/wp-content/uploads/Star-Schema-Healthcare-small.png" alt="" class="wp-image-6080" srcset="https://lobsterpot.com.au/wp-content/uploads/Star-Schema-Healthcare-small.png 639w, https://lobsterpot.com.au/wp-content/uploads/Star-Schema-Healthcare-small-300x201.png 300w" sizes="(max-width: 639px) 100vw, 639px" /></figure>
</div>
</div>



<p class="wp-block-paragraph">Great reports MUST have a great data model (or semantic model for those who work in Power BI/Fabric) behind them, so most of my advice here is actually about the data model design, not the reports themselves. I work predominantly with Power BI, Fabric, and SQL Server Analysis Services, so my advice is tailored to those technologies. If you want to catch up on the previous posts, go to:</p>



<ul class="wp-block-list">
<li><a href="https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/">Useful tips for designing a really great report model from Agile user stories</a></li>



<li><a href="https://lobsterpot.com.au/blog/2024/09/09/design-a-star-schema-by-interpreting-an-existing-report/">Design a really terrific Star Schema by interpreting an existing report</a></li>
</ul>



<h2 class="wp-block-heading">Here are the connection details. Start developing!</h2>



<p class="wp-block-paragraph">Who has been told by a manager or business person to just connect to the source data and start creating a new report? Here is my tip:</p>



<h4 class="wp-block-heading has-text-align-center has-vivid-red-color has-text-color has-link-color wp-elements-2"><strong>DON’T DO IT</strong></h4>



<p class="wp-block-paragraph">All Power BI and Fabric reports must have a semantic model, which Microsoft describes as “a logical description of an analytical domain, with metrics, business-friendly terminology, and representation, to enable deeper analysis.” &#8211; <a href="http://source https://learn.microsoft.com/en-us/fabric/data-warehouse/semantic-models?WT.mc_id=MVP_323413">Source</a></p>



<p class="wp-block-paragraph">If you try to build a report from a transactional source, you will end up with a data model replicating the tables structured from the source system, which is (hopefully) a third-normal form relational database. Or worse, a flat, single table because the API presented all the data in one endpoint. This is not ideal for a Power BI or Fabric Semantic model because it relies on many-to-many and bi-directional relationships. Many very smart people have written about why these are bad <a href="https://learn.microsoft.com/en-us/power-bi/guidance/relationships-bidirectional-filtering">here </a>and <a href="https://www.sqlbi.com/articles/different-options-to-model-many-to-many-relationships-in-power-bi-and-tabular/">here</a>, so I’m not going to repeat their teachings. Just know that a poorly designed data model can reduce the report performance, introduce logic errors and require complicated and erroneous DAX measures. You want your Semantic model to be dimensional, that is, a star schema.</p>



<h2 class="wp-block-heading">What to do instead</h2>



<p class="wp-block-paragraph">Here are my recommended steps to connect to source data to create a new Power BI report:</p>



<h3 class="wp-block-heading">Step 1: Talk to the business to identify the business problem or reporting opportunity</h3>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">My recommendation is to follow the Kimball methodology. For more information, check out the <a href="https://www.kimballgroup.com/">official pages</a>.</p>



<p class="wp-block-paragraph">In this methodology, the Kimball Group says that you need to identify the business process, grain, dimensions, and facts to design a dimensional/semantic model. And “for a dimensional modeller, the business process is an event or activity which generates or collects metrics” <a href="https://decisionworks.com/2005/07/design-tip-69-identifying-business-processes/">Quote from Design Tip #69 Identifying Business Processes</a>.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"><div class="wp-block-image">
<figure class="alignright size-full is-resized"><img decoding="async" width="202" height="250" src="https://lobsterpot.com.au/wp-content/uploads/Kimball-Book.png" alt="" class="wp-image-6071" style="width:348px;height:auto"/></figure>
</div></div>
</div>



<p class="wp-block-paragraph">So, go back to your manager or business person and ask them any of the following questions:</p>



<ul class="wp-block-list">
<li>What business process do you want to report on?</li>



<li>What business activity or event are you interested in?</li>



<li>What about that activity or event is of interest?</li>



<li>What behaviour in the business are you looking to understand more, track or change?</li>
</ul>



<p class="wp-block-paragraph">OK, that last question might be a bit deep for some managers, but it might also start a good discussion about what they really want the reports for. From there, you can treat their requirements as user stories and follow my advice in the <a href="https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/">Useful tips for designing a really great report model from Agile user stories</a>.</p>



<h2 class="wp-block-heading">If they still just want a report from a source system…</h2>



<p class="wp-block-paragraph">If the manager or business person still insists that they need a report from a source system, there are a few things you could educate them on:</p>



<ul class="wp-block-list">
<li>Business systems are large and complex. Do they want a report on all features and elements of the business system? If so, they’ll unfortunately be waiting a really long time for you to finish. Can they narrow down the scope to get you started? Or can they set a highest priority business element to start with?</li>



<li>Off-the-shelf software is designed to meet the requirements of many different organisations/businesses/companies, not just yours. Therefore, they allow different configurations and implementation of business rules. Is there someone in the organisation that you can talk to about the config of the system and the business rules so that you don’t misinterpret the data?</li>



<li>Regardless of how you receive your user requirements, there are still a number of questions about the security, timeliness and usability of your report that need to be asked. I will cover these questions in the next blog post, but I don’t want to forget to mention them here.</li>
</ul>



<p class="wp-block-paragraph">Maybe your manager has said that he needs a new report to analyse the patients who visit a healthcare practitioner for medical advice and leave with a medication prescription.</p>



<h3 class="wp-block-heading">Step 2: Do some research to help yourself out</h3>



<p class="wp-block-paragraph">Operational systems are typically implemented for a specific business process or processes. For example, iChris is a HR software solution, Salesforce is a CRM, Xero is accounting software used for invoice management and payroll, and Microsoft Dynamics is an ERP and CRM suite. You could research the source system to find what business processes it supports. The trap here is to still focus on too many processes at once. You will need to prioritise one to start with. I like to remind my clients that “Priority 1” and “High Priority” are singular. It isn’t “Priority ones” or “High priorities”; there is no “s”; there can be only one.</p>



<p class="wp-block-paragraph">Next, you need to start to think about the grain, dimensions, and facts. Microsoft has published some articles on Learn about the Common Data Model (https://learn.microsoft.com/en-us/common-data-model/), which would be very helpful to look at next. Business processes like healthcare, human resources, campaigns, budgeting, sales, etc., are described in detail, along with attributes, semantic metadata, and relationships.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="705" src="https://lobsterpot.com.au/wp-content/uploads/CDM-1024x705.png" alt="" class="wp-image-6072" srcset="https://lobsterpot.com.au/wp-content/uploads/CDM-1024x705.png 1024w, https://lobsterpot.com.au/wp-content/uploads/CDM-300x206.png 300w, https://lobsterpot.com.au/wp-content/uploads/CDM-768x529.png 768w, https://lobsterpot.com.au/wp-content/uploads/CDM-1536x1057.png 1536w, https://lobsterpot.com.au/wp-content/uploads/CDM-2048x1410.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">These published resources can save you a heap of time and help highlight anything in the dimensional/semantic model that you may have missed because you don’t have someone to ask about the business rules or because you’re a report developer, not a subject matter expert in healthcare, sales, finance, marketing, etc.</p>



<p class="wp-block-paragraph">You don’t need to use Dynamics 365 to leverage the resources available for the subject areas. The Learn pages and GitHub repo are free and available to anyone.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="624" height="514" src="https://lobsterpot.com.au/wp-content/uploads/CDM-Healthcare.png" alt="" class="wp-image-6073" srcset="https://lobsterpot.com.au/wp-content/uploads/CDM-Healthcare.png 624w, https://lobsterpot.com.au/wp-content/uploads/CDM-Healthcare-300x247.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<h3 class="wp-block-heading">Step 3: Document the business process, grain, dimensions, and facts</h3>



<p class="wp-block-paragraph">Research has been done, but you must still formally identify the business process, grain, dimensions, and facts to design a dimensional/semantic model. It’s worth noting that the business process often becomes the Fact or Facts in your model. Remember, your manager needs a new report to analyse the patients who visit a healthcare practitioner for medical advice and leave with a medication prescription. This feels complicated because the person requesting the report, the Kimball books and the CDM mentioned above all use slightly different language to say the same things, so I break it down like follows:</p>



<h4 class="wp-block-heading"><strong>Business Process</strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Requested</strong></td><td><strong>Kimball</strong></td><td><strong>CDM</strong></td></tr><tr><td>A patient <strong>visits</strong> a healthcare practitioner and receives a <strong>medication</strong> prescription<br><br>**Bold text shows that there are actually 2 processes, or Fact table articulated here</td><td>Patient Encounter Workflow<br><br><br><br><br><br></td><td>Administration Encounter<br><br><br><br><br><br></td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><strong>Dimensions</strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Requested</strong></td><td><strong>Kimball</strong></td><td><strong>CDM</strong></td></tr><tr><td>Date<br>Healthcare practitioner<br>Patient</td><td>Date<br>Physician<br>Patient</td><td>Date<br>Clinical Care Team<br>Encounter Participant</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><strong>Facts</strong></h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Requested</strong></td><td><strong>Kimball</strong></td><td><strong>CDM</strong></td></tr><tr><td>Visits<br><br>Grain: One Administration Encounter for each visit to a healthcare practitioner</td><td>Patient Encounter Workflow<br><br><br><br></td><td>Administration Encounters<br><br><br><br></td></tr><tr><td>Medication<br><br>Grain: One Medication for each medication prescription received during a visit</td><td>Medications<br><br><br><br></td><td>Medication Core<br><br><br><br></td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Step 4: Draw the model on paper</h3>



<p class="wp-block-paragraph">As I’ve said in previous posts, I will ALWAYS draw the dimensional/semantic model on a whiteboard or a blank piece of paper (physical or online), as it’s the quickest and easiest to change and evolve.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="322" src="https://lobsterpot.com.au/wp-content/uploads/Star-Schema-Healthcare-1024x322.png" alt="" class="wp-image-6074" srcset="https://lobsterpot.com.au/wp-content/uploads/Star-Schema-Healthcare-1024x322.png 1024w, https://lobsterpot.com.au/wp-content/uploads/Star-Schema-Healthcare-300x94.png 300w, https://lobsterpot.com.au/wp-content/uploads/Star-Schema-Healthcare-768x242.png 768w, https://lobsterpot.com.au/wp-content/uploads/Star-Schema-Healthcare.png 1361w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Then, use the drawing to see if you can answer some of the questions your manager or business person originally asked. For example;</p>



<ul class="wp-block-list">
<li>“I want to know how many patients who visit a healthcare practitioner for medical advice leave with a medication prescription” – the model above allows you to slice the Medications by Patient, so this requirement would be met.</li>



<li>“I want to know, on average, how often a healthcare practitioner prescribes medication to patients” – the model includes physician, number of encounters, and number of encounters with a prescribed mediation, so this requirement can be met.</li>



<li>“I want to know the average time it takes patients to fulfil their prescription” – the model doesn’t appear to include any prescription fulfilment information, so this requirement would not be met.</li>
</ul>



<h3 class="wp-block-heading">Step 5: Load the data into your model</h3>



<p class="wp-block-paragraph">Now, you are finally ready to start developing in Power BI by loading data from the source system into your carefully designed dimensional/semantic model.</p>



<p class="wp-block-paragraph">Please always apply this well-known theory:</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="780" height="126" src="https://lobsterpot.com.au/wp-content/uploads/Roches-Maxim.png" alt="" class="wp-image-6075" style="width:840px;height:auto" srcset="https://lobsterpot.com.au/wp-content/uploads/Roches-Maxim.png 780w, https://lobsterpot.com.au/wp-content/uploads/Roches-Maxim-300x48.png 300w, https://lobsterpot.com.au/wp-content/uploads/Roches-Maxim-768x124.png 768w" sizes="(max-width: 780px) 100vw, 780px" /><figcaption class="wp-element-caption"><a href="https://ssbipolar.com/2021/05/31/roches-maxim/">Roche’s Maxim of Data Transformation – BI Polar (ssbipolar.com)</a></figcaption></figure>



<p class="wp-block-paragraph">That means that, if you can, transform the data at the source system layer before you load it into Power Query or Pipelines. This may mean:</p>



<ul class="wp-block-list">
<li>Create T-SQL views in a SQL Server database</li>



<li>Create reports in the application (Salesforce and Xero are good at this) and then connect Power Query to the report</li>



<li>Build or use a custom API from the application development tools</li>
</ul>



<p class="wp-block-paragraph">If you can’t control the source system enough to transform your data before ingestion, consider implementing a Medallion architecture in Fabric. <a href="https://learn.microsoft.com/en-us/fabric/get-started/task-flow-overview?WT.mc_id=MVP_323413">Tasks Flows</a> are a great new feature to help here.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="624" height="145" src="https://lobsterpot.com.au/wp-content/uploads/Task-Flow.png" alt="" class="wp-image-6076" style="width:843px;height:auto" srcset="https://lobsterpot.com.au/wp-content/uploads/Task-Flow.png 624w, https://lobsterpot.com.au/wp-content/uploads/Task-Flow-300x70.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p class="wp-block-paragraph">Finally, after you have designed a dimensional/semantic model that reflects a business process with facts and dimensions at the appropriate grain and you have loaded the data, you can start developing the report visuals.</p>



<p class="wp-block-paragraph">I hope these recommended steps to connect to source data to create a new Power BI report will get you started when you’ve been told by a manager or business person to create a report from raw, system data.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ol class="wp-block-list">
<li>Talk to the business to identify the business problem or reporting opportunity. Always ask more questions to get to the business process and deeper requirements for the report.</li>



<li>Do some research to help yourself out. You don’t have to start from scratch.</li>



<li>Document the business process, grain, dimensions, and facts.</li>



<li>Draw the model on paper or a whiteboard.</li>



<li>Load the data into your model and build visuals.</li>
</ol>
</div></div>



<p class="wp-block-paragraph">Happy designing!</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://lobsterpot.com.au/blog/2024/10/23/steps-to-connect-to-source-data-to-create-a-new-power-bi-report/">Recommended steps for connecting to source data and creating a new Power BI report</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lobsterpot.com.au/blog/2024/10/23/steps-to-connect-to-source-data-to-create-a-new-power-bi-report/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Design a really terrific Star Schema by interpreting an existing report</title>
		<link>https://lobsterpot.com.au/blog/2024/09/09/design-a-star-schema-by-interpreting-an-existing-report/</link>
					<comments>https://lobsterpot.com.au/blog/2024/09/09/design-a-star-schema-by-interpreting-an-existing-report/#respond</comments>
		
		<dc:creator><![CDATA[Kelly Broekstra]]></dc:creator>
		<pubDate>Mon, 09 Sep 2024 04:11:17 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Kimball Methods]]></category>
		<category><![CDATA[Report Model Design]]></category>
		<guid isPermaLink="false">https://lobsterpot.com.au/?p=6046</guid>

					<description><![CDATA[<p>Previously, I’ve written about tips for designing a really great report model from Agile user stories. Catch up on it here (Useful tips for designing a really great report model from Agile user stories). Now, I’d like to present a few ideas for designing a user-friendly, scalable and re-usable Star Schema by interpreting an existing [&#8230;]</p>
<p>The post <a href="https://lobsterpot.com.au/blog/2024/09/09/design-a-star-schema-by-interpreting-an-existing-report/">Design a really terrific Star Schema by interpreting an existing report</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Previously, I’ve written about tips for designing a really great report model from Agile user stories. Catch up on it here (<a href="https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/">Useful tips for designing a really great report model from Agile user stories</a>). Now, I’d like to present a few ideas for designing a user-friendly, scalable and re-usable Star Schema by interpreting an existing report or report mock-ups.</p>



<h2 class="wp-block-heading">Where to start</h2>



<p class="wp-block-paragraph">I have worked as a business intelligence developer for several years, and I’m always asked: “How do you convert user requirements to a functioning data model?” </p>



<p class="wp-block-paragraph">I follow the Kimball methodology. For more information, check out the <a href="https://www.kimballgroup.com/">official pages</a>.</p>



<p class="wp-block-paragraph">But, here are some specific tips on what works for me.</p>



<p class="wp-block-paragraph">Firstly,<strong> understand that requirements evolve.</strong> Very few people know precisely what they want before they start, mainly because they don’t know what’s possible. Once I start developing a new report, especially in a new tool, they will ask for something new or different to the original requirements. This is why Agile principles work well in business intelligence development. The trick is to get as close as possible without doing more work than required. Do not get attached to the first data model; know and understand that it will evolve over time.</p>



<p class="wp-block-paragraph">Before we get into more details, I follow a few ground rules when I interpret requirements; these include:</p>



<h4 class="wp-block-heading">Have a process</h4>



<p class="wp-block-paragraph">Many stakeholders, especially those paying for the solution, don’t appreciate ‘loose’ requirements and poorly defined deliverables. To address their concerns, I show them a pre-defined process to gather requirements and build report parts or facts and dimensions. Each project may use a slightly different process, but create a method that works best for you. You can start with the one I describe below.</p>



<h4 class="wp-block-heading">Set expectations</h4>



<p class="wp-block-paragraph">Once I know what process I will use, I explain that each iteration of the development will take a specific number of hours or days and what should be expected from each repetition. It’s essential to be clear on the process and what can be achieved each time you repeat it.</p>



<h4 class="wp-block-heading">Always create a star schema</h4>



<p class="wp-block-paragraph">I don’t want to see data models that replicate the tables from the source data or ‘Flat’ data models, where everything is in one or two tables. These models perform poorly, are unscalable (try adding a new piece of data), and are challenging to understand and find things in. They often contain repeated data, only work when there is a single data source and are difficult to write DAX expressions on (I could rant for hours on why you need a star schema, but that’s reserved for another post). Regardless of size, I will always design and build a star schema for all reports. In case you are not familiar with star schemas, here are the basics:</p>



<p class="wp-block-paragraph">Facts in the middle</p>



<ul class="wp-block-list">
<li>Also known as measure groups (in SSAS Multidimensional) because they measure things</li>



<li>They align to a business process, or some event that happens in your business, e.g. a Sale is completed, a Customer places an Order</li>



<li>Normally referred to in the plural, e.g. Sales, Orders</li>
</ul>



<p class="wp-block-paragraph">Dimensions on the points</p>



<ul class="wp-block-list">
<li>Describe the facts</li>



<li>What you’d see in filters and groupings</li>



<li>Normally referred to in the singular, e.g. Product, Date, People</li>
</ul>



<p class="wp-block-paragraph">I understand that Power BI is an ELT (“Extract, Load, and Transform”) tool, as opposed to an ETL (“Extract, Transform, and Load”) tool, and individual queries need to be written for each source table. These queries become the tables in your model, but I still follow Fact and Dimension logic to split or combine source tables to ensure I create a star schema. Now that you have some ground rules, let&#8217;s review the reporting requirements. Remember this image about understanding requirements? It totally applies here. Your ability to understand the customers’ requirements is vital to delivering a brilliant, usable, well-performing, adaptable and scalable report.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="800" height="600" src="https://lobsterpot.com.au/wp-content/uploads/Requirements-Gathering-User-Experience-UX-Project-Cartoon-429x320-2.jpg" alt="" class="wp-image-6005" srcset="https://lobsterpot.com.au/wp-content/uploads/Requirements-Gathering-User-Experience-UX-Project-Cartoon-429x320-2.jpg 800w, https://lobsterpot.com.au/wp-content/uploads/Requirements-Gathering-User-Experience-UX-Project-Cartoon-429x320-2-300x225.jpg 300w, https://lobsterpot.com.au/wp-content/uploads/Requirements-Gathering-User-Experience-UX-Project-Cartoon-429x320-2-768x576.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption"><em>Source unknown</em></figcaption></figure>



<h2 class="wp-block-heading">Congratulations, you have been asked to replicate an existing report.</h2>



<p class="wp-block-paragraph">More often than not, customers (or clients/business users/stakeholders, call them what you want; it’s the person requesting the report) will ask you to rebuild an existing report, either from a new source system or because there is a problem with the existing report. Alternatively, you may get a report mock-up drawn on paper (or a napkin – yes, that has happened to me). Examining the sample or mick-up provided is essential as a first step in your process.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="384" height="301" src="https://lobsterpot.com.au/wp-content/uploads/Handdrawn-report.png" alt="A hand-drawn mock-up of a report" class="wp-image-6006" style="width:434px;height:auto" srcset="https://lobsterpot.com.au/wp-content/uploads/Handdrawn-report.png 384w, https://lobsterpot.com.au/wp-content/uploads/Handdrawn-report-300x235.png 300w" sizes="(max-width: 384px) 100vw, 384px" /><figcaption class="wp-element-caption">Hand-drawn mock-up of a report</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="290" height="264" src="https://lobsterpot.com.au/wp-content/uploads/Excel-Report.png" alt="An existing report created in Excel" class="wp-image-6007" style="width:424px;height:auto"/><figcaption class="wp-element-caption">Report created in Excel</figcaption></figure>
</div>
</div>



<h3 class="wp-block-heading">Star Schema from an existing report</h3>



<p class="wp-block-paragraph">No matter what, you need to create a Star Schema by interpreting this existing report and mock-up. Start with version 1 of the star schema by looking for the <span class="yellowHighlight">actions, acts or things that need to be counted (facts)</span> and the <span class="greenHighlight">descriptions, filters, and groupings (dimensions)</span>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="515" height="402" src="https://lobsterpot.com.au/wp-content/uploads/Handdrawn-report-with-markup.png" alt="The same hand-drawn mock-up of a report with the Facts and Dimensions highlighted" class="wp-image-6017" style="width:592px;height:auto" srcset="https://lobsterpot.com.au/wp-content/uploads/Handdrawn-report-with-markup.png 515w, https://lobsterpot.com.au/wp-content/uploads/Handdrawn-report-with-markup-300x234.png 300w" sizes="(max-width: 515px) 100vw, 515px" /><figcaption class="wp-element-caption">Highlight the facts and dimensions in the mock-up report</figcaption></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="483" height="400" src="https://lobsterpot.com.au/wp-content/uploads/Excel-report-with-markup.png" alt="The same existing Excel report with the Facts and Dimensions highlighted, but questioning where the Totals are for" class="wp-image-6018" style="width:665px;height:auto" srcset="https://lobsterpot.com.au/wp-content/uploads/Excel-report-with-markup.png 483w, https://lobsterpot.com.au/wp-content/uploads/Excel-report-with-markup-300x248.png 300w" sizes="(max-width: 483px) 100vw, 483px" /><figcaption class="wp-element-caption">Highlight the facts and dimensions in the Excel report</figcaption></figure>
</div>


<p class="wp-block-paragraph">Just looking at these two sample reports, I can see that they need the following in the Star Schema for our existing report and mock-up:</p>



<h4 class="wp-block-heading">Dimensions</h4>



<ul class="wp-block-list">
<li>Division and Territory Name – could be combined into a Sales Region dimension.</li>



<li>Employees – including Employee Last Name</li>



<li>Product – including Product Category</li>



<li>Lines (I’m not sure what this means)</li>



<li>MHs (I’m not sure what this means)</li>



<li>CAGR – 12 month, quarterly and Order Year – so ensure to include a Date dimension with quarters and all dates listed (to use Power BI’s inbuilt time intelligence features)</li>
</ul>



<h4 class="wp-block-heading">Facts</h4>



<ul class="wp-block-list">
<li>Income</li>



<li>Budget</li>



<li>Actual (is this the same as Income?)</li>



<li>Actual Variance to Budget $</li>



<li>Actual Variance to Budget %</li>



<li>Total (I don’t know what these charts are showing as the total amount)</li>
</ul>



<p class="wp-block-paragraph">As you can see, this process has identified some dimensions and facts to start the star schema design, but it has also highlighted some serious questions about what data is needed in the report. It’s vital at this stage to find the people who will actually be using the report. Too often, I find that analysts or BI developers think that they understand the needs of the business, but they know the requirements from a technical perspective only. Go and ask these questions of the businesspeople and customers who created the mock-up:</p>



<ul class="wp-block-list">
<li>What do you mean by Lines in the mock-up?</li>



<li>What do you mean by MHs in the mock-up?</li>



<li>Is Actual the same as Income? If they are different, how so?</li>



<li>I don’t know what these charts show as the total amount. Can you please be more specific?</li>
</ul>



<p class="wp-block-paragraph">Once you have some answers, you can start to design the star schema. Just a note: I will ALWAYS begin on a whiteboard or a blank piece of paper (physical or online), as it’s the quickest and easiest to change and evolve.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="780" height="418" src="https://lobsterpot.com.au/wp-content/uploads/Star-schema.png" alt="Version 1 of the star schema for the reports with Sales (AKA Income in the center and Date, Sales Region, Employee, Product and Budget on the points" class="wp-image-6022" srcset="https://lobsterpot.com.au/wp-content/uploads/Star-schema.png 780w, https://lobsterpot.com.au/wp-content/uploads/Star-schema-300x161.png 300w, https://lobsterpot.com.au/wp-content/uploads/Star-schema-768x412.png 768w" sizes="(max-width: 780px) 100vw, 780px" /><figcaption class="wp-element-caption">Version 1 of the star schema for the reports</figcaption></figure>
</div>


<p class="wp-block-paragraph">It’s always a good idea to combine different requirements-gathering techniques to understand better what the customer wants from the reports. Refer to this post for more ideas (<a href="https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/">Useful tips for designing a really great report model from Agile user stories</a>).</p>



<p class="wp-block-paragraph">Once you are clear on the requirements, start to look at source systems and understand how the data is structured. This will undoubtedly form part of your process and improve the star schema. Remember to keep changing it as you find out more information.</p>



<p class="wp-block-paragraph">I hope this gives you some understanding and ideas for designing a user-friendly, scalable and re-usable Star Schema by interpreting an existing report or report mock-ups.</p>



<p class="wp-block-paragraph">Happy designing!</p>
<p>The post <a href="https://lobsterpot.com.au/blog/2024/09/09/design-a-star-schema-by-interpreting-an-existing-report/">Design a really terrific Star Schema by interpreting an existing report</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lobsterpot.com.au/blog/2024/09/09/design-a-star-schema-by-interpreting-an-existing-report/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Useful tips for designing a really great report model from Agile user stories</title>
		<link>https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/</link>
					<comments>https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/#respond</comments>
		
		<dc:creator><![CDATA[Kelly Broekstra]]></dc:creator>
		<pubDate>Fri, 01 Sep 2023 02:25:45 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://lobsterpot.com.au/?p=5824</guid>

					<description><![CDATA[<p>Are you a model designer or BI developer tasked with designing a data model and/or report from a series of user requirements or Agile User Stories? Do you know where to start, or what to try first? Here are some practical tips and techniques that I have used to design a great report model from [&#8230;]</p>
<p>The post <a href="https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/">Useful tips for designing a really great report model from Agile user stories</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Are you a model designer or BI developer tasked with designing a data model and/or report from a series of user requirements or Agile User Stories? Do you know where to start, or what to try first? Here are some practical tips and techniques that I have used to design a great report model from Agile user stories. </p>



<p class="wp-block-paragraph">I start by asking questions of the person requesting the report.</p>



<ul class="wp-block-list">
<li>Who will look at the report?</li>



<li>Why will they look at the report?</li>



<li>What are they trying to determine?</li>



<li>What actions do they need to take from the report?</li>



<li>What questions does the report need to answer?</li>



<li>How often does the data need to be refreshed?</li>
</ul>



<h2 class="wp-block-heading has-medium-font-size">If you want business people to use the report, talk to them about their requirements</h2>



<p class="wp-block-paragraph">It’s vital to design a great data model from Agile user stories to find the people who will actually be using the report. Too often, I find that analysts or BI developers think that they understand the needs of the business, but they know the requirements from a technical perspective only. </p>



<p class="wp-block-paragraph">If I’m working in an Agile project, I may be lucky enough to get a concise and detailed user story or something similar to articulate the requirements. It may look like this:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="607" height="233" src="https://lobsterpot.com.au/wp-content/uploads/2023/09/User-story.png" alt="Agile user story" class="wp-image-5825" srcset="https://lobsterpot.com.au/wp-content/uploads/2023/09/User-story.png 607w, https://lobsterpot.com.au/wp-content/uploads/2023/09/User-story-300x115.png 300w" sizes="(max-width: 607px) 100vw, 607px" /></figure>



<h2 class="wp-block-heading has-medium-font-size">Look for the verbs and nouns</h2>



<p class="wp-block-paragraph">As the model designer (or BI developer), my job is to find the verbs and nouns in the story. Remember back to grade 3; verbs are words that show actions, motions, doing, or states of being; nouns are words or phrases that are the name of something or describe something.</p>



<p class="wp-block-paragraph">Sometimes, a word might technically not be a verb or a noun, but another way to think about this exercise is to find the actions or acts (facts) and the descriptions (dimensions).</p>



<p class="wp-block-paragraph">I will highlight the <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color">verbs, actions or acts (facts)</mark> and <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">nouns or descriptions (dimensions)</mark> in your user story:</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p class="wp-block-paragraph"><em>“As the HR manager, I need to know how many <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color"><strong>new hires</strong>, <strong>terminations</strong></mark> and <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color"><strong>bad</strong> <strong>hires</strong></mark> we have had in the last <strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">12 months</mark></strong>.</em></p>



<p class="wp-block-paragraph"><em>We analyse the employees by their <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color"><strong>gender</strong>, <strong>age</strong>, <strong>ethnicity</strong></mark>, and whether they are<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color"> <strong>full time or part time and hourly or salaried</strong></mark><strong> </strong>employees.”</em></p>
</div></div>



<h2 class="wp-block-heading has-medium-font-size">Conceptualise the star schema</h2>



<p class="wp-block-paragraph">From here, I will conceptualise the star schema. Just a note: I will ALWAYS begin on a whiteboard or a blank piece of paper (physical or online), as it’s the quickest and easiest to change and evolve.</p>



<h3 class="wp-block-heading" style="font-size:17px">Start with the Facts</h3>



<p class="wp-block-paragraph">I start with the <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-green-cyan-color">verbs, actions or acts (facts)</mark>. Have I highlighted one or many in the user story? If there are many, do they all relate to the same business process? A good fact table models an actual process that the business does, for example, hiring people and terminating employees. An employee movements fact table could include new hires, bad hires and terminations and have the flexibility to include promotions or team changes later.</p>



<p class="wp-block-paragraph">I will draw the employee movements fact table in the middle of the page.</p>



<h3 class="wp-block-heading" style="font-size:17px">How will we describe the Facts?</h3>



<p class="wp-block-paragraph">Now, I look for the <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">nouns, attributes or descriptions (dimensions)</mark> I highlighted. I’ll ask the same questions as for the facts: Have I highlighted one or many in the user story? If there are many, do they all relate to the same business process? “12 months” is an attribute of a calendar, so I will need a time, date or calendar dimension (call it what you want). I’ll then add a dimension for gender and a dimension for ethnicity.</p>



<p class="wp-block-paragraph">Age is a little more complicated because an employee’s age changes yearly. Instead of adding an Age dimension, I may add a date of birth to calculate age at any time, or age buckets (21 or younger, 22-30, 31-40, etc.) that will change less often. In this scenario, I might even prefer to rename the attribute to “age at the time of employee movement,” then I know it won’t change.</p>



<p class="wp-block-paragraph">Full time, part time, hourly, and salaried can all relate to an employment type, so I’ll draw an employment type dimension in the star schema.</p>



<p class="wp-block-paragraph">I also highlighted “bad” in relation to bad hires. First, I need to go to the business people and confirm what defines a “bad hire”. Then I need to ensure that I have all the data I need to determine if a hire is “bad”. This attribute could be a calculated column based on the business rule and other attributes or a new attribute derived from the source system. Finally, if I choose to implement an employee movements fact table, I will need an employee movements type to specify if the movement is a new hire, termination, promotion or team change. This may be an attribute in the employee movements fact table or a new dimension.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="518" height="589" data-id="5834" src="https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema.png" alt="Original star schema" class="wp-image-5834" srcset="https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema.png 518w, https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-264x300.png 264w" sizes="(max-width: 518px) 100vw, 518px" /></figure>
</figure>



<h2 class="wp-block-heading has-medium-font-size">Record attributes and measures</h2>



<p class="wp-block-paragraph">Now that we have facts and dimensions listed start to<strong> </strong>record attributes and measures. You may be able to get these from the questions you asked and the user story, but if not, ASK.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="579" height="758" src="https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Dimensions.png" alt="Dimension fields design" class="wp-image-5835" srcset="https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Dimensions.png 579w, https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Dimensions-229x300.png 229w" sizes="(max-width: 579px) 100vw, 579px" /></figure>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="604" height="367" data-id="5836" src="https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Fact.png" alt="Fact fields design" class="wp-image-5836" srcset="https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Fact.png 604w, https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Fact-300x182.png 300w" sizes="(max-width: 604px) 100vw, 604px" /></figure>
</figure>



<h2 class="wp-block-heading has-medium-font-size">Now design a great data model from Agile user stories &#8211; rework as needed</h2>



<p class="wp-block-paragraph"><span style="font-family:&quot;Open Sans&quot;,sans-serif">You may also realise that some dimensions are so small they don’t need an entire dimension to define. For example, gender has only 1 description field plus a primary key, and the primary key could be the same as the description. This applies to movement type as well. I can include the whole description on the fact table and remove the gender and movement type dimensions, which makes them “degenerate dimensions”. I can then remove the gender and movement type dimensions.</span></p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="566" height="361" data-id="5837" src="https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Final.png" alt="Design a great report model from Agile user stories. Final star schema" class="wp-image-5837" srcset="https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Final.png 566w, https://lobsterpot.com.au/wp-content/uploads/2023/09/Star-schema-Final-300x191.png 300w" sizes="(max-width: 566px) 100vw, 566px" /></figure>
</figure>



<h2 class="wp-block-heading has-medium-font-size">Determine where the data will come from</h2>



<p class="wp-block-paragraph">Which systems and objects/tables within the system contain the fields? Most likely, the business user is a user of the system, and they can step you through how they would find the data manually. Use this to understand the complexity of the data sources. Are there 10 different sources, or 1? Is all the data on a single screen, or must you navigate multiple places to find everything?</p>



<h2 class="wp-block-heading has-medium-font-size">Ask more questions</h2>



<p class="wp-block-paragraph">Importantly, at this stage, ask questions about how the Facts and Dimensions connect to each other. If Budgets are in a different system to Actuals, is there a common identifier/dimension you can use? Do you need additional objects/tables to get ID columns that mean something?</p>



<p class="wp-block-paragraph">If you don’t have the budget or time to develop the entire model, design and build a basic star schema. Be sure to include a fact table and multiple dimensions that directly connect to that fact table. You won’t get approval to build more if you can’t prove the value of the first part; if there is nothing for the user to see in the report, they won’t be willing to pay for more of that ‘nothing’.</p>



<p class="wp-block-paragraph">The best way to get started designing a great report model from Agile user stories is to get the user story and begin drawing the star schema on a whiteboard or a blank piece of paper. Then keep changing it as you find out more information. I hope this helps you to understand the business requirements and translate them into a scalable data model. In my <a href="https://lobsterpot.com.au/blog/2024/09/09/design-a-star-schema-by-interpreting-an-existing-report/">next post</a>, I’ll talk about designing a report model from an existing report.</p>



<p class="wp-block-paragraph">Happy designing!</p>



<p class="wp-block-paragraph">Kelly Broekstra | <a href="https://twitter.com/kellybroekstra">twitter</a> | <a href="https://www.linkedin.com/in/kellybroekstra/">LinkedIn</a></p>
<p>The post <a href="https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/">Useful tips for designing a really great report model from Agile user stories</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lobsterpot.com.au/blog/2023/09/01/useful-tips-for-designing-a-really-great-report-model-from-agile-user-stories/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The year that was 2021 for LobsterPot Solutions</title>
		<link>https://lobsterpot.com.au/blog/2021/12/20/the-year-that-was-2021-for-lobsterpot-solutions/</link>
					<comments>https://lobsterpot.com.au/blog/2021/12/20/the-year-that-was-2021-for-lobsterpot-solutions/#respond</comments>
		
		<dc:creator><![CDATA[Kelly Broekstra]]></dc:creator>
		<pubDate>Mon, 20 Dec 2021 02:08:27 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=4400</guid>

					<description><![CDATA[<p>2021 was a big year for LobsterPot Solutions. Although we’re at a smaller headcount than we would like, we have contributed to numerous big and important projects. We’ve helped a community health care provider deliver services to COVID positive people, a government commission&#160;to&#160;deliver a data governance and&#160;regulatory&#160;intelligence&#160;system that is both robust and secure, and&#160;continued our [&#8230;]</p>
<p>The post <a href="https://lobsterpot.com.au/blog/2021/12/20/the-year-that-was-2021-for-lobsterpot-solutions/">The year that was 2021 for LobsterPot Solutions</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[
				
<p class="wp-block-paragraph">2021 was a big year for LobsterPot Solutions. Although we’re at a smaller headcount than we would like, we have contributed to numerous big and important projects. </p>



<p class="wp-block-paragraph">We’ve
helped a community health care provider deliver services to COVID positive
people, a government commission&nbsp;to&nbsp;deliver a data governance
and&nbsp;regulatory&nbsp;intelligence&nbsp;system that is both robust and
secure, and&nbsp;continued our work assisting&nbsp;a government department&nbsp;in
the management and analysis of critical debt-related data.</p>



<p class="wp-block-paragraph">Although
most of our&nbsp;prominent&nbsp;projects have focused on data warehouses,
business intelligence, and self-service reporting solutions, several clients
have again called us to improve poor performing database systems.&nbsp;Our
focus on getting quick but significant&nbsp;wins in performance
tuning&nbsp;is&nbsp;world-renowned&nbsp;and&nbsp;heavily sought-after.&nbsp;</p>



<p class="wp-block-paragraph">Power BI
has been the big driver of new projects&nbsp;this year.&nbsp;Many clients
approach us for report&nbsp;development, and then realise that we can assist
with&nbsp;data management, governance,&nbsp;warehousing and system
implementations.&nbsp;Several of these projects have morphed into&nbsp;more
extensive&nbsp;engagements that have included training, participation in Centre
of Excellence discussions&nbsp;and&nbsp;the&nbsp;tuning of source systems.</p>



<p class="wp-block-paragraph">A newer endeavour for LobsterPot Solutions has been data warehouse health checks, which have now been requested by multiple clients. Our comprehensive review of your data warehouse environment includes documentation of your existing elements as well as recommendations for performance improvements, upgrade and migration strategies, and best-practice improvements.</p>



<p class="wp-block-paragraph">Rob&#8217;s even found time to step away from the data platform consulting and spend time entertaining kids and parents alike with his Santa antics. But unfortunately, he had to perform some of his duties from home after a COVID close contact.</p>



<figure class="wp-block-image"><img decoding="async" src="https://blogs.lobsterpot.com.au/wp-content/uploads/2021/12/messages_0.jpeg" alt="" class="wp-image-4405"/></figure>



<p class="wp-block-paragraph">We feel
that 2021 has had a bit of everything.&nbsp;Our clients have said the following
about LobsterPot Solutions this year:</p>



<p class="wp-block-paragraph">“LobsterPot
Solutions has assisted the Commission in establishing a centralised information
platform using Azure Data Lake Storage, Azure Data Factory, Azure SQL DB, Azure
Purview and Power BI. The ongoing tailored support and expertise provided by
LobsterPot Solutions has helped the team to grow their knowledge and expertise
and deliver solutions that&nbsp;have&nbsp;exceeded expectations.”</p>



<p class="wp-block-paragraph">“The LobsterPot Solutions consultant was willing to work as a member of the team and be part of the team to solve the problem. They had the technical expertise and also took the time to understand how we work. They would challenge us and identify possible gaps and flaws but provide potential solutions.”</p>



<p class="wp-block-paragraph">“I just wanted to give a shout out to the LobsterPot Solutions consultant for the support they have provided to the team over the last two weeks. They helped them to develop a dashboard of indicators (some with challenging logic) within a very short time. We couldn’t have done it without them, and they did it under challenging circumstances, so we really appreciate it.”</p>



<p class="wp-block-paragraph">Everyone at LobsterPot Solutions is looking forward to the challenges that the new year will bring.</p>



<p class="wp-block-paragraph">Merry Christmas to all of you.</p>
		<p>The post <a href="https://lobsterpot.com.au/blog/2021/12/20/the-year-that-was-2021-for-lobsterpot-solutions/">The year that was 2021 for LobsterPot Solutions</a> appeared first on <a href="https://lobsterpot.com.au">LobsterPot Solutions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lobsterpot.com.au/blog/2021/12/20/the-year-that-was-2021-for-lobsterpot-solutions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
