<?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: Sajjad Rahman</title>
    <description>The latest articles on DEV Community by Sajjad Rahman (@sajjadrahman56).</description>
    <link>https://dev.to/sajjadrahman56</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%2F905098%2Fdf184674-677d-46ab-aa2e-7cc7b1e07033.png</url>
      <title>DEV Community: Sajjad Rahman</title>
      <link>https://dev.to/sajjadrahman56</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sajjadrahman56"/>
    <language>en</language>
    <item>
      <title>📘 Master Note: The Hidden Mechanics of PCA &amp; ICA</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Sat, 04 Apr 2026 09:17:13 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/master-note-the-hidden-mechanics-of-pca-ica-34f5</link>
      <guid>https://dev.to/sajjadrahman56/master-note-the-hidden-mechanics-of-pca-ica-34f5</guid>
      <description>&lt;p&gt;Understanding Whitening, SVD, and the Math that Powers Dimensionality Reduction.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Part 1: The Big Picture (Intuition)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before diving into complex algorithms like ICA, we need to understand the "behind-the-scenes" heroes that prepare and decompose our data.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Whitening: The Essential Pre-step for ICA&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Whitening prepares your data so that all variables are uncorrelated and have equal variance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Goal:&lt;/strong&gt; Transform the data into a "decorrelated, equal-variance" form.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💡 The Intuition:&lt;/strong&gt; Imagine your data looks like a stretched, tilted "egg" (oval cloud).

&lt;ul&gt;
&lt;li&gt;After PCA: The egg is rotated straight.&lt;/li&gt;
&lt;li&gt;After Whitening: The egg becomes a perfect sphere.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Why bother?&lt;/strong&gt; ICA looks for independent signals. If data is already "spherical," ICA doesn't get distracted by the width or tilt of the data; it focuses entirely on finding non-Gaussian independence.&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. SVD: The Practical Engine of PCA&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;SVD is a mathematical powerhouse that decomposes any matrix $X$ into three parts:&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;X=UΣVT
X = U \Sigma V^T
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;U&lt;/span&gt;&lt;span class="mord"&gt;Σ&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;V&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;$U$&lt;/strong&gt;: Directions in data space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$\Sigma$&lt;/strong&gt;: The strengths (importance) of each direction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$V$&lt;/strong&gt;: The directions of the features (The Principal Components).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 2: The Mathematical Engine&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;How do we actually move from raw data to a "white" sphere or a PCA result?&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. The Whitening Transformation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If $X$ is your original centered data, we use the Eigenvalues ($D$) and Eigenvectors ($E$) to transform it:&lt;/p&gt;


&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;Xwhite=ED−1/2ETX
X_{white} = E D^{-1/2} E^T X
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;w&lt;/span&gt;&lt;span class="mord mathnormal mtight"&gt;hi&lt;/span&gt;&lt;span class="mord mathnormal mtight"&gt;t&lt;/span&gt;&lt;span class="mord mathnormal mtight"&gt;e&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;E&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;D&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord mtight"&gt;−&lt;/span&gt;&lt;span class="mord mtight"&gt;1/2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;E&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;The logic behind the math:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;$E^T$&lt;/strong&gt;: Rotates the data (PCA).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$D^{-1/2}$&lt;/strong&gt;: The "Magic Step." It scales every axis by its inverse standard deviation. It shrinks long axes and stretches short ones until they are equal.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. The SVD ↔ PCA Connection&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You can reach Principal Components via two paths, but they lead to the same destination:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Path A (Classical PCA):&lt;/strong&gt; Find Eigenvectors of the Covariance Matrix:

&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;C=VΛVTC = V \Lambda V^T
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;C&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;V&lt;/span&gt;&lt;span class="mord"&gt;Λ&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;V&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Path B (Modern SVD):&lt;/strong&gt; Decompose $X$ directly:

&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;X=UΣVTX = U \Sigma V^T
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;U&lt;/span&gt;&lt;span class="mord"&gt;Σ&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;V&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The "Aha!" Moment:&lt;/strong&gt;&lt;br&gt;
The $V$ in SVD is identical to the $V$ (Eigenvectors) in PCA. The Singular Values ($\sigma$) are the square roots of the Eigenvalues ($\lambda$):&lt;/p&gt;


&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;λi=σi2n
\lambda_i = \frac{\sigma_i^2}{n}
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;λ&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mopen nulldelimiter"&gt;&lt;/span&gt;&lt;span class="mfrac"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="frac-line"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;σ&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mclose nulldelimiter"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  &lt;strong&gt;Part 3: Performance &amp;amp; Comparisons&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Why use SVD instead of Classical PCA?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In real-world data science, SVD is the industry standard for computing PCA.&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;Covariance (Classical)&lt;/th&gt;
&lt;th&gt;SVD (Modern)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Memory&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Requires $XX^T$ (can be massive)&lt;/td&gt;
&lt;td&gt;Works directly on $X$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Precision&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Squaring numbers loses small details&lt;/td&gt;
&lt;td&gt;Keeps high numerical precision&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Stability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Prone to rounding errors&lt;/td&gt;
&lt;td&gt;Highly stable and robust&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🧠 Final Logic Map (Summary)&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Step 1:&lt;/strong&gt; Use &lt;strong&gt;SVD&lt;/strong&gt; to find the "skeleton" (Principal Components) of your data efficiently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step 2:&lt;/strong&gt; Apply &lt;strong&gt;Whitening&lt;/strong&gt; to turn your data cloud into a perfect sphere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step 3:&lt;/strong&gt; Run &lt;strong&gt;ICA&lt;/strong&gt; on that sphere to find hidden, independent signals.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🔥 Quick Memory:&lt;/strong&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Whitening:&lt;/strong&gt; "Make it a sphere before ICA."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SVD:&lt;/strong&gt; "The efficient engine that makes PCA work in the real world."&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

</description>
      <category>data</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>ai</category>
    </item>
    <item>
      <title>📘 The Science of Un-Mixing Data (PCA &amp; ICA)</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Sat, 04 Apr 2026 09:09:50 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/the-science-of-un-mixing-data-pca-ica-3775</link>
      <guid>https://dev.to/sajjadrahman56/the-science-of-un-mixing-data-pca-ica-3775</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Part 1: The Math Toolbox (Prerequisites)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before we can understand PCA and ICA, we need to understand the tools they use. Think of these as the "rules of the game" for handling data.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Basic Concepts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Matrix (The Table):&lt;/strong&gt; Data is organized into a &lt;strong&gt;matrix&lt;/strong&gt;, which is just a giant grid of numbers. The &lt;strong&gt;columns&lt;/strong&gt; usually represent different types of measurements (like different microphones or cameras), and the &lt;strong&gt;rows&lt;/strong&gt; represent each specific moment in time we recorded.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Vector (The Arrow):&lt;/strong&gt; A single row or column from that table is called a &lt;strong&gt;vector&lt;/strong&gt;. Mathematically, a vector is like an arrow pointing to a specific spot in a multi-dimensional space.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Inner Product (The Shadow):&lt;/strong&gt; This is a way to multiply two vectors together. It tells us how much one vector "overlaps" with another. We use this to &lt;strong&gt;project&lt;/strong&gt; our data onto new axes to see it from a better angle.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Basis Vectors (The Directions):&lt;/strong&gt; These are the "original" directions we use to measure things, like the X and Y axes on a graph.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔹 Statistical Concepts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Covariance (Redundancy):&lt;/strong&gt; This measures how much two measurements "change together". If Measurement A always goes up when Measurement B goes up, they are &lt;strong&gt;redundant&lt;/strong&gt; (highly correlated), meaning we don't really need both.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;strong&gt;Covariance Equation (Added, not replacing anything):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;cov(A,B)=1n∑aibi
\text{cov}(A,B) = \frac{1}{n} \sum a_i b_i
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord text"&gt;&lt;span class="mord"&gt;cov&lt;/span&gt;&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mord mathnormal"&gt;A&lt;/span&gt;&lt;span class="mpunct"&gt;,&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;B&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mopen nulldelimiter"&gt;&lt;/span&gt;&lt;span class="mfrac"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="frac-line"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mclose nulldelimiter"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mop op-symbol large-op"&gt;∑&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;a&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;b&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;





&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Gaussian Distribution (The Bell Curve):&lt;/strong&gt; This is a smooth, bell-shaped curve that represents "randomness" or "noise". The &lt;strong&gt;Central Limit Theorem&lt;/strong&gt; says that if you mix many different signals together, the result will always look like a Gaussian bell curve.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Kurtosis (The Peakedness):&lt;/strong&gt; This is a math score that measures how "sharp" or "peaked" a distribution of numbers is. A high kurtosis means the data has a sharp point, while a Gaussian curve has a kurtosis of zero.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 2: PCA (Principal Component Analysis)&lt;/strong&gt;
&lt;/h2&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;The Goal&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Goal:&lt;/strong&gt; To simplify a giant pile of data by finding the "best angle" to look at it.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;How it Works&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt; PCA looks at the &lt;strong&gt;Covariance Matrix&lt;/strong&gt; of the data to find where the measurements are repeating each other.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Eigenvectors and Eigenvalues:&lt;/strong&gt; PCA calculates special directions called &lt;strong&gt;eigenvectors&lt;/strong&gt;. The "largest" eigenvector points in the direction where the most "action" (variance) is happening.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Core Equation (Added)&lt;/strong&gt;
&lt;/h2&gt;


&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;P=D⋅E
P = D \cdot E
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;P&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;D&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mbin"&gt;⋅&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;E&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;(D): data matrix&lt;/li&gt;
&lt;li&gt;(E): eigenvectors of covariance&lt;/li&gt;
&lt;li&gt;(P): principal components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Covariance becomes &lt;strong&gt;diagonal&lt;/strong&gt; after PCA&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Key Properties&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dimensionality Reduction:&lt;/strong&gt; By ignoring the tiny eigenvectors (which usually represent noise) and keeping only the big ones, we can make a huge data set much smaller without losing the important stuff.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Rule of Orthogonality:&lt;/strong&gt; In PCA, the new axes we find must always be &lt;strong&gt;orthogonal&lt;/strong&gt;—which is a fancy way of saying they must be at &lt;strong&gt;90-degree right angles&lt;/strong&gt; to each other.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Algorithm Steps (Added Section)&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  PCA Steps
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Center data (mean = 0)&lt;/li&gt;
&lt;li&gt;Compute covariance matrix&lt;/li&gt;
&lt;li&gt;Find eigenvectors&lt;/li&gt;
&lt;li&gt;Project data&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Why PCA Can Fail (Added Section)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;👉 PCA fails when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data is &lt;strong&gt;non-linear&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Or variance ≠ true structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ferris wheel → PCA cannot find circular motion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Add this line:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;PCA only captures &lt;strong&gt;linear structure&lt;/strong&gt;, ICA can handle more complex separation.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 3: ICA (Independent Component Analysis)&lt;/strong&gt;
&lt;/h2&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;The Goal&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Goal:&lt;/strong&gt; To solve the &lt;strong&gt;"Cocktail Party Problem"&lt;/strong&gt;—taking a messy mixture of signals and separating them into their original, clear sources.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;How it Works&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Blind Source Separation:&lt;/strong&gt; ICA is used when we have mixtures (like two microphones recording two people) but we don't know exactly how they were mixed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Weight Matrix ($W$):&lt;/strong&gt; ICA tries to find a mathematical "unmixing" tool called a &lt;strong&gt;weight matrix&lt;/strong&gt;. When we multiply our messy data by this matrix, the original signals should pop out.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Core Equation (Added)&lt;/strong&gt;
&lt;/h2&gt;


&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;Y=X⋅W
Y = X \cdot W
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;Y&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mbin"&gt;⋅&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;W&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;(X): mixed signals&lt;/li&gt;
&lt;li&gt;(W): unmixing matrix&lt;/li&gt;
&lt;li&gt;(Y): independent sources&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This is &lt;strong&gt;THE most important ICA equation&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Key Concepts&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Search for Independence:&lt;/strong&gt; ICA is stricter than PCA. It doesn't just want the data to be "not repeating"; it wants the signals to be &lt;strong&gt;statistically independent&lt;/strong&gt;, meaning what happens in one signal tells you absolutely nothing about the other.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Non-Gaussianity (The Secret Trick):&lt;/strong&gt; Because mixed-up signals look like smooth bell curves, ICA rotates the data until it finds the directions with &lt;strong&gt;maximum kurtosis&lt;/strong&gt; (the most peaked shapes). A sharp peak usually means you've found a pure, unmixed source.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Improved understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mixtures → Gaussian (Central Limit Theorem)&lt;/li&gt;
&lt;li&gt;Sources → non-Gaussian (peaked)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Key idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ICA works because &lt;strong&gt;mixing makes data Gaussian, so unmixing looks for non-Gaussian signals&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexibility:&lt;/strong&gt; Unlike PCA, the axes in ICA do &lt;strong&gt;not&lt;/strong&gt; have to be at right angles. They can point in any direction needed to find the sources.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Algorithm Steps (Added Section)&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ICA Steps
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Center + whiten data&lt;/li&gt;
&lt;li&gt;Initialize weights&lt;/li&gt;
&lt;li&gt;Maximize non-Gaussianity&lt;/li&gt;
&lt;li&gt;Iterate until convergence&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 4: PCA vs ICA (Added Comparison Table)&lt;/strong&gt;
&lt;/h2&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;PCA&lt;/th&gt;
&lt;th&gt;ICA&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Goal&lt;/td&gt;
&lt;td&gt;Max variance&lt;/td&gt;
&lt;td&gt;Independence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;Uncorrelated&lt;/td&gt;
&lt;td&gt;Independent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Axes&lt;/td&gt;
&lt;td&gt;Orthogonal&lt;/td&gt;
&lt;td&gt;Not required&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uses&lt;/td&gt;
&lt;td&gt;Compression&lt;/td&gt;
&lt;td&gt;Signal separation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Assumption&lt;/td&gt;
&lt;td&gt;Gaussian OK&lt;/td&gt;
&lt;td&gt;Non-Gaussian needed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;👉 Lecture explicitly says:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PCA → decorrelation&lt;/li&gt;
&lt;li&gt;ICA → independence (stronger)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 5: Why do we use these?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;These tools are used in many cool ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fetal Heart Monitoring:&lt;/strong&gt; Separating a baby's tiny heartbeat from the mother's much louder heartbeat.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EEG (Brain Waves):&lt;/strong&gt; Removing "trash" signals like eye blinks or heartbeats from recordings of brain activity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;fMRI (Brain Imaging):&lt;/strong&gt; Finding which specific parts of the brain are working together during a task.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Computer Vision:&lt;/strong&gt; Understanding how our eyes and brain recognize edges and shapes in the world around us.&lt;/li&gt;
&lt;/ol&gt;




</description>
      <category>machinelearning</category>
      <category>ai</category>
      <category>datascience</category>
      <category>data</category>
    </item>
    <item>
      <title>Stanford is Teaching the World to Code for Free!</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Wed, 25 Mar 2026 12:57:35 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/stanford-is-teaching-the-world-to-code-for-free-3hf5</link>
      <guid>https://dev.to/sajjadrahman56/stanford-is-teaching-the-world-to-code-for-free-3hf5</guid>
      <description>&lt;h2&gt;
  
  
  Learn Python from Stanford ** 🚀
&lt;/h2&gt;

&lt;p&gt;This isn't just a video course; it is a structured journey where you learn to build logic step-by-step with &lt;strong&gt;Chris and Mehran&lt;/strong&gt;. If you want to stop watching tutorials and start actually coding, here is why you should join &lt;strong&gt;&lt;a href="https://codeinplace.stanford.edu/public/join/cip6?r=ngqms6" rel="noopener noreferrer"&gt;Stanford’s Code in Place&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  What Makes This Course Unique?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Karel Phase:&lt;/strong&gt; You don't start with scary syntax. Instead, you command "Karel," a tiny robot, to master logic, loops, and problem-solving foundations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python Mastery:&lt;/strong&gt; The curriculum moves smoothly from basic Print and Input to advanced topics like control flow and graphics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creative Freedom:&lt;/strong&gt; You get to build your own projects, like a "Console" or the "Game of Nimm," giving you the confidence to create from scratch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data &amp;amp; Beyond:&lt;/strong&gt; You will master real-world techniques involving Lists, Dictionaries, and Graphics.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Best Part? The Community!
&lt;/h3&gt;

&lt;p&gt;You aren't learning alone. You are supported by a massive core team and amazing section leaders who help you at every step of the way. &lt;/p&gt;

&lt;h3&gt;
  
  
  Join the Movement!
&lt;/h3&gt;

&lt;p&gt;If you’re ready to take your first real step into programming, apply today. Use the link below to start your application:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Apply Now:&lt;/strong&gt; &lt;a href="https://codeinplace.stanford.edu/public/join/cip6?r=ngqms6" rel="noopener noreferrer"&gt;https://codeinplace.stanford.edu/public/join/cip6?r=ngqms6&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s learn and build together!&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>stanford</category>
      <category>python</category>
      <category>micropython</category>
    </item>
    <item>
      <title>Understanding cmd /c and cmd /k</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Wed, 07 Jan 2026 17:33:48 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/understanding-cmd-c-and-cmd-k-255</link>
      <guid>https://dev.to/sajjadrahman56/understanding-cmd-c-and-cmd-k-255</guid>
      <description>&lt;p&gt;When I started learning Command Prompt, I was very confused about &lt;code&gt;cmd /c&lt;/code&gt; and &lt;code&gt;cmd /k&lt;/code&gt;. Even after running the commands, everything looked the same, so I thought &lt;em&gt;nothing was executed&lt;/em&gt;. If you feel the same, this post is for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  First, understand this important point
&lt;/h3&gt;

&lt;p&gt;You are &lt;strong&gt;already inside a Command Prompt&lt;/strong&gt; when you see something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I:\ethical-test&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is your &lt;strong&gt;parent CMD&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What actually happens when you run &lt;code&gt;cmd /k dir&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cmd /k dir
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What it does step by step:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your current CMD starts a &lt;strong&gt;new CMD (child CMD)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The new CMD executes the &lt;code&gt;dir&lt;/code&gt; command&lt;/li&gt;
&lt;li&gt;Because of &lt;code&gt;/k&lt;/code&gt;, the new CMD &lt;strong&gt;stays open&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Since the path and prompt look the same, it &lt;strong&gt;appears unchanged&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;In reality, you are now inside the &lt;strong&gt;child CMD&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can prove this by typing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;exit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will take you back to the parent CMD.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens when you run &lt;code&gt;cmd /c echo hello&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cmd /c echo hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A new CMD opens&lt;/li&gt;
&lt;li&gt;It runs &lt;code&gt;echo hello&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Prints &lt;code&gt;hello&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Immediately closes the new CMD&lt;/li&gt;
&lt;li&gt;Control returns to the parent CMD&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s why you only see the output and nothing else.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this feels confusing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You are running &lt;strong&gt;CMD inside CMD&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Windows does not show any visual difference&lt;/li&gt;
&lt;li&gt;Same path, same prompt, same window&lt;/li&gt;
&lt;li&gt;Execution happens very fast&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So it &lt;em&gt;looks&lt;/em&gt; like nothing changed, but it actually did.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simple rule to remember
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;cmd&lt;/code&gt; → creates a new Command Prompt&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/k&lt;/code&gt; → run command and &lt;strong&gt;keep CMD open&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/c&lt;/code&gt; → run command and &lt;strong&gt;close CMD immediately&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Final takeaway
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;cmd /c&lt;/code&gt; and &lt;code&gt;cmd /k&lt;/code&gt; &lt;strong&gt;do work correctly&lt;/strong&gt;.&lt;br&gt;
The confusion happens because beginners usually run them &lt;strong&gt;inside an already opened CMD&lt;/strong&gt;, so the difference is not visually obvious.&lt;/p&gt;

&lt;p&gt;If you understand this, most CMD-related confusion disappears.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>cli</category>
      <category>microsoft</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Windows CMD – File &amp; Directory Management</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Wed, 07 Jan 2026 16:42:37 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/windows-cmd-file-directory-management-2nof</link>
      <guid>https://dev.to/sajjadrahman56/windows-cmd-file-directory-management-2nof</guid>
      <description>&lt;p&gt;Windows CMD – File &amp;amp; Directory Management&lt;/p&gt;

&lt;h2&gt;
  
  
  1️⃣ Directory Basics (&lt;code&gt;dir&lt;/code&gt;)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Show files and folders
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Important entries&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;.&lt;/code&gt; → current directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;..&lt;/code&gt; → parent directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;DIR&amp;gt;&lt;/code&gt; → folder&lt;/li&gt;
&lt;li&gt;File size shown in bytes&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2️⃣ Creating Files with &lt;code&gt;echo&lt;/code&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Create a file with text
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"sajjad"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Read file content
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"sajjad"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ⚠ Why quotes appear?
&lt;/h3&gt;

&lt;p&gt;Because quotes are &lt;strong&gt;literal characters&lt;/strong&gt; inside &lt;code&gt;echo&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;✔ To avoid quotes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="kd"&gt;sajjad&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3️⃣ Creating an Empty (Blank) File – IMPORTANT CONCEPT
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Command used
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="kd"&gt;err&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ❓ Why is &lt;code&gt;2&lt;/code&gt; used here?
&lt;/h3&gt;

&lt;p&gt;This is &lt;strong&gt;error stream redirection&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stream&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Standard Input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Standard Output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Standard Error&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  What actually happens?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;echo&lt;/code&gt; produces &lt;strong&gt;no error&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Error stream (&lt;code&gt;2&lt;/code&gt;) is empty&lt;/li&gt;
&lt;li&gt;Empty stream redirected → file created with &lt;strong&gt;0 bytes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔ This is a &lt;strong&gt;CMD trick&lt;/strong&gt; to create an empty file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Better &amp;amp; common methods
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="kr"&gt;nul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;file&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;. &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;file&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&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%2Fysp2dhlvf29sgly6d5z7.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%2Fysp2dhlvf29sgly6d5z7.png" alt="CMD" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  4️⃣ Deleting Files (&lt;code&gt;del&lt;/code&gt;)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;del&lt;/span&gt; &lt;span class="kd"&gt;na&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Check after deletion
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="kd"&gt;na&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The system cannot find the file specified.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔ File deleted successfully&lt;/p&gt;




&lt;h2&gt;
  
  
  5️⃣ Renaming Files (&lt;code&gt;rename&lt;/code&gt;)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;rename&lt;/span&gt; &lt;span class="kd"&gt;err&lt;/span&gt;.txt &lt;span class="kd"&gt;error&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔ File name changes only, content remains same&lt;/p&gt;




&lt;h2&gt;
  
  
  6️⃣ Creating &amp;amp; Moving Directories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Create directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="kd"&gt;samsaj&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Move file into directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;move&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt &lt;span class="kd"&gt;samsaj&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Change directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="kd"&gt;samsaj&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Go back
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  7️⃣ Path Symbols Explained
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Symbol&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Current directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;..&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Parent directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;\&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Windows path separator&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;move&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt .\samsaj
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  8️⃣ Copying Files (&lt;code&gt;copy&lt;/code&gt;)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;copy&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt &lt;span class="kd"&gt;sajjad&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔ Creates duplicate file with same content&lt;/p&gt;




&lt;h2&gt;
  
  
  9️⃣ Removing Directories (&lt;code&gt;rmdir&lt;/code&gt;) – VERY IMPORTANT
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Delete empty directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;rmdir&lt;/span&gt; &lt;span class="kd"&gt;sam&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ❌ If directory is NOT empty
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="kd"&gt;The&lt;/span&gt; &lt;span class="kd"&gt;directory&lt;/span&gt; &lt;span class="kd"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="kd"&gt;empty&lt;/span&gt;.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✔ Correct way to delete directory with files
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;rmdir&lt;/span&gt; &lt;span class="na"&gt;/S &lt;/span&gt;&lt;span class="kd"&gt;sam&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/S&lt;/code&gt; → deletes &lt;strong&gt;all files + subdirectories&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Confirmation required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;❌ Wrong commands (do not work):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;rmdir&lt;/span&gt; &lt;span class="na"&gt;-S &lt;/span&gt;&lt;span class="kd"&gt;sam&lt;/span&gt;
&lt;span class="nb"&gt;rmdir&lt;/span&gt; \S &lt;span class="kd"&gt;sam&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔟 Comparing Files (&lt;code&gt;fc&lt;/code&gt;)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;fc&lt;/span&gt; &lt;span class="kd"&gt;sajjad&lt;/span&gt;.txt &lt;span class="kd"&gt;samina&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output meaning
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Shows &lt;strong&gt;line-by-line differences&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Useful for file integrity checking&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  1️⃣1️⃣ Symbolic Links (Soft Links) – &lt;code&gt;mklink&lt;/code&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠ CMD must be &lt;strong&gt;Run as Administrator&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Create symbolic link
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;mklink&lt;/span&gt; &lt;span class="kd"&gt;linkfile&lt;/span&gt; &lt;span class="kd"&gt;file3&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Verify
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;SYMLINK&amp;gt; linkfile [file3.txt]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔ Both files point to same data&lt;br&gt;
✔ Reading/writing link affects original file&lt;/p&gt;


&lt;h2&gt;
  
  
  1️⃣2️⃣ Searching Files with &lt;code&gt;dir&lt;/code&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Search specific file recursively
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt; &lt;span class="na"&gt;/s &lt;/span&gt;&lt;span class="kd"&gt;torjan&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Search all &lt;code&gt;.txt&lt;/code&gt; files
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt; &lt;span class="na"&gt;/s &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  1️⃣3️⃣ Finding Files using &lt;code&gt;forfiles&lt;/code&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Command
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;forfiles&lt;/span&gt; &lt;span class="na"&gt;/P &lt;/span&gt;&lt;span class="kd"&gt;I&lt;/span&gt;:\ &lt;span class="na"&gt;/S /M &lt;/span&gt;&lt;span class="kd"&gt;torjan&lt;/span&gt;.txt &lt;span class="na"&gt;/C &lt;/span&gt;&lt;span class="s2"&gt;"cmd /c echo @PATH"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Flags explained
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Flag&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/P&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Starting directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/S&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Recursive search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/M&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Filename or pattern&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/C&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Command to run&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@PATH&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Full file path&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  ❗ Access denied errors?
&lt;/h3&gt;

&lt;p&gt;Normal behavior — system protected folders (&lt;code&gt;$RECYCLE.BIN&lt;/code&gt;, &lt;code&gt;System Volume Information&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;✔ File still found successfully.&lt;/p&gt;


&lt;h2&gt;
  
  
  1️⃣4️⃣ Finding Text Inside Files – &lt;code&gt;find&lt;/code&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  ❌ Wrong usage
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;find&lt;/span&gt; &lt;span class="s2"&gt;"pass"&lt;/span&gt; &lt;span class="kd"&gt;I&lt;/span&gt;:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  ✔ Correct usage
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;find&lt;/span&gt; &lt;span class="s2"&gt;"pass"&lt;/span&gt; &lt;span class="kd"&gt;filename&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;find&lt;/span&gt; &lt;span class="s2"&gt;"pass"&lt;/span&gt; &lt;span class="kd"&gt;I&lt;/span&gt;:\ethical&lt;span class="na"&gt;-test&lt;/span&gt;\samsaj\s299\s299.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pass : s299
pass : s265
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚠ &lt;code&gt;find&lt;/code&gt; is &lt;strong&gt;case-sensitive&lt;/strong&gt; and basic&lt;/p&gt;




&lt;h2&gt;
  
  
  1️⃣5️⃣ Advanced Text Search – &lt;code&gt;findstr&lt;/code&gt; (Recommended)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Search word
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;findstr&lt;/span&gt; &lt;span class="s2"&gt;"pass"&lt;/span&gt; &lt;span class="kd"&gt;s299&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pass : s299
pass : s265
sam pass samina password
sajjad password pass
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why &lt;code&gt;findstr&lt;/code&gt; is better?
&lt;/h3&gt;

&lt;p&gt;✔ Case-insensitive (by default)&lt;br&gt;
✔ Supports patterns&lt;br&gt;
✔ Searches multiple lines cleanly&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ Key Takeaways (Revision Summary)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;echo &amp;gt; file&lt;/code&gt; → creates file with content&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;echo 2&amp;gt; file&lt;/code&gt; → creates &lt;strong&gt;empty file via error redirection&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;type&lt;/code&gt; → read file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;del&lt;/code&gt; → delete file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;rename&lt;/code&gt; → rename file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mkdir&lt;/code&gt; / &lt;code&gt;rmdir&lt;/code&gt; → directory management&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/S&lt;/code&gt; is &lt;strong&gt;mandatory&lt;/strong&gt; to delete non-empty folders&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;fc&lt;/code&gt; → compare files&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mklink&lt;/code&gt; → symbolic link (admin required)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dir /s&lt;/code&gt; → recursive file search&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;forfiles&lt;/code&gt; → powerful file finder + executor&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;findstr&lt;/code&gt; → best for searching text inside files&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>microsoft</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Windows File System Navigation &amp; System Information</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Mon, 05 Jan 2026 09:47:25 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/windows-file-system-navigation-system-information-c2h</link>
      <guid>https://dev.to/sajjadrahman56/windows-file-system-navigation-system-information-c2h</guid>
      <description>&lt;h1&gt;
  
  
  📘 Windows File System Navigation &amp;amp; System Information
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;(Beginner-Friendly Notes for Ethical Hacking / Windows Basics)&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1️⃣ Windows Command Line Basics (CMD)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Command Prompt (cmd.exe)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Windows command-line interface&lt;/li&gt;
&lt;li&gt;Used to navigate files, run commands, and gather system info&lt;/li&gt;
&lt;li&gt;Commands are &lt;strong&gt;NOT case-sensitive&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  cd desktop
  cd Desktop
  cd DESKTOP
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ All work the same, even though actual folder name is &lt;code&gt;Desktop&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  2️⃣ Changing Directories (&lt;code&gt;cd&lt;/code&gt; Command)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Move to Another Folder
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="kd"&gt;Desktop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;➡️ Moves into the Desktop directory&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Go Back One Level (Parent Directory)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔹 Go to Root Directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; \
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\F C\Desktop&amp;gt; cd /
C:\&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ You are now in the &lt;strong&gt;root directory&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  3️⃣ Understanding Root Directory (&lt;code&gt;C:\&lt;/code&gt;)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Root directory = starting point of the Windows file system&lt;/li&gt;
&lt;li&gt;Example:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Common Root Folders
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Folder&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Windows&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OS files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Program Files&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;64-bit apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Program Files (x86)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;32-bit apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Users&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;User accounts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ProgramData&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Shared app data (hidden)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  4️⃣ Listing Files &amp;amp; Folders (&lt;code&gt;dir&lt;/code&gt; Command)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Basic Listing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 Shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Files&lt;/li&gt;
&lt;li&gt;Folders (&lt;code&gt;&amp;lt;DIR&amp;gt;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;File size&lt;/li&gt;
&lt;li&gt;Date &amp;amp; time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔️ &lt;code&gt;dir&lt;/code&gt; is a &lt;strong&gt;built-in command&lt;/strong&gt; in &lt;code&gt;cmd.exe&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 Directory Symbols
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Symbol&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Current directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;..&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Parent directory&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  5️⃣ Showing Hidden Files (&lt;code&gt;dir /a&lt;/code&gt;)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Command
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt; &lt;span class="na"&gt;/a
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 &lt;code&gt;/a&lt;/code&gt; = show &lt;strong&gt;ALL files&lt;/strong&gt;, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hidden&lt;/li&gt;
&lt;li&gt;System&lt;/li&gt;
&lt;li&gt;Junctions&lt;/li&gt;
&lt;li&gt;Symbolic links&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example Output Explained
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;SYMLINKD&amp;gt;  All Users -&amp;gt; C:\ProgramData
&amp;lt;JUNCTION&amp;gt; Default User -&amp;gt; C:\Users\Default
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ These are &lt;strong&gt;links&lt;/strong&gt;, not real folders&lt;/p&gt;




&lt;h2&gt;
  
  
  6️⃣ Windows Users Directory (&lt;code&gt;C:\Users&lt;/code&gt;)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Structure
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users
 ├── Public
 ├── F C
 ├── Default
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔹 Public Folder
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Shared by &lt;strong&gt;all users&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Any user can access files inside&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 User Folder (&lt;code&gt;F C&lt;/code&gt;)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Created at first login&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Desktop&lt;/li&gt;
&lt;li&gt;Documents&lt;/li&gt;
&lt;li&gt;Downloads&lt;/li&gt;
&lt;li&gt;AppData&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔹 Multiple Users in Windows
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Windows supports &lt;strong&gt;multiple users&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Each user has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate files&lt;/li&gt;
&lt;li&gt;Separate settings&lt;/li&gt;
&lt;li&gt;Separate &lt;strong&gt;Temp files&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Local\Temp
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;📌 New users can be created from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Control Panel&lt;/li&gt;
&lt;li&gt;Settings → Accounts&lt;/li&gt;
&lt;li&gt;Or via admin commands&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  7️⃣ AppData Folder (Important for Hackers)
&lt;/h2&gt;

&lt;p&gt;📍 Path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\F C\AppData
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Folder&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Local&lt;/td&gt;
&lt;td&gt;App cache, temp data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Roaming&lt;/td&gt;
&lt;td&gt;Syncable user data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LocalLow&lt;/td&gt;
&lt;td&gt;Low-privilege apps&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;📌 Hidden by default&lt;/p&gt;




&lt;h2&gt;
  
  
  8️⃣ System Information (&lt;code&gt;systeminfo&lt;/code&gt;)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Basic Command
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;systeminfo&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What It Shows
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OS version&lt;/li&gt;
&lt;li&gt;Build number&lt;/li&gt;
&lt;li&gt;Installed hotfixes&lt;/li&gt;
&lt;li&gt;Hardware info&lt;/li&gt;
&lt;li&gt;Network info&lt;/li&gt;
&lt;li&gt;Boot time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔️ Very useful for &lt;strong&gt;enumeration&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 Invalid Syntax Example (Corrected)
&lt;/h3&gt;

&lt;p&gt;❌ Wrong:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;systeminfo&lt;/span&gt; &lt;span class="na"&gt;-S
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ Correct:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;systeminfo&lt;/span&gt; &lt;span class="na"&gt;/S &lt;/span&gt;&lt;span class="kd"&gt;system_name&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 Help Menu
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;systeminfo&lt;/span&gt; /&lt;span class="o"&gt;?&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shows all valid options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/S&lt;/code&gt; → Remote system&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/U&lt;/code&gt; → Username&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/P&lt;/code&gt; → Password&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/FO&lt;/code&gt; → Output format (TABLE / LIST / CSV)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  9️⃣ Environment Variables
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Linux vs Windows Syntax
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;OS&lt;/th&gt;
&lt;th&gt;Syntax&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Linux&lt;/td&gt;
&lt;td&gt;&lt;code&gt;$USER&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows&lt;/td&gt;
&lt;td&gt;&lt;code&gt;%USERNAME%&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;❌ Wrong:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; $username
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ Correct:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;%username%&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;F C
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 View All Variables
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="kd"&gt;set&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 Custom Variable Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="kd"&gt;set&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sajjad"&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;%samina%&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 Variables set like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are &lt;strong&gt;temporary&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Reset after closing CMD&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔟 External System Tools (Sysinternals)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Why Needed?
&lt;/h3&gt;

&lt;p&gt;Some commands like &lt;code&gt;psinfo&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ Not built-in&lt;/li&gt;
&lt;li&gt;✔️ Must be downloaded&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔹 Sysinternals Suite
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Official Microsoft tools&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;System enumeration&lt;/li&gt;
&lt;li&gt;Process analysis&lt;/li&gt;
&lt;li&gt;Memory inspection&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;📥 Download:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://learn.microsoft.com/en-us/sysinternals/downloads
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 Example: &lt;code&gt;psinfo&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uptime&lt;/li&gt;
&lt;li&gt;Kernel version&lt;/li&gt;
&lt;li&gt;CPU info&lt;/li&gt;
&lt;li&gt;RAM&lt;/li&gt;
&lt;li&gt;Video driver&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔️ Useful for &lt;strong&gt;post-exploitation enumeration&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1️⃣1️⃣ Key Takeaways (Quick Revision)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;cd&lt;/code&gt; → change directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cd /&lt;/code&gt; → root directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dir&lt;/code&gt; → list files&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dir /a&lt;/code&gt; → show hidden files&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;%USERNAME%&lt;/code&gt; → Windows variable syntax&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;systeminfo&lt;/code&gt; → OS &amp;amp; hardware info&lt;/li&gt;
&lt;li&gt;Sysinternals → advanced enumeration tools&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Each Windows user has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate profile&lt;/li&gt;
&lt;li&gt;Separate temp files&lt;/li&gt;
&lt;li&gt;Separate AppData&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




</description>
      <category>microsoft</category>
      <category>windows</category>
      <category>basic</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>DP-600 Fabric Analytics Engineer – Structured Study Notes</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Sat, 06 Dec 2025 16:23:49 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/dp-600-fabric-analytics-engineer-structured-study-notes-2ban</link>
      <guid>https://dev.to/sajjadrahman56/dp-600-fabric-analytics-engineer-structured-study-notes-2ban</guid>
      <description>&lt;h1&gt;
  
  
  DP-600 Fabric Analytics Engineer – Structured Study Notes
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;(Governance, Admin, Lifecycle, Data Prep, Semantic Models)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  0. Big Picture – What DP-600 Expects From You
&lt;/h2&gt;

&lt;p&gt;The DP-600 exam is about &lt;strong&gt;designing, building, governing, and optimizing analytics solutions in Microsoft Fabric&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At a high level you must be able to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Maintain a data analytics solution&lt;/strong&gt;&lt;br&gt;
– Governance, security, admin, lifecycle, impact analysis&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prepare data&lt;/strong&gt;&lt;br&gt;
– Ingest, transform, store in Lakehouse/Warehouse/KQL DB, apply patterns like incremental and CDC&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implement and manage semantic models&lt;/strong&gt;&lt;br&gt;
– Modeling, storage modes, DAX basics, RLS/OLS, performance&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This note focuses on all the topics you listed and ties them together with exam-style thinking.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Maintain a Data Analytics Solution
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;(Governance, Admin, Lifecycle)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This area covers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Security &amp;amp; governance (access, RLS/CLS/OLS, sensitivity labels, endorsement)&lt;/li&gt;
&lt;li&gt;Admin: workspaces, capacities, roles&lt;/li&gt;
&lt;li&gt;Development lifecycle: Git, PBIP, deployment pipelines, XMLA&lt;/li&gt;
&lt;li&gt;Monitoring &amp;amp; impact analysis (lineage)&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  1.1 Security &amp;amp; Access Control in Fabric
&lt;/h2&gt;

&lt;p&gt;Security is layered. Think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Workspace-level roles&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Item-level permissions&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data-level security (RLS/CLS/OLS)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File-level security&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sensitivity labels&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Endorsement&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1.1.a Workspace-Level Access
&lt;/h3&gt;

&lt;p&gt;Each workspace has &lt;strong&gt;roles&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Admin&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full control over the workspace&lt;/li&gt;
&lt;li&gt;Can change settings, add/remove users, delete items&lt;/li&gt;
&lt;li&gt;Used by platform owners / team leads&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Member / Contributor&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can &lt;strong&gt;create and edit items&lt;/strong&gt; (Lakehouse, Dataflow, Reports, Pipelines, Notebooks)&lt;/li&gt;
&lt;li&gt;Cannot change workspace-level admin settings (like capacity)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Viewer&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read-only access: can view reports, dashboards, semantic models, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cannot&lt;/strong&gt; create, edit, or publish new items&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Common exam scenario:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“A user can open a report but cannot edit it or create a new dataflow in the same workspace. What is the likely cause?”&lt;/em&gt;&lt;br&gt;
→ The user is a &lt;strong&gt;Viewer&lt;/strong&gt; and needs at least &lt;strong&gt;Contributor/Member&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.1.b Item-Level Permissions &amp;amp; Build
&lt;/h3&gt;

&lt;p&gt;Even inside a workspace, every &lt;strong&gt;item&lt;/strong&gt; has its own permissions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouse&lt;/li&gt;
&lt;li&gt;Warehouse&lt;/li&gt;
&lt;li&gt;Semantic model (dataset)&lt;/li&gt;
&lt;li&gt;Report&lt;/li&gt;
&lt;li&gt;Notebook&lt;/li&gt;
&lt;li&gt;Dataflow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A user might be &lt;strong&gt;Contributor&lt;/strong&gt; on the workspace but still:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cannot use a semantic model to build new reports&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cannot Analyze in Excel&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key concept is &lt;strong&gt;Build permission&lt;/strong&gt; on the semantic model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build permission is required to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create &lt;strong&gt;new reports&lt;/strong&gt; from a semantic model&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Analyze in Excel&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Use the semantic model from &lt;strong&gt;another workspace&lt;/strong&gt; (when cross-workspace is allowed)&lt;/li&gt;
&lt;li&gt;Allow composite models based on that dataset&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“User can view a report but cannot use ‘Analyze in Excel’ or create a new report from the dataset.”&lt;/em&gt;&lt;br&gt;
→ They are missing &lt;strong&gt;Build permission&lt;/strong&gt; on the semantic model.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.1.c RLS, CLS, OLS &amp;amp; File-Level Security
&lt;/h3&gt;

&lt;p&gt;Security doesn’t stop at item level; it also applies to &lt;strong&gt;data inside the model&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Row-Level Security (RLS)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Restricts &lt;strong&gt;which rows&lt;/strong&gt; a user can see.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User in “Bangladesh” role only sees rows where &lt;code&gt;Country = 'BD'&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Implemented in the &lt;strong&gt;semantic model&lt;/strong&gt; (Power BI dataset / Fabric semantic model).&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Column-Level Security (CLS)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Controls &lt;strong&gt;which columns&lt;/strong&gt; a user can see.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hide &lt;code&gt;Salary&lt;/code&gt;, &lt;code&gt;SSN&lt;/code&gt;, &lt;code&gt;PhoneNumber&lt;/code&gt; from certain roles.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Object-Level Security (OLS)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Hides entire &lt;strong&gt;tables&lt;/strong&gt; or &lt;strong&gt;columns&lt;/strong&gt; from users or roles.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Finance table is completely hidden from Sales users.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  File-Level Security (OneLake / Files)
&lt;/h4&gt;

&lt;p&gt;In Fabric:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Lakehouse has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tables&lt;/strong&gt; → usually accessed via SQL endpoint &amp;amp; semantic model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Files&lt;/strong&gt; → raw storage in OneLake filesystem&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;You can secure Files separately:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A user might:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Query tables via semantic model&lt;/li&gt;
&lt;li&gt;But &lt;strong&gt;not be allowed&lt;/strong&gt; to browse the Lakehouse &lt;strong&gt;Files&lt;/strong&gt; section&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;That requires &lt;strong&gt;filesystem / OneLake permissions&lt;/strong&gt;, which are separate.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“User can query a Lakehouse table via the SQL endpoint but cannot open the Files area in the Lakehouse.”&lt;/em&gt;&lt;br&gt;
→ They are missing &lt;strong&gt;file-system permission on OneLake&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.1.d Sensitivity Labels (Purview Integration)
&lt;/h3&gt;

&lt;p&gt;Sensitivity labels classify and protect data. Common examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Public&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;General&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Confidential&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Highly Confidential – No Export&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once applied to semantic models, reports, etc., labels can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Block &lt;strong&gt;Export to Excel / CSV&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Block &lt;strong&gt;Publish to web&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Restrict &lt;strong&gt;external sharing&lt;/strong&gt; (especially with encrypted labels)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Important admin settings include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Allow users to apply sensitivity labels&lt;/strong&gt;&lt;br&gt;
– Without this, labels aren’t available in Fabric.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automatically apply sensitivity labels to downstream content&lt;/strong&gt;&lt;br&gt;
– A label applied to a semantic model can propagate to reports, dashboards, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Allow Microsoft Purview to secure AI interactions&lt;/strong&gt;&lt;br&gt;
– Controls whether Copilot/AI can interact with labeled data under Purview governance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“After applying a label to a report, users can view it but can no longer export the data. Why?”&lt;/em&gt;&lt;br&gt;
→ The label (e.g., &lt;strong&gt;Highly Confidential – No Export&lt;/strong&gt;) is configured to &lt;strong&gt;block export&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.1.e Endorsement: Promoted &amp;amp; Certified
&lt;/h3&gt;

&lt;p&gt;Endorsement helps users know which data they can trust.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Promoted&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Indicates &lt;strong&gt;team-level / local&lt;/strong&gt; confidence&lt;/li&gt;
&lt;li&gt;Suggestion: “This is useful, but not centrally governed.”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Certified&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Indicates &lt;strong&gt;organization-level&lt;/strong&gt; endorsement&lt;/li&gt;
&lt;li&gt;Represents &lt;strong&gt;single source of truth&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Generally restricted to a set of &lt;strong&gt;data stewards / admins&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Endorsed items typically show in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data hub&lt;/li&gt;
&lt;li&gt;OneLake data explorer&lt;/li&gt;
&lt;li&gt;Search and discovery areas&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“The central BI team wants certain semantic models to be recognized as single sources of truth across the organization. What should they use?”&lt;/em&gt;&lt;br&gt;
→ Use &lt;strong&gt;Certification&lt;/strong&gt; with appropriate governance.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  1.2 Admin &amp;amp; Governance: Tenant, Capacity, Workspace
&lt;/h2&gt;

&lt;p&gt;A lot of DP-600 questions are about &lt;strong&gt;“which setting to change?”&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The mental model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tenant&lt;/strong&gt; = organization-wide policies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capacity&lt;/strong&gt; = compute configuration (F64, F128, Premium)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workspace&lt;/strong&gt; = team/project scope&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tenant
&lt;/h3&gt;

&lt;p&gt;Controls global features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether &lt;strong&gt;Fabric is enabled&lt;/strong&gt; at all&lt;/li&gt;
&lt;li&gt;Whether &lt;strong&gt;users can create Fabric items&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Export policies (Excel/CSV, PBIX download)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Guest users and external sharing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Sensitivity labels and Purview/AI integration&lt;/li&gt;
&lt;li&gt;Trial activation (“Users can try Fabric paid features”)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Think: “This affects everyone / every workspace” → Tenant.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Capacity
&lt;/h3&gt;

&lt;p&gt;Controls the &lt;strong&gt;compute resources and workloads&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Type of capacity: Fabric F-SKU, Power BI Premium, Embedded, etc.&lt;/li&gt;
&lt;li&gt;Region and SKU size (F64, F128, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Workload settings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spark / Data Engineering&lt;/li&gt;
&lt;li&gt;Dataflows&lt;/li&gt;
&lt;li&gt;Pipelines&lt;/li&gt;
&lt;li&gt;DirectLake / cache behavior&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Ability to &lt;strong&gt;pause&lt;/strong&gt; and &lt;strong&gt;resume&lt;/strong&gt; capacity&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Concurrency limits and memory settings&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Common issues:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dataflows stuck in queue → capacity under pressure / workload disabled&lt;/li&gt;
&lt;li&gt;Notebooks fail to start → Spark capacity exhausted&lt;/li&gt;
&lt;li&gt;DirectLake becomes slow → capacity overloaded, cache eviction&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Workspace
&lt;/h3&gt;

&lt;p&gt;The workspace ties everything together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assigned to a &lt;strong&gt;capacity&lt;/strong&gt; (shared vs Fabric/Premium)&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Used by teams to store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouses&lt;/li&gt;
&lt;li&gt;Warehouses&lt;/li&gt;
&lt;li&gt;Dataflows&lt;/li&gt;
&lt;li&gt;Pipelines&lt;/li&gt;
&lt;li&gt;Semantic models&lt;/li&gt;
&lt;li&gt;Reports&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Key points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Shared capacity&lt;/strong&gt; workspaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can host Power BI content (reports, datasets, dashboards)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cannot&lt;/strong&gt; host Fabric items like Lakehouse, Warehouse, Dataflow Gen2, Notebooks, Pipelines, DirectLake&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Fabric/Premium capacity&lt;/strong&gt; workspaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can use the full Fabric experiences.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“A workspace does not show the option to create a Lakehouse or Dataflow Gen2, but users can still create reports.”&lt;/em&gt;&lt;br&gt;
→ The workspace is on &lt;strong&gt;Shared capacity&lt;/strong&gt; &lt;em&gt;or&lt;/em&gt; tenant has disabled &lt;strong&gt;Users can create Fabric items&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  1.3 Analytics Development Lifecycle (CI/CD, Versioning)
&lt;/h2&gt;

&lt;p&gt;This part is about acting like a &lt;strong&gt;real analytics engineer&lt;/strong&gt;, not just building in the UI.&lt;/p&gt;

&lt;p&gt;Key areas:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Version control with Git&lt;/li&gt;
&lt;li&gt;PBIX vs PBIP/PBIR&lt;/li&gt;
&lt;li&gt;Deployment pipelines (Dev → Test → Prod)&lt;/li&gt;
&lt;li&gt;XMLA endpoint&lt;/li&gt;
&lt;li&gt;Impact analysis / lineage&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  1.3.a Version Control with Git
&lt;/h3&gt;

&lt;p&gt;Fabric supports &lt;strong&gt;Git integration&lt;/strong&gt; for workspaces, so you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connect a Fabric workspace to a Git repository&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reports as &lt;strong&gt;PBIP / PBIR&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Notebooks as &lt;code&gt;.ipynb&lt;/code&gt; or scripts&lt;/li&gt;
&lt;li&gt;SQL scripts&lt;/li&gt;
&lt;li&gt;Pipeline definitions as code&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Team collaboration&lt;/li&gt;
&lt;li&gt;Pull request (PR)-based code review&lt;/li&gt;
&lt;li&gt;History &amp;amp; rollback&lt;/li&gt;
&lt;li&gt;Integration into DevOps/CI/CD pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Exam-view: DP-600 expects you to know &lt;strong&gt;why Git integration is useful&lt;/strong&gt;, not every click.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.3.b PBIX vs PBIP / PBIR
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;PBIX&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Binary file&lt;/li&gt;
&lt;li&gt;Traditional Power BI format&lt;/li&gt;
&lt;li&gt;Harder to source control (large monolithic file)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;PBIP / PBIR&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text-based project structure&lt;/li&gt;
&lt;li&gt;Separates metadata, model, and report layout into files/folders&lt;/li&gt;
&lt;li&gt;Much easier for Git and automated deployments&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For DP-600, you must understand:&lt;br&gt;
&lt;strong&gt;PBIP/PBIR = Git-friendly&lt;/strong&gt; representation of Power BI content.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.3.c Deployment Pipelines
&lt;/h3&gt;

&lt;p&gt;Deployment pipelines support &lt;strong&gt;stage-based promotion&lt;/strong&gt; of content:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Typical stages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Development → Test → Production&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;You can deploy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Semantic models (datasets)&lt;/li&gt;
&lt;li&gt;Reports&lt;/li&gt;
&lt;li&gt;Dashboards&lt;/li&gt;
&lt;li&gt;Some Fabric items (or via scripts/automation)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key ideas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Rules / parameters&lt;/strong&gt; per stage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different data source connections per environment (Dev DB vs Prod DB)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Ensuring changes are &lt;strong&gt;tested&lt;/strong&gt; in Test before going to Production&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Automatic or manual deployment flows&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Exam scenario:&lt;br&gt;
&lt;em&gt;“You must promote changes from Dev to Prod while pointing to different databases. What feature should you use?”&lt;/em&gt;&lt;br&gt;
→ Deployment pipelines with &lt;strong&gt;rules&lt;/strong&gt; for data source bindings.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.3.d XMLA Endpoint (for Semantic Models)
&lt;/h3&gt;

&lt;p&gt;XMLA endpoint allows enterprise management of semantic models using external tools like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tabular Editor&lt;/li&gt;
&lt;li&gt;SQL Server Management Studio (SSMS)&lt;/li&gt;
&lt;li&gt;Scripts for deployment and partition management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Typical actions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Partitioning large tables&lt;/li&gt;
&lt;li&gt;Incremental refresh control&lt;/li&gt;
&lt;li&gt;Advanced calculation groups&lt;/li&gt;
&lt;li&gt;Scripting deployments (e.g., ALM Toolkit, DevOps pipelines)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For DP-600, you need conceptual understanding:&lt;br&gt;
XMLA endpoint = &lt;strong&gt;enterprise-grade control and automation&lt;/strong&gt; for Fabric/Power BI semantic models.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.3.e Impact Analysis &amp;amp; Lineage
&lt;/h3&gt;

&lt;p&gt;Impact analysis means understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;If I change this object, what breaks?&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fabric offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lineage view&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shows flow: Data source → Dataflow → Lakehouse/Warehouse → Semantic model → Reports&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Before changing a table schema&lt;/li&gt;
&lt;li&gt;Before deleting a Dataflow or Lakehouse&lt;/li&gt;
&lt;li&gt;Before renaming columns or tables&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Exam pattern:&lt;br&gt;
&lt;em&gt;“You plan to change a Lakehouse table schema and want to ensure you understand which semantic models and reports will be affected. What should you use?”&lt;/em&gt;&lt;br&gt;
→ Use &lt;strong&gt;lineage view&lt;/strong&gt; or &lt;strong&gt;impact analysis&lt;/strong&gt; tools in Fabric.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  2. Prepare Data (Largest Weight in Exam)
&lt;/h2&gt;

&lt;p&gt;This is the “heart” of DP-600:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingest data&lt;/li&gt;
&lt;li&gt;Transform data&lt;/li&gt;
&lt;li&gt;Store/serve data in Lakehouse / Warehouse / KQL DB&lt;/li&gt;
&lt;li&gt;Design data processing patterns (incremental, CDC, real-time)&lt;/li&gt;
&lt;li&gt;Enforce data quality and business rules&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2.1 Ingest Data into Fabric
&lt;/h3&gt;

&lt;p&gt;Main tools:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Data Factory (Fabric Data Factory experience)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dataflow Gen2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spark Notebooks&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shortcuts (zero-copy)&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  a) Data Factory
&lt;/h4&gt;

&lt;p&gt;Fabric Data Factory is the &lt;strong&gt;orchestration &amp;amp; ingestion&lt;/strong&gt; engine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Copy Activity&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Move data from source to destination (e.g., SQL → Lakehouse, Blob → Warehouse)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Pipeline templates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prebuilt patterns (e.g., copy new files daily, ingest from SaaS, etc.)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Supports hundreds of connectors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL Server, Azure SQL, ADLS, Blob, Salesforce, etc.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Use Data Factory when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need &lt;strong&gt;pure data movement (ELT)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You orchestrate multiple steps and sources&lt;/li&gt;
&lt;li&gt;You want scheduled ingestion pipelines&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  b) Dataflow Gen2
&lt;/h4&gt;

&lt;p&gt;Dataflow Gen2 is &lt;strong&gt;Power Query Online&lt;/strong&gt; in Fabric:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Perform transformations (cleaning, shaping) using Power Query&lt;/li&gt;
&lt;li&gt;Define &lt;strong&gt;ETL&lt;/strong&gt; logic in a friendly GUI&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Output to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouse tables&lt;/li&gt;
&lt;li&gt;Warehouse tables&lt;/li&gt;
&lt;li&gt;KQL Databases&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Typical use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business-friendly transformation definitions&lt;/li&gt;
&lt;li&gt;Creating conformed dimension tables (e.g., DimCustomer)&lt;/li&gt;
&lt;li&gt;Reusable data preparation logic&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  c) Spark Notebooks
&lt;/h4&gt;

&lt;p&gt;Spark notebooks are for &lt;strong&gt;big data engineering&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Language options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PySpark, Scala, Spark SQL&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Large-scale joins and transforms&lt;/li&gt;
&lt;li&gt;Processing semi-structured or unstructured data&lt;/li&gt;
&lt;li&gt;Machine learning and advanced analytics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Write results into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delta tables in the Lakehouse&lt;/li&gt;
&lt;li&gt;Files (Parquet, CSV, etc.)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h4&gt;
  
  
  d) Shortcuts (Zero-Copy)
&lt;/h4&gt;

&lt;p&gt;Shortcuts let you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reference&lt;/strong&gt; data in external storage (ADLS Gen2, S3, other OneLake accounts)&lt;/li&gt;
&lt;li&gt;Without copying data into your Lakehouse&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of a shortcut as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A &lt;em&gt;pointer&lt;/em&gt; to external data, not a copy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Use for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Central governance (single copy of data)&lt;/li&gt;
&lt;li&gt;Multi-domain or multi-tenant architectures&lt;/li&gt;
&lt;li&gt;Simplifying multi-region data access&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2.2 Transform Data
&lt;/h3&gt;

&lt;p&gt;Three main transformation engines:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Dataflow Gen2 (Power Query)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spark Notebooks&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;T-SQL in Warehouse / SQL Endpoint&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1) Dataflow Gen2
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business-friendly logic&lt;/li&gt;
&lt;li&gt;Medium-size data&lt;/li&gt;
&lt;li&gt;Tabular transformations&lt;/li&gt;
&lt;li&gt;Slowly changing dimensions (when combined with logic)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean column names, change data types&lt;/li&gt;
&lt;li&gt;Merge (join) multiple sources&lt;/li&gt;
&lt;li&gt;Filter out errors&lt;/li&gt;
&lt;li&gt;Create calculated columns (e.g., &lt;code&gt;MonthNumber = Date.Month([OrderDate])&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  2) Spark Notebooks
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Very large datasets&lt;/li&gt;
&lt;li&gt;Complex transformations where M/Power Query is limiting&lt;/li&gt;
&lt;li&gt;Streaming + batch&lt;/li&gt;
&lt;li&gt;AI/ML workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use PySpark to message large tables&lt;/li&gt;
&lt;li&gt;Optimize with Delta features (OPTIMIZE, VACUUM)&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  3) T-SQL (Warehouse / SQL Endpoint)
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Teams with strong &lt;strong&gt;SQL skills&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;ELT patterns (Load raw → Clean → Transform using SQL)&lt;/li&gt;
&lt;li&gt;Dimensional modeling inside Warehouse (Dim/Fact tables)&lt;/li&gt;
&lt;li&gt;Creating views and stored procedures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write SQL scripts&lt;/li&gt;
&lt;li&gt;Use them in pipelines as &lt;strong&gt;SQL script activities&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Build business logic in the Warehouse itself&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam angle:&lt;/strong&gt;&lt;br&gt;
You must choose the &lt;strong&gt;right engine&lt;/strong&gt; for each scenario:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business user ETL? → Dataflow Gen2&lt;/li&gt;
&lt;li&gt;Heavy big data &amp;amp; ML? → Spark notebooks&lt;/li&gt;
&lt;li&gt;Standard enterprise SQL team? → T-SQL in Warehouse&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  2.3 Lakehouse vs Warehouse (Plus KQL DB)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Lakehouse
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Combines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Files&lt;/strong&gt; (raw storage)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tables&lt;/strong&gt; (Delta format)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Medallion architecture:&lt;/li&gt;
&lt;li&gt;Bronze (raw)&lt;/li&gt;
&lt;li&gt;Silver (cleaned)&lt;/li&gt;
&lt;li&gt;Gold (business)&lt;/li&gt;
&lt;li&gt;Big data, semi-structured files, logs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Works best with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spark notebooks&lt;/li&gt;
&lt;li&gt;Dataflow Gen2&lt;/li&gt;
&lt;li&gt;DirectLake-based semantic models&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Warehouse
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;SQL-first experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tables, views, stored procedures&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Structured, relational modeling&lt;/li&gt;
&lt;li&gt;Enterprise reporting, financial analytics&lt;/li&gt;
&lt;li&gt;Teams strong in SQL&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Serves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Semantic models&lt;/li&gt;
&lt;li&gt;Reports directly via SQL engine&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Typical exam scenario:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Customer 360 view, finance, heavily structured reporting, strong SQL skills → choose &lt;strong&gt;Warehouse&lt;/strong&gt;.”&lt;/li&gt;
&lt;li&gt;“High-volume logs, clickstream, semi-structured events → choose &lt;strong&gt;Lakehouse + Spark&lt;/strong&gt;.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  KQL Database (Kusto Query Language)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Optimized for &lt;strong&gt;log and time-series analytics&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time telemetry&lt;/li&gt;
&lt;li&gt;Observability data&lt;/li&gt;
&lt;li&gt;Operational analytics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  2.4 Patterns: Incremental, CDC, Real-Time
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Incremental Load
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Process &lt;strong&gt;only new or changed data&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Cost&lt;/li&gt;
&lt;li&gt;Reduced load windows&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dataflow Gen2 with incremental refresh policy (by date column)&lt;/li&gt;
&lt;li&gt;SQL-based approaches using &lt;code&gt;LastModifiedDate&lt;/code&gt; watermark&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Change Data Capture (CDC) / Change Feed
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Tracks &lt;strong&gt;row-level changes&lt;/strong&gt; from a source (insert, update, delete)&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keeping Warehouse or Lakehouse in sync with OLTP systems&lt;/li&gt;
&lt;li&gt;Near-real-time updates&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Real-Time / Streaming
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fabric also offers &lt;strong&gt;Real-Time Intelligence&lt;/strong&gt; components like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eventstreams&lt;/li&gt;
&lt;li&gt;KQL DB&lt;/li&gt;
&lt;li&gt;Real-time dashboards&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Use case:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IoT streams&lt;/li&gt;
&lt;li&gt;Website event tracking&lt;/li&gt;
&lt;li&gt;Monitoring metrics with low latency&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. Implement and Manage Semantic Models
&lt;/h2&gt;

&lt;p&gt;This is the Power BI + Fabric modeling side:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Storage modes&lt;/li&gt;
&lt;li&gt;Modeling fundamentals&lt;/li&gt;
&lt;li&gt;DAX basics&lt;/li&gt;
&lt;li&gt;Security in the model (RLS/OLS)&lt;/li&gt;
&lt;li&gt;Performance &amp;amp; optimization&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  3.1 Storage Modes: Import, DirectQuery, DirectLake, Composite
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Import&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Data is stored inside the model in memory.&lt;/li&gt;
&lt;li&gt;Very fast query performance.&lt;/li&gt;
&lt;li&gt;Requires scheduled or manual refresh.&lt;/li&gt;
&lt;li&gt;Good for small–medium datasets and users who can tolerate some latency in freshness.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;DirectQuery&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;No data stored in the model; all queries go to the source (SQL, etc.)&lt;/li&gt;
&lt;li&gt;Good for real-time or near-real-time when data &lt;em&gt;must&lt;/em&gt; stay at source.&lt;/li&gt;
&lt;li&gt;Slower and more limited in modeling features; depends heavily on source performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;DirectLake&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Fabric-only mode.&lt;/li&gt;
&lt;li&gt;Queries &lt;strong&gt;Delta tables in OneLake&lt;/strong&gt; directly, with caching.&lt;/li&gt;
&lt;li&gt;Combines advantages of Import (fast) and DirectQuery (near-real-time) for Fabric-based data.&lt;/li&gt;
&lt;li&gt;Requires &lt;strong&gt;Fabric/Premium capacity&lt;/strong&gt; and proper Lakehouse/Warehouse setup.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Composite Models&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Mixes Import + DirectQuery + DirectLake in one model.&lt;/li&gt;
&lt;li&gt;Very flexible but more complex to manage.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam scenario example:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“You must query a large Fabric Lakehouse with low latency and avoid scheduled refresh, and you have Fabric capacity. Which storage mode is recommended?”&lt;/em&gt;&lt;br&gt;
→ &lt;strong&gt;DirectLake&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  3.2 Modeling Fundamentals
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Star schema&lt;/strong&gt; is the gold standard:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fact tables&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Large, numeric, transactional data&lt;/li&gt;
&lt;li&gt;E.g., FactSales, FactOrders&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Dimension tables&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smaller, descriptive, business entities&lt;/li&gt;
&lt;li&gt;E.g., DimCustomer, DimProduct, DimDate&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simpler queries&lt;/li&gt;
&lt;li&gt;Better performance&lt;/li&gt;
&lt;li&gt;More intuitive modeling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Relationships:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mostly &lt;strong&gt;one-to-many&lt;/strong&gt; (Dimension → Fact)&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;single direction&lt;/strong&gt; filtering (Dimension filters Fact) unless there’s a strong reason otherwise.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Many-to-many relationships&lt;/strong&gt;: use carefully; they can create ambiguous filter paths.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best practices:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;surrogate keys&lt;/strong&gt; (integers) for relationships&lt;/li&gt;
&lt;li&gt;Keep dimension tables wide but not huge&lt;/li&gt;
&lt;li&gt;Avoid snowflake if performance is critical (flatten dimensions where reasonable)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3.3 DAX &amp;amp; Calculations
&lt;/h3&gt;

&lt;p&gt;You don’t need to be a DAX guru for DP-600, but you should understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Calculated columns vs Measures:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Calculated columns&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;Computed at data refresh time&lt;/li&gt;
&lt;li&gt;Stored in the model&lt;/li&gt;
&lt;li&gt;Row context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measures&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;Computed at query time&lt;/li&gt;
&lt;li&gt;Based on filter context&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Row context vs Filter context:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Row context → operations that work “row by row”&lt;/li&gt;
&lt;li&gt;Filter context → the filters that apply to the measure (via slicers, filters, etc.)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Basic time intelligence&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;TOTALYTD&lt;/code&gt;, &lt;code&gt;SAMEPERIODLASTYEAR&lt;/code&gt;, &lt;code&gt;DATEADD&lt;/code&gt;, etc.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  3.4 Security in Semantic Models
&lt;/h3&gt;

&lt;p&gt;Again, security at the model level:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;RLS (Row-Level Security)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Table filter expressions per role&lt;/li&gt;
&lt;li&gt;Example: &lt;code&gt;[Country] = "Bangladesh"&lt;/code&gt; for certain users&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;OLS (Object-Level Security)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hide specific tables/columns from roles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Important:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RLS/OLS apply regardless of storage mode (Import/DirectQuery/DirectLake), with some advanced nuances.&lt;/li&gt;
&lt;li&gt;Even if a user has &lt;strong&gt;Build&lt;/strong&gt;, they still only see rows allowed by RLS.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3.5 Performance &amp;amp; Optimization
&lt;/h3&gt;

&lt;p&gt;Large or complex models can slow down. Common optimization strategies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;star schema&lt;/strong&gt; instead of snowflake&lt;/li&gt;
&lt;li&gt;Avoid many-to-many relationships and bi-directional filters unless necessary&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;aggregations&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Avoid overly complex DAX measures that iterate row-by-row over large tables&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;proper types &amp;amp; summarization&lt;/strong&gt; to reduce memory usage&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use XMLA endpoint and Tabular Editor for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Partitioning fact tables&lt;/li&gt;
&lt;li&gt;Incremental refresh tuning&lt;/li&gt;
&lt;li&gt;Calculation groups&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam-style question:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“A large semantic model is slow. What are effective techniques to improve performance?”&lt;/em&gt;&lt;br&gt;
→ Star schema, aggregations, optimizing relationships, partitioning, and simplifying DAX.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  4. Practical Study Plan (How to Use This Note)
&lt;/h2&gt;

&lt;p&gt;Since you already have some hands-on with Fabric:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1 – Fabric Objects &amp;amp; Admin
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouse, Warehouse, Dataflow Gen2, Pipelines, Notebooks, Semantic models, KQL DB&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tenant vs Capacity vs Workspace&lt;/li&gt;
&lt;li&gt;Critical settings: “Users can create Fabric items”, guest access, export settings, labels, DirectLake requirements&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 2 – Prepare Data (Hands-on + Theory)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Build a small scenario:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingest CSV → Dataflow Gen2 → Lakehouse&lt;/li&gt;
&lt;li&gt;Transform with Dataflow (custom column, type changes)&lt;/li&gt;
&lt;li&gt;Optionally, use a Pipeline to orchestrate Dataflow + Notebook&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouse Tables vs Files, Delta basics&lt;/li&gt;
&lt;li&gt;Shortcuts to some external storage (if possible)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 3 – Semantic Model &amp;amp; Reporting
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create a semantic model from the Lakehouse:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Try &lt;strong&gt;Import&lt;/strong&gt; and &lt;strong&gt;DirectLake&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Build:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A star-schema style model&lt;/li&gt;
&lt;li&gt;Some simple DAX measures (Total Sales, YTD, Last Year comparison)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Configure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RLS roles (e.g., region-based)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 4 – Governance &amp;amp; Lifecycle
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Review:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workspace roles&lt;/li&gt;
&lt;li&gt;Item permissions &amp;amp; Build permission&lt;/li&gt;
&lt;li&gt;Sensitivity labels (set up a simple label and see its effects)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git integration &amp;amp; PBIP concept&lt;/li&gt;
&lt;li&gt;Deployment pipelines Dev → Test → Prod&lt;/li&gt;
&lt;li&gt;Lineage view and impact analysis&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>microsoft</category>
      <category>microsoftcloud</category>
      <category>powerplatform</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>DP-600: Advanced Prescriptive &amp; Predictive Analytics MCQ Practice (Part-01)</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Tue, 02 Dec 2025 09:46:10 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/dp-600-advanced-prescriptive-predictive-analytics-mcq-practice-part-01-3h5a</link>
      <guid>https://dev.to/sajjadrahman56/dp-600-advanced-prescriptive-predictive-analytics-mcq-practice-part-01-3h5a</guid>
      <description>&lt;h3&gt;
  
  
  There are &lt;strong&gt;4 types of analytics&lt;/strong&gt; in data world:
&lt;/h3&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%2Fzux9dazxrc9ops1v8i1n.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%2Fzux9dazxrc9ops1v8i1n.png" alt="analytics" width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1) Descriptive Analytics → What happened?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It summarizes past data&lt;/li&gt;
&lt;li&gt;Example: “Sales increased 15% last month”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Used visuals: tables, cards, bar charts&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;2) Diagnostic Analytics → Why did it happen?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It explains the reason behind the result&lt;/li&gt;
&lt;li&gt;Example: “Sales increased because ads performed well”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tools: Decomposition tree, Key Influencers&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;3) Predictive Analytics → What will happen?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It forecasts the future&lt;/li&gt;
&lt;li&gt;Example: “We predict a 20% drop in churn next month”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tools: ML models, forecasting, AutoML&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;4) Prescriptive Analytics → What should we do?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It suggests the &lt;strong&gt;best action&lt;/strong&gt; based on predictions&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Offer a discount to high-risk customers”&lt;/li&gt;
&lt;li&gt;“Increase ad budget for Segment A”&lt;/li&gt;
&lt;li&gt;“Send follow-up emails to low-engagement users”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;💡 &lt;strong&gt;Prescriptive = ML + recommended action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Descriptive&lt;/strong&gt; — What happened?&lt;br&gt;
Purpose: summarize past data. Tools: cards, tables, bar/line charts.&lt;br&gt;
Example exam cues: “show totals”, “last month’s sales”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Diagnostic&lt;/strong&gt; — Why did it happen?&lt;br&gt;
Purpose: explain root cause. Tools: Key Influencers, Decomposition Tree, drillthrough.&lt;br&gt;
Example cues: “identify drivers”, “explain drop in revenue”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Predictive&lt;/strong&gt; — What will happen?&lt;br&gt;
Purpose: forecast future events using ML. Tools: AutoML, forecasting, classification/regression models.&lt;br&gt;
Example cues: “predict”, “probability”, “forecast”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prescriptive&lt;/strong&gt; — What should we do?&lt;br&gt;
Purpose: recommend actions (next-best-action / optimization). Tools: recommendation engines, optimization models, ML + action mapping.&lt;br&gt;
Example cues: “recommend”, “suggest action”, “optimize”, “next best offer”.&lt;/p&gt;

&lt;p&gt;Exam rule of thumb: If the question asks what action to take, think prescriptive → ML + action.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is prescriptive analytics?&lt;/strong&gt;&lt;br&gt;
Prescriptive analytics is the step beyond predicting. It answers: “Given what we know and what’s likely to happen — what should we do now?”&lt;br&gt;
Core elements:_ An ML or optimization model_ that produces predictions or scores.&lt;/p&gt;

&lt;p&gt;Decision logic that maps predictions to actions (rules, optimization objective, cost/benefit).&lt;/p&gt;

&lt;p&gt;Integration into reports or systems to display or enact the recommended actions.&lt;/p&gt;

&lt;p&gt;Typical output: a column or visual that says “Offer 20% discount” or “Route to specialist” — not just “churn probability = 0.85”.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Embedding an Azure Machine Learning model into Power BI: how it works *&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Train model (Azure ML, Fabric AutoML, Python/R).&lt;/li&gt;
&lt;li&gt;Deploy model as a web service (REST endpoint).&lt;/li&gt;
&lt;li&gt;Call endpoint from a dataflow / Power Query / Fabric pipeline or call it outside and bring scored data in.&lt;/li&gt;
&lt;li&gt;Use outputs in Power BI as calculated columns or visuals.&lt;/li&gt;
&lt;li&gt;Map predictions to actions with DAX, Power Query logic, or an operationalization layer (e.g., if churn_prob &amp;gt; 0.8 → “Offer 30% off”).&lt;/li&gt;
&lt;li&gt;Present recommendations in report visuals (tables, cards, conditional formatting).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why this is preferred:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic (updates with new data)&lt;/li&gt;
&lt;li&gt;Automated and scalable&lt;/li&gt;
&lt;li&gt;Can incorporate business rules and thresholds&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Static text boxes &amp;amp; manual updates&lt;/strong&gt; — when they appear (and why they’re wrong for prescriptive)&lt;br&gt;
Static text boxes: useful for titles, descriptions, instructions—never for dynamic recommendations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual updates:&lt;/strong&gt; feasible for tiny teams, but not production, not scalable, and usually wrong on exams when compared with ML/automation options.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exam shortcut:&lt;/strong&gt; Options including “static text”, “manual monthly updates”, or “historical visuals only” are almost always incorrect if the question asks for suggestions/recommendations/next actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to use forward-looking suggestions vs historical-only&lt;/strong&gt;&lt;br&gt;
Use forward-looking (predictive/prescriptive) when: the question mentions recommend, suggest, next best action, optimize, forecast.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use historical-only (descriptive/diagnostic)&lt;/strong&gt; when: the question asks report, summarize, view past trends, explain reasons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Be strict:&lt;/strong&gt; “suggest” = prescriptive → prefers an ML-based, automated approach in DP-600 questions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question (demo):&lt;/strong&gt; You need to add a feature to a Power BI report that suggests targeted marketing actions based on customer segment performance. Which technique integrates prescriptive analytics effectively?&lt;br&gt;
Options:&lt;/p&gt;

&lt;p&gt;A. Embedding an Azure Machine Learning model within the report to analyze segments and suggest actions.&lt;br&gt;
 B. Using static text boxes to provide generic marketing advice.&lt;br&gt;
 C. Manually updating the report each month with new recommendations.&lt;br&gt;
 D. Relying solely on historical data visualizations without forward-looking suggestions.&lt;/p&gt;

&lt;p&gt;Step 1 — identify keywords: “suggests targeted marketing actions” → suggest = prescriptive; “targeted” = personalization; “based on performance” = data-driven.&lt;/p&gt;

&lt;p&gt;Step 2 — map to analytics type: That’s prescriptive (what action to take).&lt;/p&gt;

&lt;p&gt;Step 3 — choose solution: Only A (embedding Azure ML) supplies automated, personalized, data-driven recommendations.&lt;/p&gt;

&lt;p&gt;Why others wrong: B is static; C is manual and not scalable; D is descriptive only.&lt;/p&gt;

&lt;p&gt;Answer: A. Embedding an Azure ML model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exam tip&lt;/strong&gt;: Always ask yourself “does this option produce an actionable output per user/segment that changes dynamically?” If yes — ML/endpoint/automation is right.&lt;/p&gt;

&lt;p&gt;“What happened?” → Descriptive&lt;br&gt;
“Why did it happen?” → Diagnostic&lt;br&gt;
“What will happen?” → Predictive&lt;br&gt;
“What should we do?” → Prescriptive&lt;/p&gt;

&lt;p&gt;If question asks for recommendations / next best action / optimization, pick options mentioning ML / AutoML / Azure ML / optimization / recommendation engine.&lt;/p&gt;

&lt;p&gt;If an option includes static text, manual process, monthly update, it’s almost always wrong for predictive/prescriptive needs.&lt;/p&gt;

&lt;p&gt;For diagnostic questions, favor Key Influencers or Decomposition Tree.&lt;/p&gt;

&lt;p&gt;For predictive questions, favor AutoML / time-series forecasting / classification/regression.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Implementation mapping *&lt;/em&gt; — common patterns you should know&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Churn management: Predictive model → score customers → map to “Offer discount / Call / No action”.&lt;/li&gt;
&lt;li&gt;Recommendation engine (retail): Collaborative filtering or content-based recommenders → store top N recommendations per user → display in Power BI.&lt;/li&gt;
&lt;li&gt;Inventory optimization: Forecast demand (time series) → run optimization for reorder quantities → provide reordering actions.&lt;/li&gt;
&lt;li&gt;Predictive maintenance: Predict failure probability → if &amp;gt; threshold → schedule maintenance action.&lt;/li&gt;
&lt;li&gt;Fraud detection: Predict risk per transaction → rules map to block / monitor / allow.&lt;/li&gt;
&lt;/ul&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%2Frcl6xzrpg5atv4akttmh.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%2Frcl6xzrpg5atv4akttmh.png" alt="analytics-301" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⭐ What is "Embedding an Azure Machine Learning Model"?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Embedding&lt;/strong&gt; means connecting Power BI to a deployed Azure ML model so it can:&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%2Fdyirz1rcffne74tzp532.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%2Fdyirz1rcffne74tzp532.png" alt="azure ml " width="800" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Score data&lt;/li&gt;
&lt;li&gt;Predict outcomes&lt;/li&gt;
&lt;li&gt;Output recommended actions&lt;/li&gt;
&lt;li&gt;Generate &lt;em&gt;prescriptive&lt;/em&gt; insights&lt;/li&gt;
&lt;/ul&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%2Fdxyqcm25usjx68s8dai0.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%2Fdxyqcm25usjx68s8dai0.png" alt="local to db" width="800" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How it works (simple flow):
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Build ML model&lt;/li&gt;
&lt;li&gt;Deploy it as a web service (API endpoint)&lt;/li&gt;
&lt;li&gt;Call that model from Power BI&lt;/li&gt;
&lt;li&gt;The model outputs a recommendation like:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;“Recommend Email Campaign B for Customer X”&lt;/li&gt;
&lt;li&gt;“Upsell Product Y to Segment Z”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is &lt;strong&gt;dynamic, scalable, and automated&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐ What is a "Static Text Box"?
&lt;/h3&gt;

&lt;p&gt;A &lt;strong&gt;static text box&lt;/strong&gt; is simply text typed manually inside a Power BI report.&lt;/p&gt;

&lt;p&gt;Example texts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Increase marketing spend”&lt;/li&gt;
&lt;li&gt;“Improve engagement”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;❌ It is &lt;strong&gt;not connected to data&lt;/strong&gt;&lt;br&gt;
❌ It cannot change dynamically&lt;br&gt;
❌ It is not analytics&lt;/p&gt;

&lt;p&gt;Used only for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;titles&lt;/li&gt;
&lt;li&gt;explanations&lt;/li&gt;
&lt;li&gt;notes&lt;/li&gt;
&lt;li&gt;labels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Never used for &lt;strong&gt;prescriptive analytics&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐ What is "Manual Updating"?
&lt;/h3&gt;

&lt;p&gt;You manually type new recommendations every month like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“This month focus on Segment B”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;not scalable&lt;/li&gt;
&lt;li&gt;error-prone&lt;/li&gt;
&lt;li&gt;slow&lt;/li&gt;
&lt;li&gt;not data-driven&lt;/li&gt;
&lt;li&gt;changes do not react to real-time data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;❌ This is not analytics&lt;br&gt;
❌ Completely ignored in AI/ML questions&lt;/p&gt;

&lt;p&gt;Only useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;temporary reports&lt;/li&gt;
&lt;li&gt;low-impact dashboards&lt;/li&gt;
&lt;li&gt;small teams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exam trick:&lt;br&gt;
&lt;strong&gt;Manual work is always the WRONG answer in DP-600&lt;/strong&gt; for anything AI/ML/autonomous.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐  When do we need "Forward-Looking Suggestions"?
&lt;/h3&gt;

&lt;p&gt;Forward-looking = &lt;strong&gt;predictive + prescriptive&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you must take action&lt;/li&gt;
&lt;li&gt;business impact depends on future outcome&lt;/li&gt;
&lt;li&gt;you want to optimize decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;churn prevention&lt;/li&gt;
&lt;li&gt;retention strategies&lt;/li&gt;
&lt;li&gt;budget optimization&lt;/li&gt;
&lt;li&gt;marketing targeting&lt;/li&gt;
&lt;li&gt;fraud prevention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exam Tip&lt;/strong&gt;&lt;br&gt;
If question says:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“suggest”&lt;/li&gt;
&lt;li&gt;“action”&lt;/li&gt;
&lt;li&gt;“recommend”&lt;/li&gt;
&lt;li&gt;“next best step”&lt;/li&gt;
&lt;li&gt;“optimize”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;➡️ Answer is ALWAYS &lt;strong&gt;ML model&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐ When do we rely only on historical data?
&lt;/h3&gt;

&lt;p&gt;When the question focuses on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;understanding past performance&lt;/li&gt;
&lt;li&gt;monitoring KPIs&lt;/li&gt;
&lt;li&gt;root cause analysis&lt;/li&gt;
&lt;li&gt;business reporting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not for making decisions.&lt;/p&gt;

&lt;p&gt;Historical-only = &lt;strong&gt;descriptive or diagnostic&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Exam clue:&lt;br&gt;
If options contain things like “historical only,” it will ALWAYS be the wrong answer for prescriptive/predictive scenarios.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔥 &lt;strong&gt;PART 2 — Question Breakdown (Step by Step)&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  ❓ &lt;strong&gt;Original Question&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;You need a feature that suggests targeted marketing actions based on customer segment performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 1 — Identify keywords
&lt;/h3&gt;

&lt;p&gt;🟩 “suggests actions” → prescriptive&lt;br&gt;
🟩 “marketing actions” → decision-making&lt;br&gt;
🟩 “based on segment performance” → ML/AI scoring&lt;/p&gt;

&lt;p&gt;➡️ So the correct option must include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ML model&lt;/li&gt;
&lt;li&gt;automated recommendations&lt;/li&gt;
&lt;li&gt;dynamic logic&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  🔥 OPTION-BY-OPTION BREAKDOWN
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A. Embedding an Azure Machine Learning model&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;✔️ ML Model → Dynamic&lt;br&gt;
✔️ Can generate recommendations&lt;br&gt;
✔️ Prescriptive&lt;br&gt;
✔️ Auto decision-making&lt;br&gt;
✔️ Scalable&lt;br&gt;
➡️ &lt;strong&gt;Correct&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;B. Using static text boxes&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;❌ Not data-driven&lt;br&gt;
❌ Not dynamic&lt;br&gt;
❌ Only generic advice&lt;br&gt;
❌ Cannot target segments&lt;br&gt;
➡️ &lt;strong&gt;Wrong&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;C. Manually updating the report&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;❌ Not scalable&lt;br&gt;
❌ Not analytics&lt;br&gt;
❌ Prone to errors&lt;br&gt;
❌ Exam always rejects manual work&lt;br&gt;
➡️ &lt;strong&gt;Wrong&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;D. Relying solely on historical data&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;❌ Only descriptive/diagnostic&lt;br&gt;
❌ No suggestion capability&lt;br&gt;
❌ No future insight&lt;br&gt;
➡️ &lt;strong&gt;Wrong&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  ⭐ Tips &amp;amp; Tricks for DP-600 MCQs (VERY IMPORTANT)
&lt;/h1&gt;

&lt;p&gt;Here is the cheat sheet to instantly identify correct answers:&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔️ If question mentions &lt;strong&gt;recommendations&lt;/strong&gt;, answer = &lt;strong&gt;ML model&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Keywords:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;next best action&lt;/li&gt;
&lt;li&gt;suggest&lt;/li&gt;
&lt;li&gt;recommend&lt;/li&gt;
&lt;li&gt;optimize&lt;/li&gt;
&lt;li&gt;prescriptive&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✔️ If question mentions &lt;strong&gt;future&lt;/strong&gt;, answer = AutoML, ML, forecasting
&lt;/h3&gt;

&lt;p&gt;Keywords:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prediction&lt;/li&gt;
&lt;li&gt;forecast&lt;/li&gt;
&lt;li&gt;future trend&lt;/li&gt;
&lt;li&gt;probability&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✔️ If question mentions &lt;strong&gt;understanding the past&lt;/strong&gt;, answer = visuals
&lt;/h3&gt;

&lt;p&gt;Keywords:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;historical&lt;/li&gt;
&lt;li&gt;summarize&lt;/li&gt;
&lt;li&gt;monitor&lt;/li&gt;
&lt;li&gt;trend analysis&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✔️ If option contains &lt;strong&gt;manual&lt;/strong&gt;, &lt;strong&gt;static&lt;/strong&gt;, &lt;strong&gt;text box&lt;/strong&gt;, it's ALWAYS wrong
&lt;/h3&gt;




&lt;h1&gt;
  
  
  🔥 &lt;strong&gt;PART 3 — Notes (Documentation Style, Clear Examples)&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  📘 &lt;strong&gt;Prescriptive Analytics in Fabric / Power BI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Prescriptive analytics uses machine learning or decision algorithms to recommend actions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools Used:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Azure ML models&lt;/li&gt;
&lt;li&gt;Fabric ML models&lt;/li&gt;
&lt;li&gt;AutoML&lt;/li&gt;
&lt;li&gt;Python/R notebooks&lt;/li&gt;
&lt;li&gt;ML scoring in dataflows&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example:
&lt;/h3&gt;

&lt;p&gt;Dataset: Customer segments&lt;br&gt;
Model Output:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Segment A → Recommend email offer&lt;/li&gt;
&lt;li&gt;Segment B → Recommend discount&lt;/li&gt;
&lt;li&gt;Segment C → No action&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Power BI shows recommendation column dynamically.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔥 &lt;strong&gt;PART 4 — 10 Similar Questions (With Answers + Explanations)&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Q1&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You want Power BI to select the best offer for each customer. How do you implement this?&lt;/p&gt;

&lt;p&gt;A. Use an Azure ML recommendation model&lt;br&gt;
B. Add a table showing purchase history&lt;br&gt;
C. Write static text suggestions&lt;br&gt;
D. Update the report manually each week&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q2&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You need a feature that tells sales teams whom to call first based on predicted closing probability.&lt;/p&gt;

&lt;p&gt;A. Deploy a predictive model with scoring rules&lt;br&gt;
B. Use a bar chart by region&lt;br&gt;
C. Place a slicer for sales rep&lt;br&gt;
D. Show the last quarter’s performance&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q3&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You want to reduce churn by recommending retention actions.&lt;/p&gt;

&lt;p&gt;A. Build a churn ML model + action mapping&lt;br&gt;
B. Show all historical churn in a chart&lt;br&gt;
C. Add commentary in a static textbox&lt;br&gt;
D. Update recommendations manually&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q4&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A report must decide whether to reorder inventory based on predicted demand.&lt;/p&gt;

&lt;p&gt;A. Use a demand forecasting model&lt;br&gt;
B. Show a line chart of stock&lt;br&gt;
C. Add a table with past orders&lt;br&gt;
D. Provide generic reorder advice&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q5&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Marketing wants a "next best campaign" suggestion dashboard.&lt;/p&gt;

&lt;p&gt;A. Integrate an ML model that outputs recommended campaigns&lt;br&gt;
B. Use a KPI visual&lt;br&gt;
C. Display last year engagement&lt;br&gt;
D. Add comments explaining campaign types&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q6&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You want insights on why sales dropped last quarter.&lt;/p&gt;

&lt;p&gt;A. Use decomposition tree (diagnostic)&lt;br&gt;
B. Use ML recommendation model&lt;br&gt;
C. Add manual comments&lt;br&gt;
D. Use a line chart only&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q7&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You need a fully automated system that suggests actions daily.&lt;/p&gt;

&lt;p&gt;A. ML model + automation&lt;br&gt;
B. Static text updated monthly&lt;br&gt;
C. Manual tags&lt;br&gt;
D. Historical-only dashboards&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q8&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Which feature predicts future sales?&lt;/p&gt;

&lt;p&gt;A. AutoML or forecasting&lt;br&gt;
B. Static text&lt;br&gt;
C. Manual trend writing&lt;br&gt;
D. Card visual&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q9&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Which is NOT prescriptive analytics?&lt;/p&gt;

&lt;p&gt;A. Optimization model&lt;br&gt;
B. Next best action&lt;br&gt;
C. Static business advice in text box&lt;br&gt;
D. Recommendation engine&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: C&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q10&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Which delivers dynamic insights?&lt;/p&gt;

&lt;p&gt;A. ML model&lt;br&gt;
B. Static text&lt;br&gt;
C. Manual report editing&lt;br&gt;
D. Hard-coded comments&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 1 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;You need to add a feature to a Power BI report that recommends the best retention action for customers predicted to churn. Which method implements &lt;strong&gt;prescriptive analytics&lt;/strong&gt; correctly?&lt;/p&gt;

&lt;p&gt;A. Integrating an Azure ML churn model that outputs recommended actions for each customer.&lt;br&gt;
B. Adding a static text box with general retention advice.&lt;br&gt;
C. Showing a historical churn trend without predictions.&lt;br&gt;
D. Updating the report manually every month with retention suggestions.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;Correct Answer: A. Integrating an Azure ML churn model that outputs recommended actions for each customer.&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This implements prescriptive analytics because the ML model can &lt;strong&gt;predict who is likely to churn&lt;/strong&gt; and then &lt;strong&gt;recommend specific actions&lt;/strong&gt; (e.g., discount, call, email). It is automated, data-driven, and scalable.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B. Static text box
&lt;/h3&gt;

&lt;p&gt;Static text is generic and NOT connected to data. It cannot provide personalized retention advice → &lt;strong&gt;NOT prescriptive&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C. Historical trend
&lt;/h3&gt;

&lt;p&gt;Historical churn charts are &lt;strong&gt;descriptive&lt;/strong&gt;, not prescriptive. They explain the past but cannot suggest actions.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D. Manual updates
&lt;/h3&gt;

&lt;p&gt;Manual work is not scalable, prone to errors, and NOT analytics-driven.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 2 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A sales dashboard must suggest which leads the team should prioritize each day. Which approach delivers true &lt;strong&gt;prescriptive analytics&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;A. Using an ML scoring model to rank leads by probability of closing.&lt;br&gt;
B. Showing a line chart of last month’s sales.&lt;br&gt;
C. Adding a generic “Follow up with leads” text box.&lt;br&gt;
D. Having analysts manually rank leads weekly.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;Correct Answer: A. Using an ML scoring model to rank leads.&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;ML scoring dynamically identifies high-value leads and automates prioritization → &lt;strong&gt;prescriptive&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B. Historical chart
&lt;/h3&gt;

&lt;p&gt;Only descriptive, no decision-making.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C. Generic text advice
&lt;/h3&gt;

&lt;p&gt;Not personalized, not dynamic.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D. Manual ranking
&lt;/h3&gt;

&lt;p&gt;Not scalable, not data-driven.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 3 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A retail analytics report should recommend whether each product should be reordered or discontinued based on demand forecasts. What should you implement?&lt;/p&gt;

&lt;p&gt;A. A demand forecasting ML model that outputs a recommended stock action.&lt;br&gt;
B. A table that lists last year’s product sales.&lt;br&gt;
C. A static note saying “Monitor inventory frequently.”&lt;br&gt;
D. Monthly manual updates from supply chain staff.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;Correct Answer: A. Demand forecasting ML model&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It provides &lt;strong&gt;future prediction + recommended action&lt;/strong&gt;, which is exactly prescriptive analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Only historical → descriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static → no analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → not scalable, not intelligent.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 4 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;You want Power BI to automatically decide the best promotional offer for each customer segment. Which solution is correct?&lt;/p&gt;

&lt;p&gt;A. Deploying a recommendation ML model and integrating it into the report.&lt;br&gt;
B. Adding a bar chart showing which promotions performed best last year.&lt;br&gt;
C. Writing generic promotional tips in a text box.&lt;br&gt;
D. Updating the promotion recommendations manually.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;This uses ML to determine the &lt;strong&gt;best action&lt;/strong&gt;, which is the core of prescriptive analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Descriptive only.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static &amp;amp; not dynamic.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → wrong for DP-600.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 5 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A financial analytics report must advise departments on how to reduce expenses. How should this be implemented?&lt;/p&gt;

&lt;p&gt;A. Using an ML optimization model that outputs recommended cost-saving actions.&lt;br&gt;
B. Displaying historical spending trends.&lt;br&gt;
C. Adding a static text box with general budgeting tips.&lt;br&gt;
D. Manually adding cost-saving suggestions each quarter.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;Optimization models + ML = &lt;strong&gt;true prescriptive analytics&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Only describes past spending.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static → no intelligence.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → not scalable.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 6 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Your customer engagement dashboard must recommend the “next best action” for users with low engagement. What method should be used?&lt;/p&gt;

&lt;p&gt;A. Build and integrate a next-best-action ML model.&lt;br&gt;
B. Show a table of users with their engagement score.&lt;br&gt;
C. Add a text box describing how to improve engagement.&lt;br&gt;
D. Let analysts manually email suggestions to teams weekly.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;Prescriptive analytics = ML-based recommendations.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Descriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static generic advice.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual process → wrong.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 7 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A manufacturing report must suggest machine maintenance actions before a failure occurs. Which approach is correct?&lt;/p&gt;

&lt;p&gt;A. Use a predictive maintenance model connected to Power BI to suggest preventive actions.&lt;br&gt;
B. Show last month’s machine downtime data.&lt;br&gt;
C. Use a static text explaining maintenance guidelines.&lt;br&gt;
D. Rely on manual monthly updates from technicians.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;This is prescriptive: prediction → recommended action.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Historical only.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static text.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → not prescriptive.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 8 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A subscription business wants the report to recommend actions for customers predicted not to renew. What method should be used?&lt;/p&gt;

&lt;p&gt;A. Use an ML renewal prediction model and map scores to recommended retention actions.&lt;br&gt;
B. Add a chart showing renewal rates last year.&lt;br&gt;
C. Write static renewal advice.&lt;br&gt;
D. Update the file manually each month.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;Prediction + Action = prescriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Descriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Not scalable.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 9 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Your dashboard must automatically suggest the best discount for each product based on profitability and forecasted demand. Which solution is correct?&lt;/p&gt;

&lt;p&gt;A. Integrate an ML model that calculates optimal discount levels.&lt;br&gt;
B. Show last year’s discount performance.&lt;br&gt;
C. Add a generic text box explaining discount strategies.&lt;br&gt;
D. Let managers manually pick discount levels.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;ML-driven optimal action → prescriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Historical.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → wrong.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 10 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A Power BI report must recommend which suppliers to prioritize based on reliability predictions. What should be implemented?&lt;/p&gt;

&lt;p&gt;A. An ML model that predicts supplier reliability and outputs recommended choices.&lt;br&gt;
B. A matrix of historical supplier performance.&lt;br&gt;
C. A text box summarizing procurement guidelines.&lt;br&gt;
D. Manual supplier ranking updated monthly.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;Predict → recommend → prescriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Descriptive only.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static info.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual = always wrong for prescriptive questions.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>learning</category>
      <category>datascience</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>🔐 Understanding Governance in Microsoft Fabric</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Tue, 02 Dec 2025 05:08:33 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/understanding-governance-in-microsoft-fabric-ggk</link>
      <guid>https://dev.to/sajjadrahman56/understanding-governance-in-microsoft-fabric-ggk</guid>
      <description>&lt;p&gt;Governance is one of those terms that often sounds heavy—something meant only for administrators, auditors, or compliance teams.&lt;br&gt;
But in reality, &lt;strong&gt;governance is the backbone of every modern data system&lt;/strong&gt;, and developers interact with it more than they realize.&lt;/p&gt;

&lt;p&gt;In Microsoft Fabric, governance ensures that your OneLake data ecosystem remains &lt;strong&gt;secure&lt;/strong&gt;, &lt;strong&gt;organized&lt;/strong&gt;, and &lt;strong&gt;usable&lt;/strong&gt; for every team—without slowing down development velocity.&lt;/p&gt;

&lt;p&gt;This article breaks down governance in the simplest way possible, using both real-world analogies and Fabric-centric explanations.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔐 What Is Governance?
&lt;/h2&gt;

&lt;p&gt;At its core:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Governance = Rules + Control + Responsible Operations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It refers to the processes, rules, and controls that ensure data, systems, and organizational workflows operate securely and correctly.&lt;/p&gt;

&lt;p&gt;Governance guarantees that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data is protected&lt;/li&gt;
&lt;li&gt;Access is controlled&lt;/li&gt;
&lt;li&gt;Quality is maintained&lt;/li&gt;
&lt;li&gt;Usage is monitored&lt;/li&gt;
&lt;li&gt;Systems behave as intended&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is not about restricting people—&lt;br&gt;
👉 &lt;strong&gt;It is about creating a disciplined ecosystem where everything works smoothly and safely.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎒 A Simple Story: School as a Governance System
&lt;/h2&gt;

&lt;p&gt;Imagine a well-managed school.&lt;/p&gt;

&lt;p&gt;The school defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Class schedules&lt;/li&gt;
&lt;li&gt;Teacher responsibilities&lt;/li&gt;
&lt;li&gt;Seating arrangements&lt;/li&gt;
&lt;li&gt;Exam policies&lt;/li&gt;
&lt;li&gt;Behavior rules&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every student and teacher follows these rules.&lt;br&gt;
This organized structure ensures the school operates smoothly.&lt;/p&gt;

&lt;p&gt;That entire rule-based management process is &lt;strong&gt;Governance&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Similarly, in Microsoft Fabric, governance ensures the data environment operates with clarity, control, and accountability.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧊 A Real-World Analogy Developers Love:
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Your Family Refrigerator = OneLake Governance
&lt;/h2&gt;

&lt;p&gt;Let’s picture your household refrigerator as your OneLake storage.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ Without governance:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Anyone takes anything without permission&lt;/li&gt;
&lt;li&gt;No one tracks what’s added&lt;/li&gt;
&lt;li&gt;Items expire silently&lt;/li&gt;
&lt;li&gt;Duplicate items waste space&lt;/li&gt;
&lt;li&gt;No clarity about what belongs to whom&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result?&lt;br&gt;
👉 Chaos, confusion, and inefficiency.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ With governance:
&lt;/h3&gt;

&lt;p&gt;The family sets simple rules:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Who can take what&lt;/strong&gt;&lt;br&gt;
Kids cannot take medicine → &lt;em&gt;Permissions&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Date labels on items&lt;/strong&gt;&lt;br&gt;
You know what’s fresh → &lt;em&gt;Metadata &amp;amp; Sensitivity&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shelves are organized by category&lt;/strong&gt;&lt;br&gt;
Top shelf for vegetables, lower shelf for fruits → &lt;em&gt;Data organization&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expired food is removed&lt;/strong&gt;&lt;br&gt;
→ &lt;em&gt;Quality control&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Everyone knows who added what&lt;/strong&gt;&lt;br&gt;
→ &lt;em&gt;Activity logs &amp;amp; tracking&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The fridge is cleaned regularly&lt;/strong&gt;&lt;br&gt;
→ &lt;em&gt;Policy enforcement &amp;amp; maintenance&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This simple set of rules creates order.&lt;br&gt;
👉 And this is exactly how governance brings structure to OneLake in Microsoft Fabric.&lt;/p&gt;




&lt;h1&gt;
  
  
  🏗 Governance in Microsoft Fabric: What It Actually Means
&lt;/h1&gt;

&lt;p&gt;Microsoft Fabric embeds governance across its entire data lifecycle—collection, storage, analysis, sharing, and monitoring.&lt;/p&gt;

&lt;p&gt;Key responsibilities include:&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Access &amp;amp; Permissions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Who can view, edit, share, or delete data.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Sensitivity Labels&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Identifying how confidential a dataset is.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Metadata Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Tracking data origin, owner, schema, and update history.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Data Quality &amp;amp; Refresh Policies&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Ensuring data stays accurate and up to date.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Audit Logs &amp;amp; Monitoring&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Recording every action—who accessed what, when, and how.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Policy Enforcement&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Applying organizational rules consistently.&lt;/p&gt;

&lt;p&gt;Fabric’s governance flows through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OneLake&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Admin Portal&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OneLake Catalog&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fabric Governance APIs and SDKs&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, they create a unified, centrally managed data environment.&lt;/p&gt;




&lt;h1&gt;
  
  
  📘 Mapping the Fridge Analogy to Fabric
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Household Fridge Concept&lt;/th&gt;
&lt;th&gt;Fabric Feature&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Who can take items&lt;/td&gt;
&lt;td&gt;Access Control / Permissions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Date labels&lt;/td&gt;
&lt;td&gt;Metadata &amp;amp; Sensitivity Labels&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shelves organized&lt;/td&gt;
&lt;td&gt;OneLake Data Layout&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Checking expiration&lt;/td&gt;
&lt;td&gt;Data Quality &amp;amp; Refresh&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who added items&lt;/td&gt;
&lt;td&gt;Audit Logs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Regular cleaning&lt;/td&gt;
&lt;td&gt;Governance Policy Enforcement&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This analogy helps teams visualize how everyday rules translate into technical governance rules.&lt;/p&gt;

&lt;h1&gt;
  
  
  🧭 The Simplest One-Line Definition
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Governance is the disciplined process of securing, organizing, and responsibly managing your data and systems.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In Fabric, this ensures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data remains trustworthy&lt;/li&gt;
&lt;li&gt;Users remain accountable&lt;/li&gt;
&lt;li&gt;Workflows remain controlled&lt;/li&gt;
&lt;li&gt;The entire platform remains future-proof&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>microsoft</category>
      <category>dataengineering</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Core Microsoft Fabric Concepts</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Sat, 29 Nov 2025 06:59:28 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/core-microsoft-fabric-concepts-342p</link>
      <guid>https://dev.to/sajjadrahman56/core-microsoft-fabric-concepts-342p</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;Core Microsoft Fabric Concepts&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. Tenant&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;Fabric tenant&lt;/strong&gt; is a dedicated, organization-wide container provided by Microsoft Fabric.&lt;br&gt;
It is the highest-level structure in the Microsoft Fabric hierarchy. A tenant is tied directly to &lt;strong&gt;Microsoft Entra ID (formerly Azure Active Directory)&lt;/strong&gt;, meaning all authentication, user identities, groups, and permissions are managed through Entra.&lt;/p&gt;

&lt;p&gt;Key characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An organization normally has a &lt;strong&gt;single tenant&lt;/strong&gt;, under which all Fabric resources exist.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Fabric tenant maps to the &lt;strong&gt;root of OneLake&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This means all data stored in the organization’s Fabric environment ultimately resides in a unified OneLake namespace.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;The tenant is responsible for hosting and managing all Fabric items, capacities, domains, and workspaces.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;It provides a boundary for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Governance&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data residency&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Licensing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Administrative control&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;The tenant sits at the &lt;strong&gt;top of the entire Fabric hierarchical structure&lt;/strong&gt;, controlling how resources are managed for the whole enterprise.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;2. Capacity&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;capacity&lt;/strong&gt; in Microsoft Fabric is a dedicated set of compute and storage resources available for use at any given time.&lt;br&gt;
These resources are what allow organizations to run workloads such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data pipelines&lt;/li&gt;
&lt;li&gt;SQL queries&lt;/li&gt;
&lt;li&gt;Notebooks&lt;/li&gt;
&lt;li&gt;Semantic model refreshes&lt;/li&gt;
&lt;li&gt;Real-time analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Important details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A tenant may have &lt;strong&gt;one or multiple capacities&lt;/strong&gt; assigned.&lt;/li&gt;
&lt;li&gt;Capacity determines how many and how large the workloads can be performed simultaneously.&lt;/li&gt;
&lt;li&gt;Each workload consumes a certain portion of capacity depending on its complexity.&lt;/li&gt;
&lt;li&gt;Capacity is governed by &lt;strong&gt;SKUs&lt;/strong&gt; (pricing tiers) offered by Microsoft, each with its own limits.&lt;/li&gt;
&lt;li&gt;During peak loads, if capacity is exhausted, tasks may slow down or queue.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Capacity defines the ability of Fabric to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run models&lt;/li&gt;
&lt;li&gt;Process data&lt;/li&gt;
&lt;li&gt;Refresh reports&lt;/li&gt;
&lt;li&gt;Produce output like dashboards and datasets&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Fabric also supports &lt;strong&gt;trial capacities&lt;/strong&gt;, enabling organizations to explore capabilities before committing to a paid tier.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;3. Domain&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;domain&lt;/strong&gt; is a logical grouping of workspaces that helps organizations structure their content according to functional or business needs.&lt;br&gt;
Domains provide an organizational layer that makes it easier to manage access, governance, and ownership.&lt;/p&gt;

&lt;p&gt;Detailed characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Domains help categorize workspaces in ways that align with how teams work.&lt;/li&gt;
&lt;li&gt;They make it easier to ensure the right people have the correct access.&lt;/li&gt;
&lt;li&gt;Governance rules (policies, permissions, lifecycle management) can be applied at the domain level.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Domains can be created based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business departments (e.g., Sales, Finance, HR)&lt;/li&gt;
&lt;li&gt;Organizational divisions&lt;/li&gt;
&lt;li&gt;Geographical regions&lt;/li&gt;
&lt;li&gt;Strategic initiatives&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A company may have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;Sales&lt;/strong&gt; domain for sales analytics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marketing&lt;/strong&gt; domain for campaign performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Finance&lt;/strong&gt; domain for budgeting and forecasting&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Domains essentially help structure workspaces in a way that is manageable and scalable.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;4. Workspace&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;workspace&lt;/strong&gt; is a collection of items (datasets, pipelines, notebooks, models, etc.) brought together within a single tenant.&lt;br&gt;
It acts as a management container where users collaborate on related projects.&lt;/p&gt;

&lt;p&gt;More detailed explanation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workspaces are the primary environment where users create, store, and manage Fabric items.&lt;/li&gt;
&lt;li&gt;They leverage the capacity assigned to them when users run workloads.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Workspaces provide role-based access control, defining which users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edit&lt;/li&gt;
&lt;li&gt;View&lt;/li&gt;
&lt;li&gt;Manage&lt;/li&gt;
&lt;li&gt;Share&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;They provide isolation and organization for independent teams or projects.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Workspaces support different types of items, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data warehouses&lt;/li&gt;
&lt;li&gt;Lakehouses&lt;/li&gt;
&lt;li&gt;Data pipelines&lt;/li&gt;
&lt;li&gt;Semantic models&lt;/li&gt;
&lt;li&gt;Reports&lt;/li&gt;
&lt;li&gt;Notebooks&lt;/li&gt;
&lt;li&gt;Dashboards&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Example use-case:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A workspace for the &lt;strong&gt;Sales Team&lt;/strong&gt; might include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A data warehouse containing sales transaction data&lt;/li&gt;
&lt;li&gt;Notebooks for data exploration&lt;/li&gt;
&lt;li&gt;Pipelines to ingest CRM data&lt;/li&gt;
&lt;li&gt;Semantic models for BI reporting&lt;/li&gt;
&lt;li&gt;Power BI reports for leadership&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Each workspace becomes a productive environment that groups all relevant assets for a specific business function.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;5. Fabric Items&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fabric items&lt;/strong&gt; are the building blocks of the Microsoft Fabric platform.&lt;br&gt;
They are the individual assets or objects that users can create and manage within Fabric workspaces.&lt;/p&gt;

&lt;p&gt;Examples of Fabric items include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data warehouses&lt;/strong&gt;: enterprise-level SQL warehouses&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lakehouses&lt;/strong&gt;: storage for big data and unstructured/structured files&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pipelines&lt;/strong&gt;: data ingestion, ETL, orchestration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Semantic models&lt;/strong&gt;: models used for analytics and reporting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reports&lt;/strong&gt;: Power BI visualizations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notebooks&lt;/strong&gt;: code-based data exploration (Python, Spark, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time analytics items&lt;/strong&gt;: KQL databases, event streams&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ML models&lt;/strong&gt;: Machine learning models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short, each Fabric item represents a functional component of the analytics and data engineering ecosystem.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;6. Why Understanding These Concepts Matters&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Understanding tenant, capacity, domain, workspace, and Fabric items is essential because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It enables effective &lt;strong&gt;governance&lt;/strong&gt; and secure data management.&lt;/li&gt;
&lt;li&gt;It helps admins allocate capacities and manage workloads efficiently.&lt;/li&gt;
&lt;li&gt;It clarifies how data flows and how resources are organized.&lt;/li&gt;
&lt;li&gt;It enables proper access control across teams.&lt;/li&gt;
&lt;li&gt;It ensures successful architecture planning and deployment of analytics solutions.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>dp600</category>
      <category>microsoft</category>
      <category>dataengineering</category>
      <category>microsoftfabric</category>
    </item>
    <item>
      <title>💡 Power BI Storage Mode — সহজ বাংলায় পূর্ণ ধারণা</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Thu, 06 Nov 2025 09:21:59 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/power-bi-storage-mode-shj-baanlaayy-puurnn-dhaarnnaa-57b1</link>
      <guid>https://dev.to/sajjadrahman56/power-bi-storage-mode-shj-baanlaayy-puurnn-dhaarnnaa-57b1</guid>
      <description>&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/training/modules/get-data/7-azure-analysis-services?studentamb_289646" rel="noopener noreferrer"&gt;Power BI&lt;/a&gt; নিয়ে কাজ করতে গেলে আমরা প্রায়ই একটা প্রশ্ন শুনি —&lt;br&gt;
👉 &lt;strong&gt;“ডেটা Power BI তে কোথায় থাকে?”&lt;/strong&gt;&lt;br&gt;
👉 &lt;strong&gt;“Import, DirectQuery, Dual — এগুলোর মানে কী?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;আজ আমরা একদম সহজভাবে বুঝে নেবো Power BI-এর &lt;strong&gt;Storage Mode&lt;/strong&gt; আসলে কী, আর কখন কোনটা ব্যবহার করা উচিত।&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Power BI Storage Mode কী?
&lt;/h2&gt;

&lt;p&gt;Storage Mode মানে হচ্ছে — Power BI তোমার ডেটা কোথায় রাখবে এবং কীভাবে সেই ডেটা ব্যবহার করবে। Power BI তিনভাবে ডেটা হ্যান্ডেল করতে পারে 👇&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Import Mode&lt;/strong&gt;&lt;br&gt;
2️⃣ &lt;strong&gt;DirectQuery Mode&lt;/strong&gt;&lt;br&gt;
3️⃣ &lt;strong&gt;Dual (Composite) Mode&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1️⃣ Import Mode – সবচেয়ে সাধারণ পদ্ধতি
&lt;/h2&gt;

&lt;p&gt;এই মোডে Power BI তোমার ডেটার একটা &lt;strong&gt;কপি&lt;/strong&gt; নিয়ে নিজের ভেতরে &lt;strong&gt;সেভ করে রাখে&lt;/strong&gt;।&lt;br&gt;
মানে — ডেটা Power BI ফাইলের ভেতরেই সংরক্ষিত হয়।&lt;/p&gt;

&lt;p&gt;🔹 সুবিধা&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;দ্রুত কাজ করে, কারণ ডেটা আগে থেকেই লোড করা থাকে।&lt;/li&gt;
&lt;li&gt;অফলাইনে কাজ করা যায়।&lt;/li&gt;
&lt;li&gt;Refresh Schedule দিয়ে সময়মতো আপডেট করা যায়।&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔹 অসুবিধা&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;প্রতিবার নতুন ডেটা দেখতে চাইলে Refresh দিতে হয়।&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📘 &lt;strong&gt;উদাহরণ:&lt;/strong&gt;&lt;br&gt;
তুমি Excel বা SQL থেকে ডেটা Import করলে Power BI সেই ডেটার একটা কপি নিজের ফাইলে রেখে দেয়।&lt;/p&gt;

&lt;h2&gt;
  
  
  2️⃣ DirectQuery Mode – লাইভ ডেটার জন্য
&lt;/h2&gt;

&lt;p&gt;এই মোডে Power BI কোনো কপি রাখে না।&lt;br&gt;
প্রতিবার তুমি যখন রিপোর্ট চালাও, Power BI &lt;strong&gt;সরাসরি সার্ভারে গিয়ে&lt;/strong&gt; ডেটা টেনে আনে।&lt;/p&gt;

&lt;p&gt;🔹 সুবিধা&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;সবসময় &lt;strong&gt;সর্বশেষ (Live)&lt;/strong&gt; ডেটা দেখা যায়।&lt;/li&gt;
&lt;li&gt;কোনো ডেটা লোকালি সেভ হয় না, তাই &lt;strong&gt;সিকিউরিটি ভালো&lt;/strong&gt;।&lt;/li&gt;
&lt;li&gt;বড় ডেটাবেস (যেমন SQL Server, Fabric, PostgreSQL) এর জন্য উপযুক্ত।&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔹 অসুবিধা&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;রিপোর্ট একটু ধীরে চলে, কারণ প্রতিবার সার্ভার থেকে ডেটা আনতে হয়।&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📘 &lt;strong&gt;উদাহরণ:&lt;/strong&gt;&lt;br&gt;
তুমি যদি Sales ডাটাবেসে সংযুক্ত হয়ে রিপোর্ট বানাও এবং চাও রিপোর্টে লাইভ ডেটা দেখাতে — তাহলে DirectQuery ব্যবহার করবে।&lt;/p&gt;

&lt;h2&gt;
  
  
  3️⃣ Dual (Composite) Mode – দুই জগতের মিশ্রণ
&lt;/h2&gt;

&lt;p&gt;এই মোডে কিছু টেবিল &lt;strong&gt;Import&lt;/strong&gt; করা হয়, আর কিছু টেবিল &lt;strong&gt;DirectQuery&lt;/strong&gt; থাকে।&lt;br&gt;
Power BI নিজে ঠিক করে কোন ডেটা লোকাল থেকে নেবে, কোনটা সার্ভার থেকে।&lt;/p&gt;

&lt;p&gt;🔹 সুবিধা&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;পারফরম্যান্স ভালো থাকে।&lt;/li&gt;
&lt;li&gt;লাইভ ও লোকাল ডেটা দুইই ব্যবহার করা যায়।&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔹 অসুবিধা&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;কনফিগার করা একটু জটিল হতে পারে।&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📘 &lt;strong&gt;উদাহরণ:&lt;/strong&gt;&lt;br&gt;
তুমি “Customer Info” টেবিলটা Import করে রেখেছো (ছোট ডেটা),&lt;br&gt;
আর “Sales Transactions” টেবিলটা DirectQuery তে রেখেছো (বড় ডেটা)।&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚙️ কোথায় পাওয়া যাবে এই অপশন?
&lt;/h2&gt;

&lt;p&gt;Power BI Desktop-এ →&lt;br&gt;
&lt;strong&gt;Model View → কোনো টেবিল সিলেক্ট করো → Properties Pane → Storage Mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;সেখানে তুমি &lt;strong&gt;Import&lt;/strong&gt;, &lt;strong&gt;DirectQuery&lt;/strong&gt;, বা &lt;strong&gt;Dual&lt;/strong&gt; থেকে যেকোনোটা বেছে নিতে পারবে।&lt;/p&gt;

&lt;h2&gt;
  
  
  🧾 সারাংশ এক নজরে
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;কাজের ধরন&lt;/th&gt;
&lt;th&gt;সুবিধা&lt;/th&gt;
&lt;th&gt;অসুবিধা&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Import&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ডেটা Power BI তে কপি হয়&lt;/td&gt;
&lt;td&gt;দ্রুত, অফলাইন কাজ চলে&lt;/td&gt;
&lt;td&gt;সবসময় আপডেট না&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DirectQuery&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;সার্ভার থেকে লাইভ ডেটা নেয়&lt;/td&gt;
&lt;td&gt;রিয়েল-টাইম ডেটা, সিকিউর&lt;/td&gt;
&lt;td&gt;একটু ধীরে চলে&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Dual&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Import + DirectQuery মিশ্রণ&lt;/td&gt;
&lt;td&gt;ফ্লেক্সিবল, পারফরম্যান্স ভালো&lt;/td&gt;
&lt;td&gt;সেটআপ জটিল&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Reference: &lt;a href="https://learn.microsoft.com/en-us/training/modules/get-data/7-azure-analysis-services?studentamb_289646" rel="noopener noreferrer"&gt;https://learn.microsoft.com/en-us/training/modules/get-data/7-azure-analysis-services?studentamb_289646&lt;/a&gt; &lt;/p&gt;

</description>
      <category>powerplatform</category>
      <category>microsoft</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Join Fabric Data Days – Learn, Compete &amp; Get Certified for FREE!</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Wed, 05 Nov 2025 15:21:29 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/join-fabric-data-days-learn-compete-get-certified-for-free-34ge</link>
      <guid>https://dev.to/sajjadrahman56/join-fabric-data-days-learn-compete-get-certified-for-free-34ge</guid>
      <description>&lt;p&gt;We all dream of achieving big things — leveling up our careers, getting certified, and proving our skills. But sometimes certifications are costly, and we have to keep waiting for discounts or vouchers. But not this time.&lt;/p&gt;

&lt;p&gt;Right now, Microsoft Fabric is offering 100% FREE certification vouchers for &lt;strong&gt;&lt;a href="https://learn.microsoft.com/en-us/challenges/w4d1bztr217wwq?studentamb_289646" rel="noopener noreferrer"&gt;DP-600&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;DP-700&lt;/strong&gt; as part of Fabric Data Days. 🚀&lt;/p&gt;

&lt;p&gt;This is your chance. Your moment. Nothing is stopping you now — except not taking the step. Make some &lt;strong&gt;time. Learn. Participate&lt;/strong&gt;. And fulfill your dream of becoming certified — without paying anything.&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%2Fxpmnf7jeg2vizk7zidoh.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%2Fxpmnf7jeg2vizk7zidoh.png" alt="demo image" width="800" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This event includes:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ Live training sessions&lt;br&gt;
✅ Student and professional Dataviz competitions&lt;br&gt;
✅ Study groups &amp;amp; hands-on challenges&lt;br&gt;
✅ Certification preparation sessions&lt;br&gt;
✅ &lt;strong&gt;Opportunity to earn &lt;em&gt;FREE&lt;/em&gt; Microsoft Fabric certification badges!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://learn.microsoft.com/en-us/challenges/w4d1bztr217wwq?studentamb_289646" rel="noopener noreferrer"&gt;DP-600&lt;/a&gt; (Fabric Analytics Engineer)&lt;/strong&gt; – Focuses on building end-to-end analytics solutions in Microsoft Fabric.&lt;br&gt;
&lt;strong&gt;DP-700 (Fabric Data Engineer)&lt;/strong&gt; – Focuses on designing, building, and managing data pipelines and lakehouse environments in Fabric.&lt;/p&gt;

&lt;p&gt;📅 &lt;strong&gt;Started November 4th&lt;/strong&gt;&lt;br&gt;
💻 Available On-Demand if you miss live sessions&lt;br&gt;
🌍 Multiple languages (English, Portuguese, Spanish &amp;amp; more!)&lt;/p&gt;

&lt;h3&gt;
  
  
  ⭐ Why You Should Join
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Learn Microsoft Fabric from industry experts&lt;/li&gt;
&lt;li&gt;Boost your resume with in-demand skills&lt;/li&gt;
&lt;li&gt;Connect with a global data community&lt;/li&gt;
&lt;li&gt;Access FREE exam preparation for &lt;strong&gt;DP-700&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://learn.microsoft.com/en-us/challenges/w4d1bztr217wwq?studentamb_289646" rel="noopener noreferrer"&gt;DP-600&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Show your talent in Dataviz contests 🏆&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔗 &lt;strong&gt;Register &amp;amp; Follow the Live Schedule:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/challenges/w4d1bztr217wwq?studentamb_289646" rel="noopener noreferrer"&gt;VISIT FOR DP 600&lt;/a&gt;&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>powerplatform</category>
      <category>azure</category>
      <category>microsoftcloud</category>
    </item>
  </channel>
</rss>
