<?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: LILIAN GATHONI</title>
    <description>The latest articles on DEV Community by LILIAN GATHONI (@lilian_gathoni).</description>
    <link>https://dev.to/lilian_gathoni</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%2F3709638%2F30a36941-8f20-42d2-8603-805cd7da4ba9.jpeg</url>
      <title>DEV Community: LILIAN GATHONI</title>
      <link>https://dev.to/lilian_gathoni</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lilian_gathoni"/>
    <language>en</language>
    <item>
      <title>Translating Messy Data, DAX, and Dashboards into Actions Using Power BI</title>
      <dc:creator>LILIAN GATHONI</dc:creator>
      <pubDate>Sun, 08 Feb 2026 00:38:12 +0000</pubDate>
      <link>https://dev.to/lilian_gathoni/translating-messy-data-dax-and-dashboards-into-actions-using-power-bi-1lc8</link>
      <guid>https://dev.to/lilian_gathoni/translating-messy-data-dax-and-dashboards-into-actions-using-power-bi-1lc8</guid>
      <description>&lt;p&gt;Messy data often refers to data that is disorganized, inconsistent, or inaccurate, and tends to make analysis quite difficult. &lt;br&gt;
However, if you think about it, the information from that data often has the power to drive insights, provide solutions, or guide business processes in an organization. Intriguing right?&lt;br&gt;
Let me walk you through a step-by-step guide on transforming data into actionable insights using Power BI, and by the end of it, Power BI will be one of your best business intelligence tools.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To start off we shall assume we have hypothetical data for a shoe business. In addition to all the data from the different departments has been given&lt;/em&gt;&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%2Fa7fdyld7dpc85zfowm59.jpg" 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%2Fa7fdyld7dpc85zfowm59.jpg" alt=" " width="720" height="1276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Establishing where data should be used
&lt;/h2&gt;

&lt;p&gt;This is referred to as establishing a domain where data is needed by obtaining the data specific to the domain you want to extract insights from.&lt;br&gt;
Data may come in different forms, such as structured data, semi-structured, and unstructured data &lt;br&gt;
Structured data is data organized in a rather specific format, that is, tables with rows and columns.&lt;br&gt;
Semi-structured data is data that has self-defining structure and does not confirm to formal structured data &lt;br&gt;
eg. HTML,jSON&lt;br&gt;
Unstructured data is data without structure ie; videos, audios, and images.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For our shoe business, we shall ensure that we collect all our structured data from the sales department to perform an analysis for the sales of the different shoes in the department.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Modelling
&lt;/h2&gt;

&lt;p&gt;After identifying data that is specific to our domain, the next step is to organize the different data obtained in a manner that supports dashboarding and getting insights.&lt;br&gt;
Modelling involves the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Transforming and cleaning of data&lt;/li&gt;
&lt;li&gt;Defining data &lt;/li&gt;
&lt;li&gt;Organizing data
Power Query is the tool used to transform, clean, and define data.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Transforming Data
&lt;/h3&gt;

&lt;p&gt;The process involves cleaning data. This can be done through formatting to remove duplicates, removing blanks and errors from your data, and finally trimming using the trimming functions to remove unnecessary space.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For our make-shift data, missing text data shall be filled in with pseudo blanks and using the &lt;code&gt;trim(specific text)&lt;/code&gt;, all unnecessary spaces in the text data shall be removed.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Defining data
&lt;/h3&gt;

&lt;p&gt;In Power bi we have different data types that are &lt;strong&gt;Text, decimal, whole number, date and time, binary, time, and boolean&lt;/strong&gt;.&lt;br&gt;
It is important to ensure that the different data in the table is defined by its data type within each table.&lt;br&gt;
This is done through changing the data type option in Power Query.&lt;br&gt;
The process involves right-clicking on a selected column, then selecting the change type option, and finally selecting the correct data type for the data in the column.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For the sales shoe data set, we shall ensure that the name of the shoe and the shoe id are in the text data type. Order date is in the date data type, and the shoe price or any discount given is given in the numeric and decimal values, respectively.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Organizing data
&lt;/h3&gt;

&lt;p&gt;This refers to the use of schemas to create a data model. For one to establish a good schema, relationships within the data have to be established between the fact tables and the dimensional tables, and connections made to ensure proper efficiency and performance.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For our shoe data, we shall establish a star schema with the fact table containing the Sales ID, Order ID, Location ID, shoe price, discount amoun,t and shipping costs.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Analysis
&lt;/h2&gt;

&lt;p&gt;Analysis is more or less an interpretation of data to answer questions that are relevant to a given business or organization.&lt;br&gt;
To carry out analysis, we use &lt;strong&gt;DAX expressions&lt;/strong&gt;.&lt;br&gt;
DAX is the formal language used in Power Bi that allows us to carry out calculations.&lt;br&gt;
Some functions in DAX include &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Aggregate functions, e.g., the &lt;code&gt;sum(shoe price)&lt;/code&gt;, &lt;code&gt;average(discount amount)&lt;/code&gt;, are used to get the KPI measures for different data.&lt;/li&gt;
&lt;li&gt;Logical functions like the &lt;code&gt;if()&lt;/code&gt; are used to filter out data to get specific metrics necessary to answer stakeholder information.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Visualization and dashboarding
&lt;/h2&gt;

&lt;p&gt;Naturally, human beings tend to be inclined to visuals as they are easier to understand, thus making data visualization an important part of business intelligence.&lt;br&gt;
Data visualization entails the representation of information in charts and graphs or maps in order to highlight trends and patterns.&lt;br&gt;
The visualizations are all assembled at a centralized point to create a dashboard that provides an overall view of the business.&lt;br&gt;
They tell a story of the business and make it easy for even the not technical people to follow along.&lt;br&gt;
For example,&lt;br&gt;
** For our hypothetical data, we can come up with charts such as the line graph to show trends of shoe sales over the year, a column chart to highlight the top 1o shoes with the highest revenue, or a map showing the amount of revenue generated for sales in different locations across the country**&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%2Fdghd1uggypc4bh8els86.jpg" 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%2Fdghd1uggypc4bh8els86.jpg" alt=" " width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creating the dashboard, questions like what happened and why it happened are answered. From this, we move to what to do next, which are the insights and actions necessary to make any changes or improvements required.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For example, from our shoe data, the question would be like what measures should be taken to improve revenue base don the data.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In conclusion&lt;/strong&gt;, we were able to move our messy data to give us insights that prompt improvements within the business by cleaning, modelling, analysing, and visualizing data.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>datascience</category>
      <category>microsoft</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Data Modelling in Power Bi for Beginners.</title>
      <dc:creator>LILIAN GATHONI</dc:creator>
      <pubDate>Tue, 03 Feb 2026 03:32:30 +0000</pubDate>
      <link>https://dev.to/lilian_gathoni/data-modelling-in-power-bi-for-beginners-550n</link>
      <guid>https://dev.to/lilian_gathoni/data-modelling-in-power-bi-for-beginners-550n</guid>
      <description>&lt;p&gt;When I first heard of data modelling in Power Bi it sounded like such a complex concept that came off intimidating, but fear not. In this article, I shall walk you through data modelling and its key concepts, schemas, and the different types of schemas, and lastly, the importance of data modelling. &lt;/p&gt;

&lt;h3&gt;
  
  
  Definitions
&lt;/h3&gt;

&lt;h2&gt;
  
  
  Data Model
&lt;/h2&gt;

&lt;p&gt;A data model is a collection of data, calculations, and formatting rules that are combined to create an object that can be used to create a better understanding of an existing datasetas the data can be explored and queried.&lt;/p&gt;

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

&lt;p&gt;It involves the combination of data and measures that becomes your data model. This is done through creating a visual representation of either a whole information system or parts of it to communicate connections between data points and structures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Components of Data Modelling
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Tables
&lt;/h3&gt;

&lt;p&gt;They are objects used to store and organize data. For a data model in Power BI we have different types of tables.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Fact table
&lt;/h4&gt;

&lt;p&gt;Typically, the main table in a Power BI data model consists of quantitative data about different processes. &lt;br&gt;
 &lt;em&gt;eg: product prices in a sales dataset&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Dimensional Tables
&lt;/h4&gt;

&lt;p&gt;This stores qualitative attributes about business or different processes.&lt;br&gt;
&lt;em&gt;eg Name of the product, location of sale&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Relationships
&lt;/h3&gt;

&lt;p&gt;Relationships can be described as the connection of different tables in one model by use of one common column. Relationships are important because they allow analysis of data from different tables.&lt;br&gt;
In data Modelling in Power Bi we have different types of relationships&lt;/p&gt;

&lt;h4&gt;
  
  
  1. One-to-one relationship
&lt;/h4&gt;

&lt;p&gt;This is when a single entity in one table matches exactly 1 entity in another table.&lt;br&gt;
&lt;em&gt;eg a sales table linked to an inventory table through a column like product_id&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2. One-to-many relationships
&lt;/h4&gt;

&lt;p&gt;A single entity in one table matches multiple entities in another table.&lt;br&gt;
eg. customer table connected to a sales table as a single customer may have multiple sales.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Many-to-many relationship
&lt;/h4&gt;

&lt;p&gt;Multiple rows in one table relate to multiple rows in another table.&lt;br&gt;
NB: A many-to-many relationship is complex and is not recommended for data modelling.&lt;/p&gt;

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

&lt;p&gt;This is the organization of data within a data model, which is the layout of tables within the the datamodel ie the fact tables and the dimensional tables in the model view.&lt;br&gt;
The primary types of schemas in data modelling include:-&lt;/p&gt;

&lt;h4&gt;
  
  
  Star schema
&lt;/h4&gt;

&lt;p&gt;This is the most efficient and preferred structure in Power Bi. It entails a central fact table surrounded by dimensional tables.&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%2Fgr0bbcrvtr1kkgbhog1f.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%2Fgr0bbcrvtr1kkgbhog1f.png" alt=" " width="272" height="185"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Snowflake schema
&lt;/h4&gt;

&lt;p&gt;This is a data modelling approach where dimensional tables in Power Bi are broken down into multiple related tables.&lt;br&gt;
&lt;em&gt;eg, separating sales persons by regions&lt;/em&gt;&lt;br&gt;
The table below shows a comparison between a snowflake schema and a star schema.&lt;br&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%2F4gxnsg99rfwam8f5vyku.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%2F4gxnsg99rfwam8f5vyku.png" alt=" " width="352" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  NB
&lt;/h4&gt;

&lt;p&gt;Even though a snowflake table may be useful in reducing data repetition, it's however, less ideal due to slow performance and complex DAX calculations. A star schema is most preferred instead.&lt;/p&gt;

&lt;h3&gt;
  
  
  Importance of Data Modelling
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;It ensures accuracy and integrity in data modelling.&lt;/li&gt;
&lt;li&gt;Enhances optimization of performance.&lt;/li&gt;
&lt;li&gt;It improves scalability and the overall performance of the data model.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Introduction to Gitbash and Github</title>
      <dc:creator>LILIAN GATHONI</dc:creator>
      <pubDate>Sun, 18 Jan 2026 08:03:21 +0000</pubDate>
      <link>https://dev.to/lilian_gathoni/introduction-to-gitbash-and-github-5gck</link>
      <guid>https://dev.to/lilian_gathoni/introduction-to-gitbash-and-github-5gck</guid>
      <description>&lt;h2&gt;
  
  
  Definitions
&lt;/h2&gt;

&lt;p&gt;Git is a widely used, free, and open-source system designed to handle projects of all sizes. It enables developers to track changes in code for development projects and also fosters collaboration.&lt;br&gt;
Bash is the name of a default shell in MacOs and Linux. &lt;br&gt;
This means that Gitbash is a command-line interface for Microsoft Windows that provides a Unix shell environment for using Git.&lt;br&gt;
Gitbash is locally installed on personal computers.&lt;br&gt;
GitHub is a cloud-based platform where we store, share, and work together with others to write code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation process of Gitbash
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Download the appropriate installer for your operating system from the official Git website. 
&lt;a href="https://git-scm.com/book/en/v2/Getting-Started-Installing-Git" rel="noopener noreferrer"&gt;git link&lt;/a&gt;
&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%2Fsq67j3hqz5rsd627l0sg.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%2Fsq67j3hqz5rsd627l0sg.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click on download and urn the downloaded executable file.&lt;/li&gt;
&lt;li&gt;Follow the prompts in the setup wizard and carry out the necessary configuration to install gitbash.&lt;/li&gt;
&lt;li&gt;Click install to complete the process.&lt;/li&gt;
&lt;li&gt;For verification whether the installation was done correctly, verification of the GitBash version is done on the command prompt using the code below. The correct output specifies the Git version downoaded;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;$ git --version&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The final step is to configureyour name and email address&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;$ git config --global user.name "name"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ git config --global user.email "email"&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Linking of Gitbash and GitHub account
&lt;/h4&gt;

&lt;p&gt;Linking the Git and GitHub accounts is done by adding an &lt;strong&gt;SSH key&lt;/strong&gt; to the GitHub account. This takes git to a higher level as it allows collaboration by team members, accessibility, and automation through a web-based platform&lt;/p&gt;

&lt;h2&gt;
  
  
  Pushing and Pulling code using git
&lt;/h2&gt;

&lt;p&gt;Git pulling refers to fetching the content from a remote repository and updating the content to match the local repository.&lt;/p&gt;

&lt;h4&gt;
  
  
  Pulling steps
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Make sure you are on the local branch you want to commit the change.&lt;/li&gt;
&lt;li&gt;Pull the changes by running the command below
&lt;code&gt;git pull&lt;/code&gt;
The git pull command is a combination of 2 commands;
&lt;code&gt;git fetch&lt;/code&gt;- This downloads content from the remote repository 
&lt;code&gt;git merge&lt;/code&gt;-It merges the new remote content into a new local merge commit 
3.Commit changes to push to repository&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Git push is uploading the local repository content to a remote repository&lt;br&gt;
Before pushing, it's necessary to ensure that you have a local repository with committed changes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Steps to git push
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Push committed changes using the &lt;code&gt;git push origin main&lt;/code&gt; command.
Origin refers to the default name of the remote repository and main refers to the name of the branch you are pushing to.&lt;/li&gt;
&lt;li&gt;Enter credentials when needed.&lt;/li&gt;
&lt;li&gt;Verify the push by refreshing your remote repository on github.&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%2F8q5xzwn0ykn1y0beftv7.webp" 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%2F8q5xzwn0ykn1y0beftv7.webp" alt=" " width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tracking changes
&lt;/h3&gt;

&lt;p&gt;This is done using 3 core commands.&lt;br&gt;
&lt;code&gt;git status&lt;/code&gt; - This command provides a summary of the state of your repository. It includes information on which files are modified, unmodified, untracked, or staged.&lt;br&gt;
&lt;code&gt;git add&lt;/code&gt; - Adds changes to your working area to your staging area, which is a picture of changes highlighted for the next commit.&lt;br&gt;
&lt;code&gt;git commit&lt;/code&gt; - Records the changes permanently in the local repository. The message displayed is a summary of the changes and the reasons behind them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Version control
&lt;/h3&gt;

&lt;p&gt;Version control is a system that records changes to a file or set of files over time, allowing recall of specific versions later.&lt;/p&gt;

&lt;h4&gt;
  
  
  Importance of version control
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;A complete long-term history of changes made in the file.&lt;/li&gt;
&lt;li&gt;Branching and merging- This allows individuals in a team to work on different streams of changes, and they can still merge the work afterwards.&lt;/li&gt;
&lt;li&gt;Can easily trace any changes made in the repository.&lt;/li&gt;
&lt;/ol&gt;

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