Fabric Weekly

2026-W43

Oct 19, 2026 – Oct 22, 2026 · 15 articles · 1 low-priority · latest →

AI Readiness · 4

Install DAX libraries into Power BI Desktop by asking your AI assistant

SQLBI Oct 22, 2026 3/5 · Tier B AI ReadinessSemantic Model announcement

<p>The <strong>DAX Lib MCP server 0.1.0</strong> connects any local (stdio) MCP client, such as Claude, Codex, GitHub Copilot in VS Code or Cursor, to the DAX Lib catalog of <strong>DAX user-defined functions</strong> and to the Power BI Desktop models open on the same machine. Through the assistant you can search packages, read READMEs and versions, list open models and install a package's functions into a chosen model.</p><p>The server downloads the package and writes the original function code (formatting and comments intact) directly into the model. The assistant does not retype it. Functions with the same name are replaced and nothing else in the model changes. The file is not saved for you. The install tool is flagged as data-changing, so most clients ask for approval first. The server is MIT open source with no telemetry.</p><p>Limits:</p><ul><li>It runs on Windows x64 only and needs Node.js 18 or later.</li><li>It targets local Desktop models only.</li><li>The model needs <strong>compatibility level 1702 or higher</strong>, and the server will not raise it for you.</li><li>It cannot remove or update functions. You update by reinstalling the newer version.</li><li>If you omit the version, you get the latest one, which may be a prerelease.</li></ul>

Practical MCP tooling for installing DAX UDF libraries; clear limits, niche impact.

How to write AI agent skills

Tabular Editor Oct 20, 2026 3/5 · Tier B AI ReadinessSemantic Model tutorial

<p><strong>Agent skills</strong> are folders containing a <strong>SKILL.md</strong> Markdown file, plus optional references, scripts and assets folders. They follow an open standard that originated at Anthropic. The YAML <strong>frontmatter</strong> (name, description, optional allowed-tools) is always loaded into the agent's context. The instructions load only when the skill is invoked, either by a slash command or automatically when the description matches the task. Reference files load only when the instructions point the agent to them.</p><p>This <strong>progressive disclosure</strong> keeps always-loaded context small, which cuts token cost and protects output quality. A vague description means the agent never loads the skill. An overpromising one means it loads on the wrong tasks and steers the agent off course. Telling an agent to read a skill file is not the same as installing the skill, because you lose the harness integration and progressive loading.</p><p>Skills supply context, not tools, which sets them apart from <strong>MCP servers</strong>. They should encode business definitions and processes that agents cannot infer, not technical detail they can already figure out. Write them iteratively: run the task, record where the agent failed, then refine. Cut prescriptive text that confuses more than it helps. Version skills in Git next to the model code so they do not drift.</p>

Practical guidance on agent skills for semantic model work; no Fabric limits or cost.

Retiring the Fabric data agent custom tool in Microsoft Foundry: move to Fabric IQ

Fabric Updates Oct 19, 2026 4/5 · Tier A AI ReadinessBreaking ChangeMigration announcement

<p>The <strong>custom-connection integration</strong> that let Microsoft Foundry agents call a Fabric data agent as a custom tool is deprecated and stops being supported on <strong>6 November 2026</strong>. The replacement is the <strong>Fabric IQ (OneLake Catalog) tool</strong>, currently in Preview.</p><p>With the new integration, published data agents appear by name in the OneLake Catalog inside the Foundry portal, so no workspace or artifact IDs are needed. A single Foundry agent can call <strong>multiple data agents</strong>, where the old integration allowed only one. Each data agent is exposed as a tool through an <strong>MCP endpoint</strong>, and responses will soon include the generated query.</p><p>Migration runs either through the portal (add the Fabric IQ tool, pick the agent, rewrite instructions, remove the old tool) or through code. The code path creates a Foundry connection via ARM REST with <strong>authType UserEntraToken</strong>, category RemoteTool, the data agent MCP URL as target and audience api.fabric.microsoft.com. It uses <strong>isSharedToAll true</strong>, then references the full connection resource ID from the SDK. Calls run as the signed-in user, so Fabric permissions apply per user.</p>

Hard retirement deadline 11/6/2026 for Foundry custom-tool data agent integration; migration steps.

Advanced NL2SQL and advanced DAX generation in Fabric data agents (Generally Available)

Fabric Updates Oct 19, 2026 4/5 · Tier A AI ReadinessSemantic Model announcement

<p><strong>Advanced NL2SQL</strong> and <strong>advanced DAX generation</strong> in Fabric data agents are now GA. The core improvements roll into the standard runtime between <strong>2 and 10 November</strong>. Instead of generating a query in one pass, the agent uses sub-tools to explore the schema, test joins and look up real filter values (for example "California" mapping to "CA") before writing SQL or DAX. Each step and assumption is visible in the run steps.</p><p>Advanced NL2SQL works in three modes: <strong>example-query following</strong> (adapting an approved example), <strong>clarifying questions</strong>, and <strong>data exploration</strong>. Two new configurations apply to SQL sources on the preview runtime:</p><ul><li><strong>Schema descriptions</strong> add business meaning to tables and columns.</li><li><strong>Topics</strong> hold subject-specific Markdown guidance that the agent retrieves only when it is relevant, unlike data source instructions, which are always sent.</li></ul><p>On Microsoft's internal benchmark, smart-answer accuracy rose from 78.8% to 90.9%. P50 latency fell from 28.4s to 26.0s and P95 from 46.8s to 32.9s. Advanced DAX uses <strong>instance value indexing</strong> over real column values and aims for consistent answers across the data agent, Power BI and M365 Copilot.</p>

GA with benchmark accuracy/latency numbers and runtime rollout dates requiring agent re-testing.

API Automation · 1

Connect coding agents to Fabric notebooks with FNTK (Preview)

Fabric Updates Oct 21, 2026 3/5 · Tier B API AutomationPySparkAI Readiness announcement

<p><strong>Fabric Notebook Toolkit (FNTK)</strong> is a preview CLI that lets coding agents work against live Fabric notebooks. Supported agents include Claude Code, GitHub Copilot CLI and Codex. The agent can do three things:</p><ul><li>Discover workspaces, notebooks and lakehouses.</li><li>Read and edit cells.</li><li>Execute a single cell in a persistent session, then iterate without resubmitting the whole notebook.</li></ul><p>Diagnostics are exposed through <strong>fntk monitor</strong> and <strong>fntk logs</strong>. These return cell output, Spark job state, and driver, executor and Livy logs as structured JSON with suggested next actions.</p><p>Other command groups:</p><ul><li><strong>init</strong> installs agent workflow skills.</li><li><strong>notebook</strong>, <strong>cell</strong> and <strong>code</strong> manage notebooks, cells and execution.</li><li><strong>resource</strong> manages notebook resource files.</li><li><strong>server</strong> runs a local server.</li></ul><p>Execution runs on Fabric capacity. A Microsoft data team reports pairing FNTK with an Azure DevOps MCP server for user-story context. The post gives no cost, security-model or limits detail.</p>

Agent-driven live notebook execution and log access; useful but preview without cost details.

Migration · 2

Incrementally migrate and re-migrate database objects with Migration Assistant for Fabric Warehouse (Preview)

Fabric Updates Oct 21, 2026 4/5 · Tier A MigrationWarehouse announcement

<p><strong>Incremental migration</strong> for Fabric Data Warehouse (Preview) lets Migration Assistant run repeatedly against the same destination Warehouse. Each run migrates a selected subset of object definitions, not every source object. Sources can be SQL Server, Synapse dedicated SQL pools or Teradata. The destination can be empty, previously migrated, or a Warehouse built by other means.</p><p>From the Warehouse <strong>Migration tab</strong>, <strong>Get more objects</strong> starts a new run. The selection dialog flags <strong>naming conflicts</strong> and auto-includes <strong>direct dependencies</strong>, so the final scope can be larger than what you picked. Non-conflicting objects are created immediately. Conflicting ones stay pending until you resolve each one in a side-by-side SQL diff:</p><ul><li><strong>Keep existing</strong> — retain the destination definition.</li><li><strong>Keep incoming</strong> — replace it with the new translated definition.</li><li><strong>Rename incoming</strong> — create the new object under a different name.</li></ul><p>Key limits:</p><ul><li>It migrates definitions only. There is no continuous row sync, and data loading is a separate step.</li><li>Replacing a table can force a data reload and revalidation of dependents.</li><li>Consolidating several sources into one Warehouse does not reconcile definitions or merge data.</li></ul>

Phased warehouse migration with conflict resolution; preview with concrete behavior and limits.

Simplify Teradata migrations with Fabric Migration Assistant (Preview)

Fabric Updates Oct 21, 2026 4/5 · Tier A MigrationWarehouse announcement

<p><strong>Fabric Migration Assistant</strong> for Data Warehouse now accepts Teradata sources in preview. You upload a ZIP of <strong>.sql</strong> and <strong>.bteq</strong> files, choose the objects in scope, and the tool translates them to Fabric T-SQL. It deploys eligible:</p><ul><li>tables</li><li>views</li><li>stored procedures</li><li>SQL functions</li><li>macros, which become stored procedures</li></ul><p>Volatile tables map to local temp tables. Untranslatable scripts land in <strong>Objects to fix</strong>, with source, translation comments and errors. Copilot <strong>Fix query errors</strong> can suggest corrections where it is enabled.</p><p>For <strong>BTEQ</strong>, only SQL and supported control flow become stored procedures. Imports, exports, scheduling and external operations must be rebuilt with <strong>COPY INTO</strong>, pipelines or other services.</p><p>Data is not moved by the tool. Three loading options are offered:</p><ul><li><strong>Copy job</strong> from the Copy data step: full copy, plus incremental where the source supports it.</li><li><strong>ADLS Gen2 staging plus COPY INTO</strong> for large historical loads.</li><li><strong>Pipelines</strong> for orchestrated or custom-recovery loads.</li></ul><p>The guidance separates three outcomes: translation, deployment and validated behavior.</p>

Teradata source support with concrete mappings, BTEQ handling and data-movement options.

Real-Time Intelligence · 3

Explore and process multiple event types with Schema-aware Fabric Eventstreams (Preview)

Fabric Updates Oct 22, 2026 3/5 · Tier B Real-Time IntelligenceData Quality announcement

<p><strong>Schema-aware Eventstreams</strong> (Preview) let a single Eventstream recognise several event types while data is in motion, instead of treating a mixed feed as one wide, sparse schema. The data preview groups live events by type. You can inspect payload, headers and metadata, expand nested JSON, and export samples before building any processing logic.</p><p>Three maturity levels coexist in one stream:</p><ul><li><strong>Schematized events</strong> are CloudEvents whose <strong>ce_type</strong> header references a schema registered in <strong>Event SchemaSet</strong> (GA) or the Fabric Schema Registry.</li><li><strong>Classified events</strong> are split by a field you choose, such as deviceType or eventType, through the new Classifier workflow. They do not become registered contracts.</li><li><strong>Untyped events</strong> stay visible without any declared structure. Events with a null or missing classifier value also stay untyped.</li></ul><p>Supported operators such as Filter, and destinations such as Eventhouse, Lakehouse, custom endpoints and derived streams, can take one event type as input. They then see only that type's fields. One important behavior: events from schema-associated sources that fail validation are <strong>dropped</strong> and reported only in runtime logs, not routed as untyped. The post gives no cost or throughput figures.</p>

Preview RTI feature with useful behavior details on schema routing, validation drops.

Create purpose-built custom visuals in Real-Time Dashboards with Copilot (Preview)

Fabric Updates Oct 22, 2026 2/5 · Tier B Real-Time IntelligenceAI Readiness announcement

<p><strong>Custom visuals with Copilot</strong> are in preview for Real-Time Dashboards. In Editing mode you choose <strong>Add visual &gt; Describe a visual</strong> and describe the operational view you need. Copilot then generates a KQL query plus an <strong>HTML-based visualization</strong> and adds it as a new tile, for example entrances laid out spatially with congestion colouring, or a service-dependency health graph.</p><p>You refine the result iteratively in tile edit mode through the Copilot pane, adjusting the query or the visual, then apply and save. The setup requires a configured identity and a cloud connection on the dashboard's data sources. The post gives no limits, capacity cost, security model for the generated HTML, or accuracy guidance beyond advice to validate the output.</p>

Bare preview of Copilot-generated RTI visuals; no limits, cost or governance detail.

From mixed events to real-time action: Fabric Eventstreams Q3 2026

Fabric Updates Oct 20, 2026 3/5 · Tier B Real-Time IntelligenceCI/CD announcement

<p>Eventstreams Q3 2026 broadens Fabric's streaming layer from connectivity toward in-flight processing and operations.</p><p><strong>Generally available:</strong></p><ul><li>Connectors for SAP Datasphere, Cribl, Solace PubSub+ and MQTT.</li><li><strong>Mirrored Database Change Feed</strong> and <strong>MongoDB CDC</strong>, both feeding DeltaFlow transformations.</li><li><strong>Schema Registry and Event Schema Sets</strong>: versioned Avro contracts.</li><li>Activator rule management inside Eventstream.</li></ul><p><strong>In preview:</strong></p><ul><li><strong>Custom Stream Connector</strong>, which brings your own Kafka Connect source connectors.</li><li><strong>Schema-aware Eventstreams</strong>: multiple event types in one stream, classified by registered schema or a discriminator field.</li><li><strong>Reference Data with Delta Table</strong>: INNER and LEFT OUTER joins against lakehouse or warehouse tables, including shortcuts.</li><li>Workspace Monitoring and diagnostic logs.</li><li>Capacity Operation Events as a stream source.</li><li>Workspace-level Private Link.</li><li><strong>Variable Library</strong> support for environment promotion.</li></ul>

Quarterly RTI roundup: GA connectors, schema registry, reference joins, monitoring, Variable Library support.

Semantic Model · 1

Continuous axis for any Date table in Power BI

SQLBI Oct 19, 2026 3/5 · Tier B Semantic ModelReport Authoring tutorial

<p>A custom Date table can now behave like the hidden <strong>auto date/time</strong> table, keeping a <strong>continuous X-axis</strong> in line charts at year, quarter, month or week level. Month and quarter labels can stay as sorted text columns. The behavior comes from column metadata, not from special treatment of Power BI's own tables.</p><p>Four conditions must be met:</p><ul><li>The visual uses levels of a <strong>user hierarchy</strong>. Loose columns are not enough.</li><li>The lowest level is a date column with <strong>dataCategory: PaddedDateTableDates</strong>. This property is undocumented but required.</li><li>The top level has <strong>dataCategory: Years</strong>.</li><li>The visual includes levels starting from that Years level.</li></ul><p>The Date column must also be <strong>isKey</strong>, which marking the table as a date table sets. The table-level dataCategory: Time is ignored. Intermediate levels can be any date-categorized column.</p><p>Power BI Desktop's Data category dropdown does not offer these values. You have to set them in <strong>TMDL view</strong>, <strong>Tabular Editor</strong> or the <strong>Power BI Modeling MCP server</strong>. One cosmetic side effect: tooltips repeat the year when a level such as Year Month already contains it. Other visuals, slicers and filters behave as before.</p>

Concrete TMDL metadata recipe giving any Date table auto date/time's continuous axis.

Warehouse · 3

T-SQL language enhancements in Microsoft Fabric Data Warehouse (Preview)

Fabric Updates Oct 20, 2026 2/5 · Tier B Warehouse announcement

<p>Fabric Data Warehouse adds four T-SQL language features in preview:</p><ul><li><strong>GROUP BY ALL</strong> groups by every non-aggregate expression in the SELECT list.</li><li><strong>ORDER BY ALL</strong> sorts by the SELECT columns in their listed order.</li><li><strong>QUALIFY</strong> filters rows after window functions are evaluated, removing the wrapper CTE for top-N and dedup patterns.</li><li><strong>FROM ... SELECT</strong> lets a query start with its source and define the selected columns afterward.</li></ul><p>The post includes no performance, limitations or SQL analytics endpoint support details. The goal is shorter, more maintainable queries.</p>

Bare preview of T-SQL syntax sugar; useful but no behavior or limits.

New analytical functions in Microsoft Fabric Data Warehouse (Preview)

Fabric Updates Oct 20, 2026 2/5 · Tier B Warehouse announcement

<p>Fabric Data Warehouse and the SQL analytics endpoint add new analytical functions in preview:</p><ul><li><strong>MEDIAN</strong> and <strong>QUANTILE</strong> for exact results.</li><li><strong>APPROX_MEDIAN</strong> and <strong>APPROX_QUANTILE</strong> for faster estimates on large datasets.</li><li><strong>Aggregate syntax</strong> for the existing PERCENTILE_CONT and PERCENTILE_DISC, alongside their window forms.</li></ul><p>Each function works as an aggregate or as a window function. The post does not give approximation error bounds or performance numbers.</p>

Preview MEDIAN/QUANTILE functions; handy for statistics but no accuracy or cost details.

Fabric Data Warehouse integration with Fabric User Data Functions (Preview)

Power BI Updates Oct 19, 2026 2/5 · Tier B WarehouseAPI Automation announcement

<p>Fabric Data Warehouse can call <strong>Fabric User Data Functions</strong> in preview. You define a T-SQL <strong>external function</strong> with CREATE FUNCTION ... AS EXTERNAL FUNCTION that maps to a published Python function. You then call it from SELECT, INSERT or UPDATE, and each call is delegated to the UDF runtime.</p><p>Suggested uses include:</p><ul><li>Calling APIs and sending email or Teams messages.</li><li>Parsing files and reading or writing other Fabric stores.</li><li>Retrieving secrets from Key Vault or variable libraries.</li><li>Custom encryption or masking, and enrichment such as IBAN validation or ML scoring.</li></ul><p>The example derives IPv6 /48 prefixes with Python's ipaddress module inside an UPDATE.</p><p>The post does not state throughput, batching, CU cost or failure semantics.</p>

Preview: T-SQL external functions calling Python UDFs; no cost or limit details.

Low priority — 1 item (safe to skip)