<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Building an Incremental Loading Solution in Microsoft Fabric - Challenges with Custom SharePoint Nav in Data Engineering</title>
    <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4864955#M13211</link>
    <description>&lt;P&gt;Excel ist more costly to ingest due to the Meta data overhead.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Incremental refresh against non-folding sources will require ALL source data to be fetched before the partition filtering. Using ZIP files makes that much more palatable.&lt;/P&gt;</description>
    <pubDate>Mon, 03 Nov 2025 11:35:06 GMT</pubDate>
    <dc:creator>lbendlin</dc:creator>
    <dc:date>2025-11-03T11:35:06Z</dc:date>
    <item>
      <title>Building an Incremental Loading Solution in Microsoft Fabric - Challenges with Custom SharePoint Nav</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4863736#M13193</link>
      <description>&lt;P class=""&gt;I'm building an incremental loading dataflow in Microsoft Fabric to process budget data from Excel files stored in SharePoint. The solution WORKS, but requires 5+ steps and manual notebook execution—I suspect we're overcomplicating it. I'm looking for suggestions on whether there's a smarter way to leverage Fabric's built-in features. Microsoft Fabric's Dataflow Gen 2 has incremental refresh support, but I cannot use it because my first query uses a custom Power Query function (`fnGetFiles_Base1`) that:&lt;BR /&gt;- Recursively navigates SharePoint folder structures dynamically&lt;BR /&gt;- Doesn't hardcode paths (scalable for 20+ departments)&lt;BR /&gt;- Uses SharePoint.Contents() which appears incompatible with incremental refresh&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;MY HYPOTHESIS: Incremental refresh requires direct data source connections, not custom functions with external fetches. Is this correct?&lt;/P&gt;&lt;P class=""&gt;&lt;BR /&gt;&lt;STRONG&gt;Our current solution&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=""&gt;Step 1&lt;BR /&gt;├─ Query: Find_V1_A2_Files. (The query searches for files matching specific naming conventions)&lt;BR /&gt;├─ Action: Fetch ALL files from SharePoint + identify by filename pattern&lt;BR /&gt;├─ Logic: Uses fnGetFiles_Base1() custom function + filename validation&lt;BR /&gt;├─ Output: All files matching naming convention + custom column LoadingTime for timestamp&lt;BR /&gt;└─ Destination: Lakehouse (Replace mode)&lt;BR /&gt;&lt;STRONG&gt;Step 2 Previous Run Reference&lt;/STRONG&gt;&lt;BR /&gt;├─ Query: Find_V1_A2_Files_Previous (this is the same query as step 1, is used in next step)&lt;BR /&gt;├─ Action: Cache the previous run's results&lt;BR /&gt;└─ Purpose: Enables incremental comparison&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;&lt;STRONG&gt;STEP 3 Incremental Filtering (Manual Implementation)&lt;/STRONG&gt;&lt;BR /&gt;├─ Query: Find_V1_A2_Files_Previous_Filtered&lt;BR /&gt;├─ Logic: JOIN + FILTER&lt;BR /&gt;│ - JOIN: Current vs Previous by [Name]&lt;BR /&gt;│ - Filter: WHERE [Date modified] &amp;gt; [LoadingTime_Previous]&lt;BR /&gt;├─ Output: ONLY new/modified files&lt;BR /&gt;└─ No destination (intermediate query)&lt;BR /&gt;&lt;STRONG&gt;STEP: 4 Data Processing&lt;/STRONG&gt;&lt;BR /&gt;├─ Query: Department_V1 (processes V1 files)&lt;BR /&gt;├─ Query: Department_V2 (processes V2 files)&lt;BR /&gt;├─ Input: Uses Find_V1_A2_Files_Previous_Filtered&lt;BR /&gt;├─ Logic:&lt;BR /&gt;│ - Reads Excel workbooks&lt;BR /&gt;│ - Expands data tables&lt;BR /&gt;│ - Adds LoadingTime_Prosessed for tracking&lt;BR /&gt;└─ Destination: Lakehouse (Append mode)&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;Since we use Append mode, if a file is modified again after initial processing, the same rows (identified by 3 column) get appended again. This creates duplicates that require post-processing deduplication. So next step is to Deduplication&amp;nbsp; with Notebook&lt;/P&gt;&lt;P class=""&gt;├─ Tool: Python notebook with PySpark&lt;BR /&gt;├─ Logic:&lt;BR /&gt;│ - Window function: RANK BY (column1, column2, column3)&lt;BR /&gt;│ ordered by DESC(LoadingTime_Prosessed)&lt;BR /&gt;│ - Filter: Keep only rank = 1&lt;BR /&gt;│ - Output: Retain latest version of each record&lt;BR /&gt;└─ Action: OVERWRITE table in Lakehouse&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. Can incremental refresh work with REST API-based SharePoint access instead of .Contents()?&lt;BR /&gt;2. Are we missing a Fabric-native alternative to this architecture?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would greatly appreciate any feedback or insights from the community.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 31 Oct 2025 17:57:11 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4863736#M13193</guid>
      <dc:creator>Felpan</dc:creator>
      <dc:date>2025-10-31T17:57:11Z</dc:date>
    </item>
    <item>
      <title>Re: Building an Incremental Loading Solution in Microsoft Fabric - Challenges with Custom SharePoint Nav</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4863997#M13197</link>
      <description>&lt;P&gt;Yes incremental refresh in fabric dataflow gen2 requires a direct query folding compatible data source&amp;nbsp;and SharePoint.Contents()&amp;nbsp;breaks folding. Once folding is broken fabric cannot automatically track deltas or apply range filters which makes incr refresh unavailable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. REST API based SharePoint access:&lt;BR /&gt;you can implement incr refresh if you switch to the sharePoint REST API or Graph API via Web.Contents(). This approach allows you to control pagination and filtering (?$filter=Modified ge ...), making the source foldable-like and enabling fabric’s incremental refresh to work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. Fabric native alternative:&lt;/P&gt;&lt;P&gt;more maintainable architecture is:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Use a dataflow gen2 (staging) that calls the sharePoint REST API and lands metadata (file name, modified date, path) in Lakehouse in &lt;EM&gt;replace mode&lt;/EM&gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Use a 2nd dataflow or data Pipeline to perform &lt;EM&gt;incremental merge&lt;/EM&gt; (using ModifiedDate as watermark) into a curated Lakehouse table.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Use notebook or data pipeline activity only for business logic, not deduplication. Fabric’s delta merge in Lakehouse (via Spark SQL MERGE INTO) can handle updates natively.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;In short I can advise the following, you have to decide which would be apt to your scenario:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Incremental refresh = not supported with SharePoint.Contents() or custom recursive functions&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Switch to REST API + metadata staging + Lakehouse merge for a Fabric native automated, and scalable incremental load.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Sat, 01 Nov 2025 11:59:03 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4863997#M13197</guid>
      <dc:creator>Vinodh247</dc:creator>
      <dc:date>2025-11-01T11:59:03Z</dc:date>
    </item>
    <item>
      <title>Re: Building an Incremental Loading Solution in Microsoft Fabric - Challenges with Custom SharePoint Nav</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4864212#M13199</link>
      <description>&lt;LI-CODE lang="markup"&gt;MY HYPOTHESIS: Incremental refresh requires direct data source connections, not custom functions with external fetches. Is this correct?&lt;/LI-CODE&gt;
&lt;P&gt;"requires"&amp;nbsp; is a strong word.&amp;nbsp; "prefers"&amp;nbsp; describes it better.&amp;nbsp; But yes, a Direct Query source is better at limiting the data that needs to travel over the network for the processing of each partition.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Don't use Excel files. Use CSV archives.&lt;/P&gt;
&lt;P&gt;Don't use recursive functions. There's really no need for them other than the academic joy.&lt;/P&gt;
&lt;P&gt;Use the standard SharePoint.Contents and filter your Folder Path and File Name patterns early&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Avoid any merges or "Combine binaries".&amp;nbsp; Do this yourself. I have a blog entry on that option :&amp;nbsp;&lt;A href="https://community.fabric.microsoft.com/t5/Power-BI-Community-Blog/Streamlined-process-for-appending-multiple-files-with-similar/ba-p/4676231" target="_blank"&gt;Streamlined process for appending multiple files w... - Microsoft Fabric Community&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 02 Nov 2025 00:02:56 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4864212#M13199</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2025-11-02T00:02:56Z</dc:date>
    </item>
    <item>
      <title>Re: Building an Incremental Loading Solution in Microsoft Fabric - Challenges with Custom SharePoint Nav</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4864676#M13205</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Don't use Excel files. Use CSV archives. Is there CSV archives of Excel files in Sharepoint? Can you explain?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Nov 2025 07:20:56 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4864676#M13205</guid>
      <dc:creator>Felpan</dc:creator>
      <dc:date>2025-11-03T07:20:56Z</dc:date>
    </item>
    <item>
      <title>Re: Building an Incremental Loading Solution in Microsoft Fabric - Challenges with Custom SharePoint Nav</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4864955#M13211</link>
      <description>&lt;P&gt;Excel ist more costly to ingest due to the Meta data overhead.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Incremental refresh against non-folding sources will require ALL source data to be fetched before the partition filtering. Using ZIP files makes that much more palatable.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Nov 2025 11:35:06 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4864955#M13211</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2025-11-03T11:35:06Z</dc:date>
    </item>
    <item>
      <title>Re: Building an Incremental Loading Solution in Microsoft Fabric - Challenges with Custom SharePoint Nav</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4867983#M13289</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="767564" data-lia-user-login="Felpan" class="lia-mention lia-mention-user"&gt;Felpan&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;I’d like to thank  &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="100342" data-lia-user-login="lbendlin" class="lia-mention lia-mention-user"&gt;lbendlin&lt;/a&gt;&amp;nbsp; , for their valuable contributions to the community and for sharing helpful solutions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="767564" data-lia-user-login="Felpan" class="lia-mention lia-mention-user"&gt;Felpan&lt;/a&gt;&amp;nbsp;, I hope lbendlin’s guidance was useful in resolving your issue. If you have any more questions or need additional support, please don’t hesitate to ask. We’re here to help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&amp;nbsp;&lt;BR /&gt;Community Support Team&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 09 Nov 2025 14:56:40 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4867983#M13289</guid>
      <dc:creator>V-yubandi-msft</dc:creator>
      <dc:date>2025-11-09T14:56:40Z</dc:date>
    </item>
    <item>
      <title>Re: Building an Incremental Loading Solution in Microsoft Fabric - Challenges with Custom SharePoint Nav</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4870213#M13327</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="767564" data-lia-user-login="Felpan" class="lia-mention lia-mention-user"&gt;Felpan&lt;/a&gt;&amp;nbsp;,&amp;nbsp;is the issue resolved now, or are you still facing any difficulties? If you need any additional details or support, please feel free to share.&lt;/P&gt;
&lt;P&gt;&lt;BR data-start="196" data-end="199" /&gt;Thank you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 09 Nov 2025 14:58:28 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Building-an-Incremental-Loading-Solution-in-Microsoft-Fabric/m-p/4870213#M13327</guid>
      <dc:creator>V-yubandi-msft</dc:creator>
      <dc:date>2025-11-09T14:58:28Z</dc:date>
    </item>
  </channel>
</rss>

