<?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: Milan Parikh</title>
    <description>The latest articles on DEV Community by Milan Parikh (@milan_parikh_f9c399697690).</description>
    <link>https://dev.to/milan_parikh_f9c399697690</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%2F3467971%2F0bcc4058-0a2b-41e1-a887-9560225cf612.jpg</url>
      <title>DEV Community: Milan Parikh</title>
      <link>https://dev.to/milan_parikh_f9c399697690</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/milan_parikh_f9c399697690"/>
    <language>en</language>
    <item>
      <title>Power App Functions</title>
      <dc:creator>Milan Parikh</dc:creator>
      <pubDate>Wed, 03 Sep 2025 21:30:08 +0000</pubDate>
      <link>https://dev.to/milan_parikh_f9c399697690/power-app-functions-41n2</link>
      <guid>https://dev.to/milan_parikh_f9c399697690/power-app-functions-41n2</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/milan_parikh_f9c399697690" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F3467971%2F0bcc4058-0a2b-41e1-a887-9560225cf612.jpg" alt="milan_parikh_f9c399697690"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/milan_parikh_f9c399697690/mastering-power-fx-data-functions-filter-vs-search-vs-lookup-271g" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;🧠 Mastering Power FX Data Functions: FILTER vs SEARCH vs LOOKUP&lt;/h2&gt;
      &lt;h3&gt;Milan Parikh ・ Sep 3&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>🧠 Mastering Power FX Data Functions: FILTER vs SEARCH vs LOOKUP</title>
      <dc:creator>Milan Parikh</dc:creator>
      <pubDate>Wed, 03 Sep 2025 20:28:28 +0000</pubDate>
      <link>https://dev.to/milan_parikh_f9c399697690/mastering-power-fx-data-functions-filter-vs-search-vs-lookup-271g</link>
      <guid>https://dev.to/milan_parikh_f9c399697690/mastering-power-fx-data-functions-filter-vs-search-vs-lookup-271g</guid>
      <description>&lt;p&gt;When building canvas apps in Power Apps, choosing the right data function is critical—not just for app correctness, but also for performance, delegation, and maintainability. Power FX offers three key functions to retrieve data: Filter(), Search(), and LookUp() but many developers confuse their roles.&lt;/p&gt;

&lt;p&gt;This post breaks down:&lt;/p&gt;

&lt;p&gt;What each function returns&lt;/p&gt;

&lt;p&gt;When to use which one&lt;/p&gt;

&lt;p&gt;Real-world code examples with comments&lt;/p&gt;

&lt;p&gt;Best practices and performance tips&lt;/p&gt;

&lt;p&gt;Whether you're a beginner or scaling enterprise apps, this guide will save you hours of trial and error.&lt;/p&gt;

&lt;p&gt;🔍 FILTER(): The Multi-Record Finder&lt;br&gt;
✅ What it does:&lt;/p&gt;

&lt;p&gt;Returns a table of all matching records.&lt;/p&gt;

&lt;p&gt;📌 When to use:&lt;/p&gt;

&lt;p&gt;Populating galleries or data tables&lt;/p&gt;

&lt;p&gt;Applying multiple conditions&lt;/p&gt;

&lt;p&gt;Preserving tabular data structure&lt;/p&gt;

&lt;p&gt;Working with relational filtering logic&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Basic Filter - Get active US customers
Filter(
  Customers, // Source table
  Status = "Active" &amp;amp;&amp;amp; Country = "USA" // Condition: must be active AND from USA
)

// Complex Filter - Orders with preferred vendor items
Filter(
  Orders, // Primary source table
  CountRows( // Count how many order details match our criteria
    Filter(
      OrderDetails, // Related table
      OrderID = Orders.ID &amp;amp;&amp;amp; // Join condition: match order IDs
      LookUp(Vendors, ID = ProductVendorID).Preferred = true // Only preferred vendors
    )
  ) &amp;gt; 0 // Final condition: orders must include preferred vendor item
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔎 SEARCH(): The Text Hunter&lt;br&gt;
✅ What it does:&lt;/p&gt;

&lt;p&gt;Returns a table of records that contain the search string.&lt;/p&gt;

&lt;p&gt;📌 When to use:&lt;/p&gt;

&lt;p&gt;User-entered search bars&lt;/p&gt;

&lt;p&gt;Searching across multiple columns&lt;/p&gt;

&lt;p&gt;"Contains" matches instead of exact&lt;/p&gt;

&lt;p&gt;When case sensitivity doesn’t matter&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Basic Search - Match input across multiple columns
Search(
  Products, // Source table
  SearchInput.Text, // What user typed
  "Title", "Description", "Category" // Columns to search
)

// Advanced: Search + Filter combo
Filter(
  Search(
    Concatenate(Products, DiscontinuedProducts), // Merge active + discontinued
    SearchInput.Text, // User input
    "Name", "Description" // Searchable fields
  ),
  Price &amp;lt;= PriceSlider.Value &amp;amp;&amp;amp; IsAvailable = true // Further filter results
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🟡 Note: Search() is not delegable for many connectors (like SQL or SharePoint). Use carefully with large datasets!&lt;/p&gt;

&lt;p&gt;🎯 LOOKUP(): The Single Record Sniper&lt;br&gt;
✅ What it does:&lt;/p&gt;

&lt;p&gt;Returns the first record that matches your condition.&lt;/p&gt;

&lt;p&gt;📌 When to use:&lt;/p&gt;

&lt;p&gt;You only need one record&lt;/p&gt;

&lt;p&gt;Creating detail views (e.g., profile screen)&lt;/p&gt;

&lt;p&gt;Matching unique fields (e.g., Employee ID)&lt;/p&gt;

&lt;p&gt;For performance-critical scenarios&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Basic LookUp - Get employee name and email
LookUp(
  Employees, // Table to search
  EmployeeID = varSelectedID, // Match by selected ID
  {Name: Name, Email: Email} // Return only these two fields
)

// Nested LookUp - Get manager of employee’s department
LookUp(
  Managers, // Outer table
  DepartmentID = LookUp(
    Employees, // Inner table
    ID = varEmployeeID // Match employee
  ).DepartmentID, // Use employee’s department
  {Name: FullName, Contact: Phone, Office: Location} // Return these values
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚡ LookUp() is fast but only returns one record. If you use it where multiple results are expected, you’ll run into logic bugs.&lt;/p&gt;

&lt;p&gt;⚙️ Pro Tips &amp;amp; Pitfalls to Avoid&lt;/p&gt;

&lt;p&gt;✅ Best Practices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use Filter() when you need a table&lt;/li&gt;
&lt;li&gt;Use LookUp() for a single item (like a detail screen)&lt;/li&gt;
&lt;li&gt;Store repeated formulas in variables (e.g., Set() or With())&lt;/li&gt;
&lt;li&gt;Use Search() only when truly needed by users&lt;/li&gt;
&lt;li&gt;Test with real data volumes&lt;/li&gt;
&lt;li&gt;Use collections for caching frequently accessed data&lt;/li&gt;
&lt;li&gt;Build delegation-friendly formulas from the start&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🚫 Common Mistakes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using LookUp() when Filter() is required&lt;/li&gt;
&lt;li&gt;Nesting too many formulas (performance killer!)&lt;/li&gt;
&lt;li&gt;Searching large datasets with Search() (delegation issues)&lt;/li&gt;
&lt;li&gt;Not handling nulls/empty results properly&lt;/li&gt;
&lt;li&gt;Overcomplicating with non-delegable logic&lt;/li&gt;
&lt;li&gt;Forgetting that LookUp() only returns the first record&lt;/li&gt;
&lt;li&gt;Using Filter() unnecessarily when a simple LookUp() would be faster&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔚 Conclusion&lt;/p&gt;

&lt;p&gt;Choosing between Filter(), Search(), and LookUp() in Power FX is more than a syntax decision—it's a performance, usability, and maintainability strategy.&lt;/p&gt;

&lt;p&gt;Mastering these data functions lets you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build smarter and scalable apps&lt;/li&gt;
&lt;li&gt;Avoid common performance bottlenecks&lt;/li&gt;
&lt;li&gt;Enhance user experience with real-time data interactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💬 What’s your go-to Power FX tip for working with large datasets or dynamic user filters? Drop it in the comments!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Unlocking Intelligent Data Access with Microsoft Fabric Data Agent</title>
      <dc:creator>Milan Parikh</dc:creator>
      <pubDate>Fri, 29 Aug 2025 16:10:13 +0000</pubDate>
      <link>https://dev.to/milan_parikh_f9c399697690/unlocking-intelligent-data-access-with-microsoft-fabric-data-agent-3ke3</link>
      <guid>https://dev.to/milan_parikh_f9c399697690/unlocking-intelligent-data-access-with-microsoft-fabric-data-agent-3ke3</guid>
      <description>&lt;p&gt;In today’s data-driven world, organizations face increasing challenges to make complex enterprise data accessible and actionable for all users. Microsoft Fabric’s Data Agent is designed to address this challenge by enabling seamless, natural language interaction with diverse data sources empowering users to extract insights without needing deep technical expertise.&lt;/p&gt;

&lt;p&gt;What Is Microsoft Fabric Data Agent?&lt;br&gt;
The Microsoft Fabric Data Agent is a powerful AI-driven interface that allows users to query and interact with enterprise data across multiple Fabric workloads. It integrates data from lakehouses, warehouses, Power BI semantic models, and Kusto Query Language (KQL) databases into a unified experience.&lt;/p&gt;

&lt;p&gt;This unified layer enables users to ask questions in natural language and receive answers or generate analytical reports on the fly, dramatically simplifying the data exploration process.&lt;/p&gt;

&lt;p&gt;Key Benefits&lt;br&gt;
Democratized Data Access: Users across the organization regardless of their technical background can effortlessly interact with complex datasets.&lt;br&gt;
Unified Data Experience: By bridging multiple Fabric data sources, the Data Agent eliminates data silos and provides consistent insights.&lt;br&gt;
Accelerated Decision Making: Instant, AI-powered responses to natural language queries help business users make informed decisions faster.&lt;br&gt;
Seamless Integration: The agent works natively within Microsoft Fabric, ensuring smooth deployment and operation without additional infrastructure.&lt;/p&gt;

&lt;p&gt;Typical Use Cases&lt;br&gt;
Business analysts querying lakehouse data for real-time trends without writing SQL.&lt;br&gt;
Data scientists accessing curated datasets and generating reports through conversational queries.&lt;br&gt;
Executives receive on-demand summaries from Power BI semantic models to monitor KPIs.&lt;/p&gt;

&lt;p&gt;Getting Started&lt;br&gt;
Setting up the Fabric Data Agent involves configuring connections to your enterprise data sources and enabling natural language processing capabilities within your Fabric environment. Microsoft provides detailed guidance and tools to assist with deployment and integration.&lt;/p&gt;

&lt;p&gt;For a comprehensive walkthrough, visit the official documentation here: &lt;a href="https://learn.microsoft.com/en-us/fabric/data-science/data-agent-end-to-end-tutorial" rel="noopener noreferrer"&gt;Fabric Data Agent Scenario - Microsoft Learn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
The Microsoft Fabric Data Agent represents a significant leap toward making enterprise data truly accessible and actionable. By enabling natural language interaction across a broad spectrum of data sources, it empowers organizations to break down barriers between data and decision-making. As Microsoft Fabric continues to evolve, tools like the Data Agent will be essential for unlocking the full value of data in the AI-driven era.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
