<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Barbara Morara</title>
    <description>The latest articles on DEV Community by Barbara Morara (@moraraba1).</description>
    <link>https://dev.to/moraraba1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3716566%2Ffd1139a9-1969-4d65-8bd6-5040db049592.png</url>
      <title>DEV Community: Barbara Morara</title>
      <link>https://dev.to/moraraba1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/moraraba1"/>
    <language>en</language>
    <item>
      <title>Understanding Joins and Window Functions in SQL</title>
      <dc:creator>Barbara Morara</dc:creator>
      <pubDate>Mon, 02 Mar 2026 19:44:09 +0000</pubDate>
      <link>https://dev.to/moraraba1/understanding-joins-and-window-functions-in-sql-10b9</link>
      <guid>https://dev.to/moraraba1/understanding-joins-and-window-functions-in-sql-10b9</guid>
      <description>&lt;p&gt;Two of the most powerful SQL concepts a data person, like a data analyst or a backend developer, will use are "Joins" and "Window Functions." "Joins" are used to combine data from multiple tables, and "Window Functions" are used to perform complex calculations on related rows of data without aggregating the results.&lt;/p&gt;

&lt;p&gt;In this article, I will explain what "Joins" and "Window Functions" are, along with examples, in a very simple way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Part 1: SQL Join
&lt;/h2&gt;

&lt;p&gt;In relational databases, data is often stored in multiple tables. For example, you might have:&lt;br&gt;
    • customers table&lt;br&gt;
    • orders table&lt;/p&gt;

&lt;p&gt;Each table stores different information, but they are connected using a common key like customer_id.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is a Join?
&lt;/h2&gt;

&lt;p&gt;A JOIN combines rows from two or more tables based on a related column.&lt;/p&gt;

&lt;p&gt;Think of it like matching records from one Excel sheet to another using a common ID&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Joins
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. INNER JOIN&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Returns only the matching records in both tables.&lt;br&gt;
&lt;code&gt;SELECT &lt;br&gt;
     c.customer_id,&lt;br&gt;
     c.name,&lt;br&gt;
     o.order_id,&lt;br&gt;
     o.order_date&lt;br&gt;
FROM customers c&lt;br&gt;
INNER JOIN orders o&lt;br&gt;
   ON c.customer_id=o.customer_id;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This query returns customers who have placed orders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. LEFT JOIN&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Returns all records from the left table and matching records from the right table. If there is no match, NULL values appear.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT &lt;br&gt;
    c.customer_id,&lt;br&gt;
    c.name,&lt;br&gt;
    o.order_id&lt;br&gt;
FROM customers c&lt;br&gt;
LEFT JOIN orders o&lt;br&gt;
    ON c.customer_id = o.customer_id;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This shows all customers, even those who haven’t placed any orders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. RIGHT JOIN&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Returns all records from the right table and matching ones from the left.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT &lt;br&gt;
    c.customer_id,&lt;br&gt;
    c.name,&lt;br&gt;
    o.order_id&lt;br&gt;
FROM customers c&lt;br&gt;
RIGHT JOIN orders o&lt;br&gt;
    ON c.customer_id = o.customer_id;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. FULL OUTER JOIN&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Returns all records from both tables, whether they match or not.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT &lt;br&gt;
    c.customer_id,&lt;br&gt;
    c.name,&lt;br&gt;
    o.order_id&lt;br&gt;
FROM customers c&lt;br&gt;
FULL OUTER JOIN orders o&lt;br&gt;
    ON c.customer_id = o.customer_id;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I Understand Joins&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Joins are about relationships.&lt;br&gt;
If two tables share a key, a join lets you bring their data together into one meaningful result.&lt;/p&gt;

&lt;p&gt;Without joins, working with relational databases would be extremely limited.&lt;/p&gt;

&lt;h2&gt;
  
  
  Part 2: Window Functions
&lt;/h2&gt;

&lt;p&gt;Window functions are more advanced and extremely powerful.&lt;/p&gt;

&lt;p&gt;Unlike GROUP BY, window functions do not collapse rows. Instead, they perform calculations across a set of rows related to the current row.&lt;/p&gt;

&lt;p&gt;That “set of rows” is called a window.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic Syntax&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;FUNCTION_NAME() OVER (&lt;br&gt;
    PARTITION BY column&lt;br&gt;
    ORDER BY column&lt;br&gt;
)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;•PARTITION BY → splits data into groups&lt;br&gt;
•ORDER BY → defines row order inside each group&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Window Functions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. ROW_NUMBER()&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Assigns a unique number to each row.&lt;br&gt;
&lt;code&gt;SELECT &lt;br&gt;
    customer_id,&lt;br&gt;
    order_id,&lt;br&gt;
    ROW_NUMBER() OVER (&lt;br&gt;
        PARTITION BY customer_id&lt;br&gt;
        ORDER BY order_date DESC&lt;br&gt;
    ) AS row_num&lt;br&gt;
FROM orders;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This ranks each customer’s orders from newest to oldest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. RANK()&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Assigns ranking, but allows ties.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT &lt;br&gt;
    product_id,&lt;br&gt;
    revenue,&lt;br&gt;
    RANK() OVER (&lt;br&gt;
        ORDER BY revenue DESC&lt;br&gt;
    ) AS revenue_rank&lt;br&gt;
FROM products;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. SUM() as a Window Function&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;SELECT &lt;br&gt;
    customer_id,&lt;br&gt;
    order_date,&lt;br&gt;
    amount,&lt;br&gt;
    SUM(amount) OVER (&lt;br&gt;
        PARTITION BY customer_id&lt;br&gt;
        ORDER BY order_date&lt;br&gt;
    ) AS running_total&lt;br&gt;
FROM orders;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This calculates a running total per customer.&lt;/p&gt;

&lt;h2&gt;
  
  
  GROUP BY vs Window Functions
&lt;/h2&gt;

&lt;p&gt;GROUP BY reduces rows.&lt;br&gt;
Window functions keep all rows and add calculated columns.&lt;/p&gt;

&lt;p&gt;Example using GROUP BY:&lt;br&gt;
&lt;code&gt;SELECT &lt;br&gt;
    customer_id,&lt;br&gt;
    SUM(amount) AS total_spent&lt;br&gt;
FROM orders&lt;br&gt;
GROUP BY customer_id;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Example using Window Function:&lt;br&gt;
&lt;code&gt;SELECT &lt;br&gt;
    customer_id,&lt;br&gt;
    amount,&lt;br&gt;
    SUM(amount) OVER (PARTITION BY customer_id) AS total_spent&lt;br&gt;
FROM orders;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The second query keeps each order visible while still showing total spent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Joins and Window Functions Matter
&lt;/h2&gt;

&lt;p&gt;If you’re working in analytics (Power BI, Excel, SQL Server, PostgreSQL, etc.), these two skills are essential:&lt;br&gt;
•Joins help you combine datasets.&lt;br&gt;
•Window functions help you analyze patterns within those datasets.&lt;/p&gt;

&lt;p&gt;In real-world analysis:&lt;br&gt;
•You join sales with customers.&lt;br&gt;
•You calculate rankings.&lt;br&gt;
•You create running totals.&lt;br&gt;
•You detect duplicates.&lt;br&gt;
•You identify top-performing products.&lt;/p&gt;

&lt;p&gt;These are daily tasks for data analysts and backend engineers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary of Key Points
&lt;/h2&gt;

&lt;p&gt;1.Joins combine data from multiple tables using related columns.&lt;br&gt;
2.INNER JOIN returns matching records only.&lt;br&gt;
3.LEFT JOIN keeps all records from the left table.&lt;br&gt;
4.Window functions perform calculations without grouping rows.&lt;br&gt;
5.PARTITION BY divides data into logical groups.&lt;br&gt;
6.Window functions are powerful for ranking, running totals, and advanced analytics.&lt;/p&gt;

&lt;p&gt;If you truly understand Joins and Window Functions, you’ve crossed an important milestone in SQL mastery.&lt;/p&gt;

&lt;p&gt;Joins teach you how data connects.&lt;br&gt;
Window functions teach you how data behaves.&lt;/p&gt;

&lt;p&gt;Master both — and you unlock advanced analytics capabilities that tools like Power BI and Tableau rely on under the hood.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How Analysts Translate Messy Data, DAX, and Dashboards into Action Using Power BI</title>
      <dc:creator>Barbara Morara</dc:creator>
      <pubDate>Mon, 09 Feb 2026 11:33:00 +0000</pubDate>
      <link>https://dev.to/moraraba1/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-2ahn</link>
      <guid>https://dev.to/moraraba1/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-2ahn</guid>
      <description>&lt;p&gt;In today’s information-driven world, lack of information is not what hurts the organization; what hurts the organization is how it interprets the information it has. As discussed, raw data is incomplete, inconsistent, and scattered across many sources, and here is where Power BI analysts come in.&lt;/p&gt;

&lt;p&gt;While it is a visualization tool, it is more than that. Used well, Power BI is a decision-making machine that turns chaotic data into insights that leaders can act upon. In a sense, this article is a presentation of how analysts can use data cleaning, data analysis expression, and data visualization to drive business decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. From Messy Data to Reliable Information
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Reality of Raw Data&lt;/strong&gt;: &lt;br&gt;
In actual businesses, data is never clean:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Missing Values&lt;/li&gt;
&lt;li&gt;Similar Records&lt;/li&gt;
&lt;li&gt;Misdated Information&lt;/li&gt;
&lt;li&gt;Inconsistent use of names (e.g. "Nairobi", "NRB","Nai")&lt;/li&gt;
&lt;li&gt;Negative Prices/Unrealistic Discounts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this data is analyzed without cleaning, decisions made from the analysis will be wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How analysts utilize Power BI to remedy this problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Analysts can leverage Power Query for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remove Duplicates and Errors&lt;/li&gt;
&lt;li&gt;Handle missing values logically&lt;/li&gt;
&lt;li&gt;Standardized Columns &amp;amp; Formats&lt;/li&gt;
&lt;li&gt;Merge data from various sources (e.g., Excel, database, API)
&lt;strong&gt;Business Impact&lt;/strong&gt;: Clean data helps to promote trust. Managerial decisions are easier to make with accurate reports.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Converting Data to Meaning with DAX
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is DAX really used for?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DAX, or Data Analysis Expressions, is less about complex formula writing and more about the articulation of business logic.&lt;br&gt;
Analysts use DAX to answer questions like the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are total sales this month vs. last month?&lt;/li&gt;
&lt;li&gt;Which are the growing and which are the declining products?&lt;/li&gt;
&lt;li&gt;What is the average time of delivery?&lt;/li&gt;
&lt;li&gt;Do discounts affect the profit?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example of business logic with DAX&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of just showing the numbers of sales, analysts produce:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;YTD Sales&lt;/li&gt;
&lt;li&gt;Profit margins&lt;/li&gt;
&lt;li&gt;Percentages of growth&lt;/li&gt;
&lt;li&gt;Performance rankings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Business impacts&lt;/strong&gt;: DAX changes raw numbers into KPIs, which are understood and used by the executives.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Dashboards that Tell a Story, Not Just Show Charts
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Why Dashboards Matter&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A good dashboard should answer questions at a glance:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is going on?&lt;/li&gt;
&lt;li&gt;Why is it happening?&lt;/li&gt;
&lt;li&gt;What should we do next?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Analysts create dashboards with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear KPIs (Sales, Profit, Growth&lt;/li&gt;
&lt;li&gt;Filters (Date, Region, Product)&lt;/li&gt;
&lt;li&gt;Trends and comparisons&lt;/li&gt;
&lt;li&gt;Alerts for poor performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Business Impact&lt;/strong&gt;: Decision-makers save time and act faster, as dashboards are intuitive and focused&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Translating Insights into Action
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Power BI in real business decisions&lt;/strong&gt;&lt;br&gt;
Power BI insights lead to actions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Increasing stock levels for high-performing products&lt;/li&gt;
&lt;li&gt;Cutting down on discounts affecting profit&lt;/li&gt;
&lt;li&gt;Determining the underperforming&lt;/li&gt;
&lt;li&gt;Improving delivery timelines&lt;/li&gt;
&lt;li&gt;Adjusting sales strategies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A dashboard indicates:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sales are strong, but profit is declining&lt;/li&gt;
&lt;li&gt;DAX shows heavy discounting in one region&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Action:&lt;/strong&gt;Management adjusts pricing strategy to increase profitability. &lt;br&gt;
**Business Impact: **Power BI helps organizations act, not just observe.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Why Power BI Analysts Are Valuable
&lt;/h2&gt;

&lt;p&gt;Those working in power BI analytics occupy an intermediate position between data and decision-makers. The value they offer lies in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding Business Problems&lt;/li&gt;
&lt;li&gt;Correctly clean and model the data&lt;/li&gt;
&lt;li&gt;Writing Meaningful DAX Measures&lt;/li&gt;
&lt;li&gt;Designing dashboards that communicate clearly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They don't simply build reports; they build better decisions.&lt;/p&gt;

&lt;p&gt;Power BI is more than just a technical tool. When used well, it can become a bridge between messy data and action-worthy meaning. Data cleaning, calculations in DAX, and dashboards all help create a better future for an organization, whether that future is full of opportunities or threats.&lt;br&gt;
In a world full of data, the true power is in making an impact from the insights, and Power BI offers just that&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>data</category>
      <category>datascience</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Understanding Schemas and Data Modelling in Power BI</title>
      <dc:creator>Barbara Morara</dc:creator>
      <pubDate>Mon, 02 Feb 2026 13:55:50 +0000</pubDate>
      <link>https://dev.to/moraraba1/understanding-schemas-and-data-modelling-in-power-bi-31on</link>
      <guid>https://dev.to/moraraba1/understanding-schemas-and-data-modelling-in-power-bi-31on</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Power BI is a powerful business intelligence tool that enables users to convert raw data into useful insights using interactive reports and dashboards. Nevertheless, the quality, performance, and accuracy of Power BI reports greatly rely on the way the data is modelled.&lt;br&gt;
Data modelling is the process of structuring the data into tables, specifying the relationships between the tables, and selecting the correct schema. This article discusses the key concepts of data modelling for Power BI, which include schema, fact tables, dimension tables, relationships, star schema, and snowflake schema.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Data Modelling in Power BI?
&lt;/h2&gt;

&lt;p&gt;Data modelling in Power BI is defined as the process of organizing and structuring data in such a way that it can be easily analyzed and reported on. Data modelling in Power BI comprises:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Organizing the data in a logical table structure&lt;/li&gt;
&lt;li&gt;Establishing relationships between the tables&lt;/li&gt;
&lt;li&gt;Selecting the most appropriate schema&lt;/li&gt;
&lt;li&gt;Ensuring the accuracy and efficiency of the data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data modelling in Power BI helps in creating reports that are not only efficient but also easier to understand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fact Tables&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A fact table holds data that is measurable and can be analyzed. This data is usually in numbers and is quite large in size.&lt;br&gt;
Examples of data in a fact table:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales value&lt;/li&gt;
&lt;li&gt;Number of units sold&lt;/li&gt;
&lt;li&gt;Profit&lt;/li&gt;
&lt;li&gt;Discount
Fact tables usually have foreign keys that refer to dimension tables.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Dimension Tables&lt;/strong&gt;&lt;br&gt;
A dimension table holds data that describes the data in the fact table. &lt;/p&gt;

&lt;p&gt;Examples of data in a dimension table:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Customer name&lt;/li&gt;
&lt;li&gt; Product category &lt;/li&gt;
&lt;li&gt;Date&lt;/li&gt;
&lt;li&gt;Region or location
Dimension tables are smaller and hold text data.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Relationships in Power BI
&lt;/h2&gt;

&lt;p&gt;Relationships describe how tables are related in a data model. Power BI uses these relationships to merge data from different tables during analysis.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Types of Relationships
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;One-to-Many (1:*) – Most common (e.g., one customer → many sales)&lt;/li&gt;
&lt;li&gt;One-to-One (1:1) – Rare&lt;/li&gt;
&lt;li&gt;Many-to-Many (:) – Used cautiously&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Relationship Direction
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Single direction (recommended for simplicity and performance)&lt;/li&gt;
&lt;li&gt;Both directions (can cause ambiguity if misused)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Well-defined relationships are essential to ensure correct calculations and avoid incorrect aggregations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Schemas in Data Modelling
&lt;/h2&gt;

&lt;p&gt;A schema is a method of organizing tables and relationships in a data model. The two most common schemas used in Power BI are Star Schema and Snowflake Schema.&lt;/p&gt;

&lt;h2&gt;
  
  
  Star Schema
&lt;/h2&gt;

&lt;p&gt;A star schema is a data model that has a central fact table directly linked to multiple dimension tables. The data model looks like a star.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features of Star Schema&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There is only one fact table in the schema.&lt;/li&gt;
&lt;li&gt;The dimension tables are not linked to each other.&lt;/li&gt;
&lt;li&gt;The schema is simple and easy to understand.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Benefits of Star Schema&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It has faster query execution times.&lt;/li&gt;
&lt;li&gt;DAX calculations are simpler.&lt;/li&gt;
&lt;li&gt;It is easier to maintain.&lt;/li&gt;
&lt;li&gt;Recommended by Microsoft for Power BI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Example&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;FactSales&lt;/li&gt;
&lt;li&gt;DimCustomer&lt;/li&gt;
&lt;li&gt;DimProduct&lt;/li&gt;
&lt;li&gt;DimDate&lt;/li&gt;
&lt;li&gt;DimRegion&lt;/li&gt;
&lt;li&gt;DimRegion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each dimension table is directly linked to the fact table.&lt;/p&gt;

&lt;h2&gt;
  
  
  Snowflake Schema
&lt;/h2&gt;

&lt;p&gt;A snowflake schema is an extension of the star schema where the dimension tables are further normalized into multiple related tables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Characteristics of Snowflake Schema&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dimension tables are divided into sub-dimension tables&lt;/li&gt;
&lt;li&gt;More complex structure&lt;/li&gt;
&lt;li&gt;Uses more relationships&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Advantages of Snowflake Schema&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduces data redundancy&lt;/li&gt;
&lt;li&gt;Saves storage space&lt;/li&gt;
&lt;li&gt;Disadvantages of Snowflake Schema&lt;/li&gt;
&lt;li&gt;Slower performance compared to star schema&lt;/li&gt;
&lt;li&gt;More complex relationships&lt;/li&gt;
&lt;li&gt;Difficult for a beginner to understand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Power BI, snowflake schemas are less preferred due to performance issues.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Star Schema&lt;/th&gt;
&lt;th&gt;Snowflake Schema&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Complexity&lt;/td&gt;
&lt;td&gt;Simple&lt;/td&gt;
&lt;td&gt;Complex&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;Faster&lt;/td&gt;
&lt;td&gt;Slower&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of Tables&lt;/td&gt;
&lt;td&gt;Fewer&lt;/td&gt;
&lt;td&gt;More&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ease of Use&lt;/td&gt;
&lt;td&gt;Very Easy&lt;/td&gt;
&lt;td&gt;Moderate to Difficult&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recommended in Power BI&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Rarely&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm243n9wxqhei63n3k6j9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm243n9wxqhei63n3k6j9.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Good Data Modelling Is Critical in Power BI&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Improves Performance&lt;br&gt;
Data modeling can improve query speed and minimize relationships, hence improving user experience through quicker report loading.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensures Accurate Reporting&lt;br&gt;
Good data modeling ensures that relationships are correct to avoid:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Double counting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Incorrect totals&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Misleading business decisions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simplifies DAX Calculations&lt;br&gt;
Star schema modeling simplifies DAX formula writing, reading, and debugging.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhances Scalability&lt;br&gt;
Data modeling can handle large volumes of data and can grow with business requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improves User Experience&lt;br&gt;
Data modeling can ensure that users can understand data correctly and slice it correctly for easier decision-making.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Best Practices for Data Modelling in Power BI&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use star schema modeling&lt;/li&gt;
&lt;li&gt;Dimension tables must be descriptive&lt;/li&gt;
&lt;li&gt;Avoid many-to-many relationships&lt;/li&gt;
&lt;li&gt;Use meaningful names&lt;/li&gt;
&lt;li&gt;Validate relationships&lt;/li&gt;
&lt;li&gt;Minimize bi-directional filter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data modeling is a critical aspect of successful Power BI reporting. Understanding different schemas, fact tables, dimension tables, and relationships enables analysts to create successful data models for Power BI reporting. Among different schemas, star schema modeling is highly recommended for use in Power BI reporting because of its simplicity and ability to improve query speed. By using good data modeling practices, users can unlock the full potential of Power BI reporting.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>data</category>
      <category>dataengineering</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Introduction to MS Excel for Data Analytics</title>
      <dc:creator>Barbara Morara</dc:creator>
      <pubDate>Wed, 28 Jan 2026 15:58:39 +0000</pubDate>
      <link>https://dev.to/moraraba1/introduction-to-ms-excel-for-data-analytics-2jlj</link>
      <guid>https://dev.to/moraraba1/introduction-to-ms-excel-for-data-analytics-2jlj</guid>
      <description>&lt;h2&gt;
  
  
  Beginner-friendly guide
&lt;/h2&gt;

&lt;p&gt;Microsoft Excel is one of the most widely used applications for data management. It is not necessary to be a programmer or a data scientist to begin analyzing data using Microsoft Excel. It has simple features such as tables, formulas, sorting, filtering, and charts that enable a beginner to understand the data, identify patterns, and make informed decisions.&lt;br&gt;
This article is intended to provide information on the application of MS Excel as a simple data analytics tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Data Analytics?
&lt;/h2&gt;

&lt;p&gt;Data analytics is the process of collecting, cleaning, organizing, and analyzing the data to extract valuable information.&lt;br&gt;
In simple words, data analytics helps us find answers to the following questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How many were sold?&lt;/li&gt;
&lt;li&gt;Which product performed the best?&lt;/li&gt;
&lt;li&gt;What is the total, average, or maximum value?
Excel assists us in finding the answers to these questions quickly and graphically.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started with MS Excel
&lt;/h2&gt;

&lt;p&gt;When you start Excel, you see a sheet consisting of rows (numbered on the left side) and columns (lettered on the top). The intersection of each row and column is called a cell.&lt;br&gt;
The most effective way to use Excel is when you organize your data in a table format.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmag6odriwss1ud5pxmu6.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmag6odriwss1ud5pxmu6.jpeg" alt=" " width="800" height="1422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This small data set will help us learn the basic concepts of data analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1d8d2htuvp0woaybbjyu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1d8d2htuvp0woaybbjyu.png" alt=" " width="598" height="627"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Basic Formulas in Excel
&lt;/h2&gt;

&lt;p&gt;One of the most powerful tools in Excel is the use of formulas. Formulas enable Excel to calculate data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Calculating Total Sales
&lt;/h2&gt;

&lt;p&gt;To calculate the total sales of each product:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add a new column and name it Total&lt;/li&gt;
&lt;li&gt;In the first cell of the Total column, type
&lt;code&gt;=B2*C2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Press Enter&lt;/li&gt;
&lt;li&gt;Drag the formula down to calculate the totals for the other products&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcbugyflpbtw21ui4cxt3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcbugyflpbtw21ui4cxt3.png" alt=" " width="647" height="652"&gt;&lt;/a&gt;&lt;br&gt;
This multiplies the quantity by the price.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Common Excel Functions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SUM Function&lt;/strong&gt;&lt;br&gt;
The SUM function is used to add total sales.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrxnealwv2795dirp3qr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrxnealwv2795dirp3qr.png" alt=" " width="547" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This gives the total sales amount.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Average Function&lt;/strong&gt;&lt;br&gt;
The AVERAGE function finds the average value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fugnez37mq1nv6uemuc4h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fugnez37mq1nv6uemuc4h.png" alt=" " width="683" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the average sales amount.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sorting Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sorting data helps you arrange information in a useful way.&lt;br&gt;
For instance, you can sort items from highest to lowest total sales as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the data&lt;/li&gt;
&lt;li&gt; Click Sort &amp;amp; Filter&lt;/li&gt;
&lt;li&gt;Select Sort Largest to Smallest&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykmup243yc0ugkie1gfv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykmup243yc0ugkie1gfv.png" alt=" " width="561" height="691"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This helps you identify the best-performing items.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Filtering Data&lt;/strong&gt;&lt;br&gt;
Filtering enables you to show data based on your needs.&lt;br&gt;
Example: Display products with a quantity above 8.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select your table&lt;/li&gt;
&lt;li&gt; Click Filter&lt;/li&gt;
&lt;li&gt;Use the drop-down arrows to apply conditions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3or7023kwbhnrqycy0xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3or7023kwbhnrqycy0xf.png" alt=" " width="561" height="719"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating Simple Charts&lt;/strong&gt;&lt;br&gt;
Charts enable you to visualize data and understand insights easily.&lt;br&gt;
To create a chart:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the data&lt;/li&gt;
&lt;li&gt; Click Insert&lt;/li&gt;
&lt;li&gt;Select a Column Chart or Bar Chart&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2dgi833ny1w9oe6nmqr.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2dgi833ny1w9oe6nmqr.jpeg" alt=" " width="800" height="1422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Excel is Good for Beginners in Data Analytics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Excel is good for beginners in data analytics because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It is easy to learn&lt;/li&gt;
&lt;li&gt;No programming skills are required &lt;/li&gt;
&lt;li&gt;Calculations are automatic&lt;/li&gt;
&lt;li&gt;Data visualization is easy&lt;/li&gt;
&lt;li&gt;It is used in most schools and work environments&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Microsoft Excel is a powerful data analysis tool that is also suitable for beginners. It is easy to learn and use, and its mastery will provide a good foundation for more advanced data analysis tools in the future.&lt;br&gt;
If you are a beginner in data analysis, then Excel is the best place to start.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>A Beginner’s Guide to Version Control with Git: Tracking, Pushing, and Pulling Code</title>
      <dc:creator>Barbara Morara</dc:creator>
      <pubDate>Sat, 17 Jan 2026 14:54:47 +0000</pubDate>
      <link>https://dev.to/moraraba1/a-beginners-guide-to-version-control-with-git-tracking-pushing-and-pulling-code-4j63</link>
      <guid>https://dev.to/moraraba1/a-beginners-guide-to-version-control-with-git-tracking-pushing-and-pulling-code-4j63</guid>
      <description>&lt;p&gt;A problem that programmers, especially beginners, often encounter is:&lt;br&gt;
you make changes to the code, something goes wrong, and you would like to go back to a previous state. That is where a “version control” tool comes in to help you.&lt;br&gt;
In this article, you will learn:&lt;br&gt;
-What version control is and why it is important&lt;br&gt;
-Git Changes Tracking&lt;br&gt;
-How to push code on GitHub&lt;br&gt;
-How to pull code from GitHub&lt;/p&gt;

&lt;p&gt;What Is Version Control?&lt;br&gt;
Version Control is the process wherein changes that have been made to files are tracked. With versioning, you have the ability to:&lt;br&gt;
-Record a history of your work&lt;br&gt;
-See what was changed and when&lt;br&gt;
-Restore previous versions of code &lt;br&gt;
-Work together with others without overwriting their work&lt;/p&gt;

&lt;p&gt;What Is Git?&lt;br&gt;
Git is a version control system that you install and operate from your computer. It assists you with:&lt;br&gt;
-Monitoring changes made in files&lt;br&gt;
-Save copies of your project (known as "commits")&lt;br&gt;
-Working Offline&lt;br&gt;
-Manage your project effectively&lt;br&gt;
Git operates locally. This means all the changes occur on your personal machine.&lt;/p&gt;

&lt;p&gt;What Is GitHub?&lt;br&gt;
GitHub is an online hosting service used for storing Git repositories. It enables you to:&lt;br&gt;
-Online code backups&lt;br&gt;
-Collaborate on projects with others&lt;br&gt;
-Work together on team projects&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Git Concepts for Beginners
&lt;/h2&gt;

&lt;p&gt;Repository (Repo): A project folder managed with Git&lt;br&gt;
Commit: A saved snapshot of changes&lt;br&gt;
Staging Area: This refers to where changes to be committed to the project's source code will be&lt;br&gt;
Push: Code Uploads to GitHub&lt;br&gt;
Pull: Downloading updated code from GitHub&lt;/p&gt;

&lt;h2&gt;
  
  
  Tracking Changes with Git
&lt;/h2&gt;

&lt;p&gt;To see the state of your files, use:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This indicates which files have been updated or are ready to be committed.&lt;/p&gt;

&lt;p&gt;To prepare files for saving, add them to the staging area:&lt;br&gt;
&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To save the changes permanently, create a commit:&lt;br&gt;
&lt;code&gt;git commit -m "Describe what changed"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In a commit message, you should describe the update you implemented.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pushing Code to GitHub
&lt;/h2&gt;

&lt;p&gt;After committing, however, your changes exist only on your own computer.&lt;br&gt;
To upload the files to GitHub,use:&lt;br&gt;
&lt;code&gt;git push&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pulling Code from GitHub
&lt;/h2&gt;

&lt;p&gt;If an update is done on GitHub, the local project could become stale. &lt;br&gt;
To update it, run:&lt;br&gt;
&lt;code&gt;git pull&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Git can appear intimidating at first, but learning the fundamentals of version control, change tracking, pushing, and pulling code can make development a much safer and more organized process. Git can become a powerful and very simple tool if you practice using it frequently.&lt;/p&gt;

&lt;p&gt;Happy coding &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>git</category>
      <category>github</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
