tips & tricks
808 TopicsIs Your Power BI Report Slow? 5 Data Modeling Mistakes You Should Check First
Power BI performance issues aren’t always caused by large datasets; poor data modeling can also slow down reports, slicers, and DAX measures. In this article, we’ll explore five common data-modeling mistakes that impact performance and practical ways to optimize your Power BI reports. 1. Building One Giant Flat Table The Mistake One of the most common approaches is putting everything into a single table: Customer information Product information Transaction details Location Dates Categories Measures Status fields At first, this seems simpler because there are fewer relationships to manage. But a single, wide table can introduce data duplication and make the model harder to optimize. Why It Can Hurt Performance Power BI's VertiPaq engine uses columnar storage and compression. The efficiency of that compression depends heavily on the characteristics of your columns. A large flat table can contain: Repeated descriptive values High-cardinality columns Unnecessary columns Duplicated customer or product attributes For example, imagine a fact table containing 10 million transactions where Customer Name, Customer City, Customer State, and Product Category are repeated across every transaction. You're storing the same descriptive information over and over again. The Fix: Build a Star Schema Instead of one giant table, separate your model into fact tables and dimension tables. Fact tables Sales Transactions Encounters Claims Inventory Dimension tables Date Customer Product Provider Location The fact table should contain the events or transactions you want to analyze, while dimension tables provide the descriptive attributes used for filtering and grouping. For example: DimDate | | DimCustomer ---- FactSales ---- DimProduct | | DimLocation This structure reduces redundancy, improves model organization, and aligns well with how Power BI's storage engine is designed to work. Pro Tip Don't just remove columns randomly. Instead, ask: Does this column need to exist in this table? If a descriptive attribute belongs in a dimension, move it there. 2. Using Bidirectional Relationships Everywhere The Mistake You create a relationship and immediately set the cross-filter direction to Both because it makes filters appear to "work everywhere." It seems convenient. But as your model grows, bidirectional relationships can introduce unnecessary complexity. Why It Can Hurt Performance With single-direction filtering, filters typically flow from the dimension to the fact table: DimCustomer → FactSales With bidirectional filtering: DimCustomer ↔ FactSales Filter context can now travel in both directions. When multiple tables and relationships are involved, this can create: Ambiguous filter paths More complex query behavior Unexpected filtering Difficult-to-debug totals Additional performance overhead in complex models This becomes especially important when your model contains multiple fact tables or many-to-many relationships. The Fix Use single-direction relationships by default. For a typical star schema: Dimension → Fact Use bidirectional filtering only when you have a specific reason for it and have tested its impact. If you need bidirectional behavior for a particular calculation, you can sometimes handle it within the measure using CROSSFILTER() rather than changing the relationship behavior across the model. Pro Tip If your report suddenly starts showing unexpected totals or filters are affecting tables you didn't expect, inspect your relationships. Relationship direction is often one of the first places worth checking. 3. Putting Multiple Business Processes Into One Fact Table The Mistake You have Sales, Returns, Inventory, Support Tickets, and other business processes, and decide to put everything into one massive fact table. At first, this may seem convenient. But there's a fundamental modeling problem: Different business processes usually have different grains. What Is Grain? The grain defines what one row represents. For example: One row = one sales transaction One row = one product shipment One row = one customer support ticket One row = one patient encounter These represent different business processes with different grains. Trying to combine them into one fact table can result in: Many blank columns Multiple flags indicating row types Complicated DAX Duplicate information Difficult-to-understand logic Larger and harder-to-maintain tables You may eventually find yourself writing logic like: IF( TransactionType = "Sales", ..., IF( TransactionType = "Return", ..., ... ) ) That's often a sign that one table is trying to do too many jobs. The Fix: Use One Fact Table Per Business Process Instead, create separate fact tables: DimDate / \ / \ FactSales FactReturns \ / \ / DimProduct Both fact tables can use shared dimensions such as: Date Customer Product Location These are often called conformed dimensions. This allows you to analyze different business processes consistently without forcing them into a single fact table. Pro Tip Before creating a fact table, write one sentence describing its grain: "One row represents ______." If you can't clearly complete that sentence, your table design probably needs another look. 4. Composite Models: When to Mix Import and DirectQuery The Mistake: Assuming you have to choose one storage mode for your entire model. Why It Matters Import mode loads data into memory using VertiPaq, generally providing fast report interactions. However, the data depends on refreshes. DirectQuery queries the source system when data is requested, allowing fresher data but making performance more dependent on the source database, network, and query complexity. Composite models allow you to combine Import and DirectQuery tables within the same semantic model. When to Consider a Composite Model Use a composite model when different parts of your data have different requirements. For example: Power BI Model | ┌───────────┴───────────┐ ↓ ↓ Import Mode DirectQuery ↓ ↓ Dimensions / Summary Large Fact Table Relatively stable Frequently changing You might: Keep relatively small, frequently used dimension tables in Import mode. Keep very large or frequently changing fact tables in DirectQuery. Use aggregation tables to answer common summary queries from Import-mode data while retaining access to detailed DirectQuery data. Incorporate native queries within DirectQuery sources to offload complex transformations directly to the underlying database engine. You can also extend models using DirectQuery for Power BI semantic models and Analysis Services, allowing live connection sources to be combined with imported data. Technical Note Composite models can introduce additional complexity, particularly when relationships cross storage modes. Test the model with realistic report queries and user interactions rather than assuming that combining storage modes will automatically improve performance. Pro Tip Don't choose DirectQuery simply because your dataset is large. Ask two questions: How fresh does the data need to be? Can Import mode meet that requirement? If your data can be refreshed every few hours or once a day, Import may provide a much better user experience than DirectQuery. 5. Creating Dozens of Duplicate Time-Intelligence Measures The Mistake Your model starts with: Sales Profit Quantity Then you add: Sales YTD Profit YTD Quantity YTD Then, Sales MTD Profit MTD Quantity MTD And eventually, Sales PY Profit PY Quantity PY Before long, your Fields pane contains dozens—or even hundreds—of similar measures. The calculations may be correct, but maintaining them becomes increasingly difficult. A change to your time-intelligence logic may require updating many individual measures. The Fix: Calculation Groups Calculation groups allow you to define reusable calculation logic once and apply it to multiple measures. For example, instead of creating a separate YTD measure for every metric, you can create a YTD calculation item that works with: Sales Profit Quantity Revenue Visits Claims The same approach can be used for: YTD MTD QTD Previous Year Year-over-Year Variance Calculation groups can be created directly in Power BI Desktop from Model view. They can also be managed using external tools such as Tabular Editor. A simplified concept looks like this: Base Measure ↓ Calculation Group ↓ YTD / MTD / PY / YoY For example, a Previous Year calculation item could use: CALCULATE( SELECTEDMEASURE(), SAMEPERIODLASTYEAR('Date'[Date]) ) The SELECTEDMEASURE() function allows the same calculation item to be applied to different base measures. This can significantly reduce duplicated measures and make your semantic model easier to maintain. Important Note Calculation groups are primarily a modeling and maintainability technique. They aren't a magic performance switch. If an underlying measure is inefficient, putting it inside a calculation group won't automatically make it faster. The main benefit is reducing repetitive calculation logic and making your semantic model easier to manage. Pro Tip If you find yourself creating the same calculation pattern repeatedly for different measures, that's a good signal to investigate calculation groups. A Quick Power BI Performance Checklist Before adding more visuals or rewriting your DAX, check these five areas: ✅ Model Structure Am I using a star schema? Have I removed unnecessary columns? Are descriptive attributes stored in dimensions? ✅ Relationships Are relationships mostly single-direction? Do I have unnecessary bidirectional relationships? Are there ambiguous filter paths? ✅ Fact Tables Does each fact table represent a clear business process? Is the grain clearly defined? Am I mixing different grains in the same table? ✅ Storage Mode Do I genuinely need DirectQuery? Could Import mode handle the requirement? Would a composite model or aggregation strategy make sense? ✅ DAX & Semantic Model Am I creating many duplicate measures? Can calculation groups reduce repeated time-intelligence logic? Are my base measures already optimized? Final Thoughts Power BI performance isn't just about how many rows you have. It's about how efficiently those rows are modeled, stored, filtered, and queried. A well-designed model can give you: Faster report interactions Faster refreshes Better scalability Simpler DAX Easier maintenance More predictable results So, the next time your Power BI report starts feeling slow, don't immediately start deleting visuals or rewriting every DAX measure. Start with the model. Check your table structure. Check your relationships. Check the grain of your fact tables. Check your storage mode. And check whether you're duplicating calculation logic unnecessarily. Sometimes the biggest performance improvement comes from fixing the model underneath it.216Views0likes1CommentBuild a Fabric IQ Declarative Agent for Microsoft 365 Copilot Chat
Did you know Microsoft 365 Copilot Chat natively supports Fabric IQ? You can query your Power BI reports and semantic models right from the general chat, without any custom setup. Ask a business question in plain English, and M365 Copilot automatically discovers the most relevant Fabric artifact you have access to, inspects its schema, runs queries, and returns a cited answer alongside your broader Microsoft 365 context. When to build a dedicated agent The discovery step works well and can often identify the right items on the first try, but it's not without tradeoffs. If you rely on a curated set of reports and semantic models and want fast, repeatable answers with less guesswork, we can do better. A dedicated agent lets you: Skip the discovery lag and ambiguity. In general chat, M365 Copilot may fan out searches across emails, Teams chats, OneDrive decks, and all your workspaces before settling on a Power BI item, adding several seconds of latency. If you have a dozen reports about "Sales" or "Revenue", it may pick the wrong one or return inconsistent answers from one day to the next. Agents let Copilot bypass tenant-wide search by routing queries to the correct report or model immediately. Create repeatable, controlled experiences without interference from Office content. Because general chat blends all your Microsoft 365 content, an answer might pull numbers from an outdated email thread or Word document instead of your authoritative Power BI report. Scoping the agent to your trusted Power BI reports and semantic models, and only the M365 sources you explicitly enable, ensures every user gets consistent, governed answers. Show native zero-prompt starters and improve follow-ups. Guide users with tailored conversation starters from the moment they open the agent. Provide them with smarter, context-aware follow-up suggestions after each answer. Control presentation and charting logic. You decide how metrics are defined and presented to users, how tables are formatted, and influence how charts are styled and labeled. Package and share easily. A declarative agent is easy to distribute across your organization in a few clicks. In this blog post, I'll walk you through how you can create your own agent for Microsoft 365 Copilot Chat. We'll build it as a declarative agent and use GitHub Copilot to assist with the development. How the Microsoft 365 Copilot declarative agent uses routing instructions and Fabric IQ MCP to select among sales, finance, and inventory reports or semantic models. What we're building Here is our AdventureWorks Insights declarative agent in action, greeting users with tailored zero-prompt conversation starters, and then answering directly from our curated Power BI semantic model: AdventureWorks Insights declarative agent zero-prompt home screen showing tailored conversation starters. AdventureWorks Insights declarative agent ranking five sales territories, with sales, share of all sales and a source citation. How declarative agents work Under the hood, a declarative agent runs on the same orchestrator and foundation models as M365 Copilot Chat. It is configured through a lightweight set of files that define: identity and behavior (name, instructions, constraints, and conversation starters), knowledge (approved grounding sources), capabilities and actions (built-in tools like Code Interpreter or MCP-based plugins), and host metadata (manifest.json and icons for packaging and distribution). A declarative agent project is packaged from a single appPackage/ folder alongside your Agents Toolkit project configuration: my-fabric-iq-agent/ ├── m365agents.yml # Build & validate workflow ├── env/.env.dev # Environment variables └── appPackage/ ├── manifest.json # App identity & icons ├── declarativeAgent.json # Starters, capabilities & actions ├── agent_instructions.md # Routing & chart rules (max 8,000 chars) ├── ai-plugin.json # Fabric IQ MCP plugin manifest └── color.png / outline.png # 192x192 & 32x32 icons Copy-paste prompt to get started You don't need to write these JSON files by hand. Unzip the starter template (.zip) (or use an empty folder), then copy the instructions below and paste them as-is into GitHub Copilot App, CLI, Claude Code, or your favorite harness. The coding agent will interview you for your target reports and preferences, inspect your schemas, and generate the entire project for you. Before you start, think about what you want your agent to do: Capabilities: turn on CodeInterpreter so the agent can write Python to render custom charts. If your users want to blend Power BI numbers with strategy decks or team discussions, enable OneDriveAndSharePoint, GraphConnectors, or TeamsMessages. Instructions, conversation starters & follow-ups: clickable starter cards that launch your most common analyses without typing, paired with instructions that guide smart follow-up suggestions and routing. See section below for how to write effective instructions. Connectors: during authoring, your coding agent inspects your items via the Fabric IQ MCP server (https://fabriciq.svc.cloud.microsoft/v1/mcp/fabriciq), and wires the finished agent's ai-plugin.json to the M365 Fabric IQ integration (known as AskPowerBI). You can also attach additional MCP servers or API plugins if your workflow spans other systems. Branding & packaging: Your agent's short name (max 30 chars), descriptions (short max 80 chars, full max 4,000 chars), two icons (color.png at 192x192 and outline.png at 32x32), and an accent color bundled into an installable M365 app package. Instructions to copy and paste Build a Microsoft 365 Copilot declarative agent backed by the Fabric IQ MCP server (m365agents.yml, env/.env.dev, and appPackage/: declarativeAgent.json, agent_instructions.md, ai-plugin.json, manifest.json, color.png, outline.png). Template: Fetch https://community.fabric.microsoft.com/blog/community_blog/build-a-fabric-iq-declarative-agent-for-microsoft-365-copilot-chat/5377379 (or unzip my-fabric-iq-agent-template.zip) and reuse its JSON templates; skip external doc fetches unless troubleshooting. Workflow: 1. Gather inputs: Ask which Power BI reports/models to include (names, URLs, or discover via Fabric IQ MCP), agent name, and optional capabilities beyond `CodeInterpreter` (`OneDriveAndSharePoint`, `TeamsMessages`, `GraphConnectors`). Wait for my reply. 2. Inspect in parallel: Call `GetReportMetadata` and `GetSemanticModelSchema` in parallel (both accept a Report GUID; use `DiscoverArtifacts` only to resolve names). Run one batched `ExecuteQuery` only if sample values or date ranges are missing. 3. Scaffold strict JSON (no `//` comments): Create `declarativeAgent.json` (v1.8, `"instructions": "$[file('agent_instructions.md')]"`, 4-6 starters), copy `ai-plugin.json` (v2.4, `AskPowerBI`) verbatim, create `manifest.json` (v1.25) + `m365agents.yml`, and generate 192x192 `color.png` & 32x32 `outline.png` (`agent_instructions.md` max 8,000 chars; `name.short` max 30; `description.short` max 80). 4. Write `appPackage/agent_instructions.md` (max 8,000 chars): (1) Artifact Routing Table with GUIDs & rules to skip `DiscoverArtifacts`, (2) 4-6 Example Questions with follow-up context, (3) Producing Answers rules, (4) Charting Guidelines (lollipop/dumbbell/line, light background, business axis titles). 5. Package & validate (min 90s timeout): Run `npx --yes @microsoft/m365agentstoolkit-cli package --env dev && npx --yes @microsoft/m365agentstoolkit-cli validate --env dev`, then help run `provision --env dev` or sideload `appPackage/build/appPackage.dev.zip`. Testing and distributing your agent Once your files are ready, run these commands from your project root using the Microsoft 365 Agents Toolkit CLI, or ask Copilot to run them for you: # 1. Build appPackage/build/appPackage.dev.zip (inlines agent_instructions.md) npx --yes @microsoft/m365agentstoolkit-cli package --env dev # 2. Validate schemas, limits & icons npx --yes @microsoft/m365agentstoolkit-cli validate --env dev # 3. Provision & sideload to M365 npx --yes @microsoft/m365agentstoolkit-cli provision --env dev Test in Copilot Chat. Open m365.cloud.microsoft/chat, select your agent from the right-hand rail, and click your zero-prompt conversation starters to verify routing, citations, and chart rendering. Share with your team or organization. Run npx --yes Microsoft/m365agentstoolkit-cli share --scope shared to grant access to specific security groups, or submit appPackage/build/appPackage.dev.zip to the Microsoft 365 Admin Center (Settings > Integrated apps) for tenant-wide catalog deployment. Every user's queries continue to respect their individual Power BI permissions and row-level security (RLS). Under the hood: configuring a declarative agent This section walks you through the various files that make up a declarative agent. You don't have to understand every detail, but it's helpful to understand how the pieces fit together. declarativeAgent.json This is the core manifest, it defines your agent's identity and capabilities: { "$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.8/schema.json", "version": "v1.8", "name": "AdventureWorks Insights", "description": "Answers sales, finance, and inventory questions using curated Power BI reports and semantic models.", "instructions": "$[file('agent_instructions.md')]", "conversation_starters": [ {"title": "Top markets by sales", "text": "Which markets bring in the most sales? Show the top five and their share of total sales."}, {"title": "Category breakdown", "text": "What product categories drive our leading market?"}, {"title": "Margin vs. stock check", "text": "Compare gross margin and current stock levels for our top product category."} ], "capabilities": [{"name": "CodeInterpreter"}], "behavior_overrides": {"default_response_mode": "Think deeper"}, "actions": [{"id": "fabric-iq-action", "file": "ai-plugin.json"}] } Note: Keep JSON strict (no // comments); package inlines agent_instructions.md (max 8,000 chars). Adding Fabric IQ connection via ai-plugin.json The "actions" entry above points to ai-plugin.json in the same appPackage/ folder. This file connects your declarative agent to the Fabric IQ M365 MCP integration (AskPowerBI) and maps Power BI source metadata into native M365 Copilot citations and sensitivity labels. You can drop this ready-made version straight into your project: { "$schema": "https://developer.microsoft.com/json-schemas/copilot/plugin/v2.4/schema.json", "schema_version": "v2.4", "namespace": "fabriciq", "name_for_human": "Fabric IQ", "description_for_human": "Answers questions grounded in curated Power BI reports and semantic models.", "description_for_model": "Ask data questions about the Power BI artifacts in instructions. Pass artifactId from the routing table.", "functions": [{ "name": "AskPowerBI", "description": "Answers a Power BI report or model question via DAX. Prefer Report GUIDs; include prior context on follow-ups.", "parameters": {"type": "object", "properties": {"artifactId": {"type": "string"}, "query": {"type": "string"}, "context": {"type": "string"}}, "required": ["artifactId", "query"]}, "capabilities": {"response_semantics": {"data_path": "$.content[*]._meta.artifact_citation", "properties": {"title": "$.Name", "subtitle": "$.Description", "url": "$.Url", "information_protection_label": "$.SensitivityLabelId", "thumbnail_url": "$.IconUrl"}}} }], "runtimes": [{ "type": "RemoteMCPServer", "auth": {"type": "None"}, "spec": { "url": "https://api.fabric.microsoft.com/v1/mcp/fabricaihub/integrations/m365", "mcp_tool_description": {"tools": [{ "name": "AskPowerBI", "description": "Answers a Power BI report or model question via DAX.", "inputSchema": {"type": "object", "properties": {"artifactId": {"type": "string"}, "query": {"type": "string"}, "context": {"type": "string"}}, "required": ["artifactId", "query"]}, "annotations": {"destructiveHint": false, "openWorldHint": false, "readOnlyHint": true}, "_meta": {"variants": "Fabric.Routing.M365.V1", "microsoft/response_semantics": {"data_path": "$.content[*]._meta.artifact_citation", "properties": {"title": "$.Name", "subtitle": "$.Description", "url": "$.Url", "information_protection_label": "$.SensitivityLabelId", "thumbnail_url": "$.IconUrl", "x-ms_unique_id": "$.ArtifactId"}}} }]} }, "run_for_functions": ["AskPowerBI"] }] } How to write efficient instructions Tip: Usually, it is best to put model-specific instructions and examples as close to the data source as possible. If your instructions are model-specific, like covering how to write DAX queries or which parts of your schema are relevant, consider adding them to the semantic model's custom instructions through Power BI's Prep data for AI experience. Keep them in your declarative agent's instructions only when you can't edit the underlying semantic model, or when you want rules that apply exclusively to this agent without changing how the model behaves elsewhere. When you need to define behavior at the agent level, write instructions to agent_instructions.md. We will structure it around four focused blocks. 1. Build an artifact routing table When you include exact artifact GUIDs and contents in a markdown table, the agent skips the discovery search call and routes straight to the right report or semantic model. ## Artifact Routing Table Match the question to the right source and pass Artifact ID directly to AskPowerBI: | Artifact Name | Type | Artifact ID | Key Content | | :--- | :--- | :--- | :--- | | **AdventureWorks Sales** | Report | `60763385-b565-411a-b266-05c22543d6e4` | `[Total Sales]`, `[Orders]`; `Sales Territory`, `Category`, `Fiscal Year` | | **Global Margin Model** | Model | `14c445e9-24b5-4ded-86b4-f2e1db5b0f34` | `[Gross Margin %]`, `[COGS]`, `[Net Revenue]`; `Cost Center`, `Category` | | **Supply Chain Tracker** | Report | `9b2184a1-4c90-4e12-8a15-7f8e9102bc31` | `[Units on Hand]`, `[Backorder Rate %]`; `Warehouse`, `Supplier` | Routing rules: - Sales, volume, and territory rankings to **AdventureWorks Sales**. - Cost, profitability, and gross margin to **Global Margin Model**. - Stock and warehouse availability to **Supply Chain Tracker**. - Cross-domain questions to query each artifact separately and align by `Category`. 2. Include example questions Give the model a few concrete examples so it learns how to disambiguate similar metrics and carry context across turns: ## Example Questions & Routing - "Which markets lead in sales?" to Query **AdventureWorks Sales** (`[Total Sales]` by `Sales Territory[Region]`). - "What drives the leading market?" to Keep prior territory and period; break down `[Total Sales]` by `Product[Category]`. - "How is gross margin trending for Bikes?" to Switch to **Global Margin Model**, keep `Category = "Bikes"`, query `[Gross Margin %]` by `Fiscal Year`. - "What is our revenue?" to Clarify gross `[Total Sales]` (Sales report) vs. `[Net Revenue]` (Finance model). 3. Define how to produce answers Tip: Only add custom answer-formatting rules if the out-of-the-box experience does not suit your needs. Fabric IQ's built-in instructions are already tuned to provide strong defaults for grounding, charts, citations, and formatting. If your audience requires a specific executive style, such as always leading with a one-sentence headline or suggesting cross-model follow-ups, you can layer those preferences in: ## Producing Answers - **Lead with the headline.** Start with a one-sentence finding naming the leader, exact figure, and share of total. - **State denominator and period.** Specify the date range and whether percentages are share of all sales or top N. - **Suggest follow-ups.** End with 2-3 next questions grounded in your routed artifacts. 4. Standardize charting logic Because CodeInterpreter is enabled, you can instruct the agent to render clean, publication-grade visuals automatically, without the user asking for a chart: ## Charting Guidelines - Include a chart for any comparison of 3+ items. - **Visual forms:** Sorted horizontal lollipop for rankings, dumbbell for 2-period comparisons, line for trends. - **Axis labels:** Use business titles (`Market`, `Sales ($M)`); never `X` or `Y`. - **Styling:** Light background, direct data labels, quiet gridlines, and `#b11f4b` accent for the leader. (Tip: In M365 Copilot Chat, users can also open the chart menu and select Display as interactive chart for native inline hover tooltips.)164Views1like0CommentsWhy To Move All Fabric Connections to Service Principal Authentication
The Problem with Personal Account Dependencies Many organizations start with data connections created using developer or analyst accounts because it is quick and convenient. Over time, this creates several challenges: Report refreshes depend on a specific employee account. Password changes can break connections. Employee transfers or resignations create operational risks. Troubleshooting ownership becomes difficult. In short, critical business reporting ends up depending on an individual's credentials. Why Service Principal? A Service Principal acts as a non-human identity that can authenticate securely against Fabric resources. Instead of: Report → User Account → Data Source The architecture becomes: Report → Service Principal → Data Source This means the connection belongs to the organization rather than to a specific user. No dependency on user accounts Easier onboarding and offboarding Better governance and security Reduced refresh failures caused by credential changes Centralized ownership of reporting assets Improved business continuity Implementation Approach Step 1: Create a Service Principal Create a Service Principal through Azure App Registration in Azure Portal. This will generate: Client ID Tenant ID Client Secret These credentials would later be used for authentication. Copy the secret Value, not its Secret ID, and store it in your approved secret store. The value cannot be retrieved after leaving the screen Please refer this great article for setting up your Service Principal : Link Step 2: Create a Security Group Instead of granting permissions directly to the Service Principal, add it to a dedicated security group. Create a security group in Azure Portal and and add this service principal in this se. Benefits: Easier permission management Better governance Future scalability If additional Service Principals are needed later, they can simply be added to the same group. Step 3: Grant Workspace Access Add the security group as a member of the required Fabric workspaces. This will ensure that the Service Principal is having sufficient permissions to access workspace artifacts and related resources. Step 4: Create New Connections Using the Service Principal Power BI Admin need to enable below 2 settings in the Admin portal for the security group we created: Service principals can access read-only admin APIs Service principals can call Fabric public APIs Step 5: Create New Connections Using the Service Principal For each report and semantic model connection: Create a new Fabric connection. Select Service Principal authentication. Provide: Tenant ID Client ID Client Secret (value) Save and validate the connection. If configured correctly, the connection should authenticate successfully. Step 6: Rebind Semantic Models Existing semantic models can be updated to use the newly created Service Principal connection instead of personal credentials. This is the step where ownership effectively moves away from individual users. How To Validate: Simply saving the connection is not enough, multiple validation checks are required to ensure the configuration success. Validation 1: Connection Test The connection was created successfully and authenticated without errors. Validation 2: Semantic Model Refresh Trigger a manual refresh using the Service Principal-based connection. The refresh should complete successfully. Validation 3: Refresh History Refresh history will show successful execution after the migration. This confirms that the authentication was working end-to-end. Validation 4: Cross-Workspace Testing The same approach can be repeated in another workspace and semantic model. The refresh must complete successfully there as well. This eliminats the possibility that the first success was due to a workspace-specific configuration. Validation 5: User Independence Check The biggest test: The connection no longer depended on the creator's account. The reporting solution could continue functioning even if the original developer was unavailable. Lessons Learned: A few observations: Using a security group makes permission management cleaner than assigning permissions directly. Test with a non-production semantic model first. Validate refreshes after every change. Document Tenant ID, Client ID, and ownership information securely. Standardize this approach for all future reporting projects to avoid technical debt. Final Thoughts Service Principal authentication is one of those improvements that users never notice, but administrators will appreciate for years. The migration does not change report functionality, visuals, or user experience. What it does change is reliability, governance, and supportability behind the scenes. If your Fabric environment still relies on personal accounts for report connections, now is a good time to review your architecture. Moving to Service Principal authentication can significantly reduce operational risk and ensure that critical business reports continue running regardless of personnel changes. The best infrastructure is often the infrastructure nobody notices. After this migration, our reports simply kept working, and that was exactly the outcome we want!144Views0likes0CommentsData Days | Data Days Your Way
Return to Data Days Homepage Data Days Your Way Find all sessions on demand!. The Power BI Dataviz World Champs is happening now | start your journey to the finals in Barcelona. Start with what fits you: Fabric | Power BI | SQL | AI | Beginner / New You are looking for: Certification Prep | Data Engineering Deep Dives | Data Visualization | Community Browse by Language: Spanish | Português | French | Japanese / 日本語 | Hindi Fabric User DP 700- Microsoft Fabric Training | Episode 1: Fabric Overview, Domains, Workspaces & OneLake Date: June 14, 6:30 PM Host: Amit Chandak Managing secure access, trusted discovery & data sharing with OneLake (3 sessions) Date: June 16, 9:00 AM Host: Josh Ndemenge Tenant management with Sempy Date: June 16, 11:00 AM Host: Taylor Amy, Teemu Multanen Get Certified: (DP-700) Fabric Data Engineer Essentials (APAC) Date: June 16, 3pm Host: Mike Fortman, Martin Catherall Get Certified: (DP-700) Fabric Data Engineer Essentials (US/EMEA) Date: June 16, 3pm Host: Aleksi Partanen, Phillip Burton Get Certified: (DP-600) Fabric Analytics Engineer Essentials (APAC) Date: June 17, 8am Host: Heidi Hasting, Martin Catherall Get Certified: (DP-600) Fabric Analytics Engineer Essentials (US/EMEA) Date: June 17, 3pm Host: Ásgeir Gunnarsson, Rajendra Ongole DP 700- Microsoft Fabric Training | Episode 4: Dataflow Gen2 End-to-End Date: June 17, 6:30 PM Host: Amit Chandak Orchestrating Fabric Spark and Best Practices for Production-Ready Workload Date: June 18, 8am Host: Santhosh Kumar Ravindran; Ashit Gosalia Security and Governance in Fabric Date: June 20, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Fabric Data Pipelines Full Course For Beginners (Data Days Edition 2026) Date: June 21, 05:30 AM Host: Ansh Lamba Data Ingestion and Discovery in Fabric Date: June 21, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) DP 700- Microsoft Fabric Training | Episode 6: Data Pipelines, Scheduling & OneLake Shortcuts Date: June 21, 6:30 PM Host: Amit Chandak Prepare for the Microsoft Data Days Date: June 22, 5 am Host: Aman Jindal DP 700- Microsoft Fabric Training | Episode 7: Real-Time Analytics, Eventstream, Eventhouse & KQL Date: June 22, 6:30 PM Host: Amit Chandak Location Intelligence with Maps and GeoAnalytics in Microsoft Fabric Date: June 23, 07:30 AM Host: Philippa Burgess Microsoft Cloud & AI Frontier Week: Unify Your Data with OneLake for Analytics, AI and Agents Date: June 24, 01:00 AM Host: Sevgi Guzzella Microsoft Cloud & AI Frontier Week: Turn Data into Intelligent Action with Microsoft Fabric Date: June 24, 02:00 AM Host: Simon Lidberg The Future of AI in Microsoft Fabric: Data Agents and Beyond Date: June 24, 08:00 AM Host: Brian Bønk, Philippa Burgess DP 700- Microsoft Fabric Training | Episode 9: Mirroring, Databases, Composite Models & Data Agents Date: June 24, 6:30 PM Host: Amit Chandak Global Fabric Day 2026 Date: June 27 Host: Kim Manis Global Fabric Day 2026: Security, Location & Intelligence in Microsoft Fabric Date: June 27, 09:30 AM Host: Philippa Burgess Transforming and Modeling Data in Fabric Date: June 27, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Modeling Real LMS Data in Power BI: Star Schema from a Messy MySQL Source Date: June 28, 06:30 AM Host: Parul Rani Sagar Configuring Workspace Settings in Fabric Date: June 28, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Learn KQL in 10 minutes Date: June 29 Host: Phillip Burton Get to Know Esri: From Living Atlas to Spatial Analysis for Fabric Users Date: June 30, 07:30 AM Host: Philippa Burgess Orchestrating Pipelines, and Notebooks in Fabric Date: July 4, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Designing Data Load Strategies in Fabric Date: July 5, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Data and AI Security and Governance in Microsoft Fabric Date: July 7, 07:30 AM Host: Philippa Burgess Inside Fabric Runtime 2.0: Spark 4 and Delta 4 in Action Date: July 15, 4:00 PM Host: Arshad Ali and Miles Cole Fabric IQ for Data Professionals Date: July 21, 07:30 AM Host: Philippa Burgess Building Scalable Bronze Layer in Microsoft Fabric Date: July 23, 09:00 AM Host: Aleksi Partanen, Teemu Multanen Win in the Seams 🧵 Stitching Together Data and Security with Microsoft Fabric, KQL, and Data Logs Date: July 25, 09:30 AM Host: Philippa Burgess KQL for Data and Security Professionals Date: July 28, 07:30 AM Host: Philippa Burgess Fabric Analytics Engineer Certification Training (DP-600) Discover resources to prepare for this exam. Fabric Data Engineer Certification Training (DP-700) Discover resources to prepare for this exam. Get started with Microsoft Fabric Self-paced training DP 700- Microsoft Fabric Training | Episode 1: Fabric Overview, Domains, Workspaces & OneLake Date: June 14, 6:30 PM Host: Amit Chandak Managing secure access, trusted discovery & data sharing with OneLake (3 sessions) Date: June 16, 9:00 AM Host: Josh Ndemenge DP 700- Microsoft Fabric Training | Episode 4: Dataflow Gen2 End-to-End Date: June 17, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 6: Data Pipelines, Scheduling & OneLake Shortcuts Date: June 21, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 7: Real-Time Analytics, Eventstream, Eventhouse & KQL Date: June 22, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 9: Mirroring, Databases, Composite Models & Data Agents Date: June 24, 6:30 PM Host: Amit Chandak Inside Fabric Runtime 2.0: Spark 4 and Delta 4 in Action Date: July 15, 4:00 PM Host: Arshad Ali and Miles Cole Back to top Power BI Using Slicers and What-If Parameters in Power BI Date: June 15, 6:00 AM Host: Ilgar Zarbaliyev Power BI Dataviz World Championships: Start Your Journey to Barcelona Date: June 16, 8am Host: Valerie Junk, Lakshmi Ponnurasan Power BI Dataviz World Championships: Comece sua jornada para Barcelona Date: June 16, 2pm Host: Samyr Moises, Dirceu Moraes Resende Power BI Dataviz World Championships: Comienza tu camino a Barcelona Date: June 16, 4pm Host: Walter Calcagno, Lucrecia Krause Dynamic Currency Conversion in Power BI Date: June 22, 6:00 AM Host: Ilgar Zarbaliyev Get Certified: (PL-300) Power BI Data Analyst (US/EMEA) Date: June 22, 8am Host: Ilgar Zarbaliyev, Doher Drizzle Pablo Get Certified: (PL-300) Power BI Data Analyst (APAC) Date: June 23, 3pm Host: Anupama Natarajan, Chris Hyde DP 700- Microsoft Fabric Training | Episode 8: Direct Lake Semantic Models & Power BI Performance Date: June 23, 6:30 PM Host: Amit Chandak Modeling Real LMS Data in Power BI: Star Schema from a Messy MySQL Source Date: June 28, 06:30 AM Host: Parul Rani Sagar Implementing Row-Level Security (RLS) Date: June 29, 6:00 AM Host: Ilgar Zarbaliyev Building Interactive Dashboards and Data Alerts Date: July 6, 6:00 AM Host: Ilgar Zarbaliyev Exploring Data with AI and Natural Language Features Date: July 13, 6:00 AM Host: Ilgar Zarbaliyev Microsoft Certified: Power BI Data Analyst Associate Date: July 18, 5:30 AM Host: Inturi Suparna Babu, Ajay Babu Inturi, Upputuri Gopikrishna Power BI Essentials — Data Days with Data Analytic Group Date: July 18, 09:00 PM Host: Rajendra Ongole,Lanka, Shashi Performing Analytics in Power BI using DAX Date: July 20, 6:00 AM Host: Ilgar Zarbaliyev Get started with Microsoft data analytics Self-paced training Power BI Data Analyst Certification Training (PL-300) Discover resources to prepare for this exam. Power BI Dataviz World Championships Do you have what it takes? DP 700- Microsoft Fabric Training | Episode 8: Direct Lake Semantic Models & Power BI Performance Date: June 23, 6:30 PM Host: Amit Chandak Back to top SQL DP 700- Microsoft Fabric Training | Episode 2: Lakehouse, Warehouse & T-SQL Date: June 15, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 3: Lakehouse with Spark SQL Date: June 16, 6:30 PM Host: Amit Chandak Microsoft Cloud & AI Frontier Week: Modernize SQL for AI-Ready Databases Date: June 24, 03:00 AM Host: Diaa Radwan Microsoft Cloud & AI Frontier Week: Power Intelligent Apps and Agents with Azure Databases Date: June 24, 04:00 AM Host: Diaa Radwan Build with SQL + AI: From Prompt to Intelligent Apps Date: June 25, 01:00 PM Host: Matt Gordon, Alpa Buddhabhatti Modeling Real LMS Data in Power BI: Star Schema from a Messy MySQL Source Date: June 28, 06:30 AM Host: Parul Rani Sagar Starting with Data API Builder in 10 minutes Date: June 30, TBD Host: Phillip Burton Designing and Implementing Database Objects in Azure SQL Database Date: July 11, 9:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Advanced Query Techniques in Azure SQL Date: July 12, 9:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Get Certified SQL+AI (DP-800): Design and Develop SQL Solutions Like a Pro (EMEA / US) Date: July 15, 8:00 AM Host: Javier Villegas; Hamish Watson Get Certified SQL+AI (DP-800): Design and Develop SQL Solutions Like a Pro (APAC) Date: July 16, 3:00 PM Host: Martin Catherall; Greg Low Implementing Programmability Objects in Azure SQL Database Date: July 18, 9:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Securing Data Access in Azure SQL Database Date: July 19, 9:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Get Certified DP-800: Secure, Optimize, & Ship SQL+AI Solutions (APAC) Date: July 20, 4:00 PM Host: Mike Fortman; Mayte Castillo Get Certified DP-800: Secure, Optimize, & Ship SQL+AI Solutions (EMEA/US) Date: July 21, 8:00 AM Host: Jeff Taylor; Matt Gordon Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (EMEA / US) Date: July 23, 8:00 AM Host: Gaston Cruz; Armando Lacerda Optimizing Performance and integrity in Azure SQL Database Date: July 25, 9:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Win in the Seams 🧵 Stitching Together Data and Security with Microsoft Fabric, KQL, and Data Logs Date: July 25, 09:30 AM Host: Philippa Burgess Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (APAC) Date: July 29, 3:00 PM Host: Greg Low; Anupama Natarajan Query and modify data with Transact-SQL Self-paced training SQL AI Engineer Certification Training (DP-800) Discover resources to prepare for this exam. DP 700- Microsoft Fabric Training | Episode 2: Lakehouse, Warehouse & T-SQL Date: June 15, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 3: Lakehouse with Spark SQL Date: June 16, 6:30 PM Host: Amit Chandak Get Certified SQL+AI (DP-800): Design and Develop SQL Solutions Like a Pro (EMEA / US) Date: July 15, 8:00 AM Host: Javier Villegas; Hamish Watson Get Certified SQL+AI (DP-800): Design and Develop SQL Solutions Like a Pro (APAC) Date: July 16, 3:00 PM Host: Martin Catherall; Greg Low Get Certified DP-800: Secure, Optimize, & Ship SQL+AI Solutions (APAC) Date: July 20, 4:00 PM Host: Mike Fortman; Mayte Castillo Get Certified DP-800: Secure, Optimize, & Ship SQL+AI Solutions (EMEA/US) Date: July 21, 8:00 AM Host: Jeff Taylor; Matt Gordon Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (EMEA / US) Date: July 23, 8:00 AM Host: Gaston Cruz; Armando Lacerda Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (APAC) Date: July 29, 3:00 PM Host: Greg Low; Anupama Natarajan Back to top Using AI Microsoft Cloud & AI Frontier Week: Transform Data Silos into AI Fuel – Build an End-to-End Data Foundation Date: June 22, 04:00 AM Host: Mark Torr, Chris Webb, Sarina Stevens Microsoft Cloud & AI Frontier Week: Unify Your Data with OneLake for Analytics, AI and Agents Date: June 24, 01:00 AM Host: Sevgi Guzzella Microsoft Cloud & AI Frontier Week: Turn Data into Intelligent Action with Microsoft Fabric Date: June 24, 02:00 AM Host: Simon Lidberg Microsoft Cloud & AI Frontier Week: Modernize SQL for AI-Ready Databases Date: June 24, 03:00 AM Host: Diaa Radwan Microsoft Cloud & AI Frontier Week: Power Intelligent Apps and Agents with Azure Databases Date: June 24, 04:00 AM Host: Diaa Radwan Microsoft Cloud & AI Frontier Week: Transform Fragmented Data into Trusted AI at Scale – A Roadmap for CDOs Date: June 24, 05:00 AM Host: Seda Teber & Marcel Franke The Future of AI in Microsoft Fabric: Data Agents and Beyond Date: June 24, 08:00 AM Host: Brian Bønk, Philippa Burgess DP 700- Microsoft Fabric Training | Episode 9: Mirroring, Databases, Composite Models & Data Agents Date: June 24, 6:30 PM Host: Amit Chandak Build with SQL + AI: From Prompt to Intelligent Apps Date: June 25, 01:00 PM Host: Matt Gordon, Alpa Buddhabhatti Data and AI Security and Governance in Microsoft Fabric Date: July 7, 07:30 AM Host: Philippa Burgess Exploring Data with AI and Natural Language Features Date: July 13, 6:00 AM Host: Ilgar Zarbaliyev Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (EMEA / US) Date: July 23, 8:00 AM Host: Gaston Cruz; Armando Lacerda Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (APAC) Date: July 29, 3:00 PM Host: Greg Low; Anupama Natarajan DP 700- Microsoft Fabric Training | Episode 9: Mirroring, Databases, Composite Models & Data Agents Date: June 24, 6:30 PM Host: Amit Chandak Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (EMEA / US) Date: July 23, 8:00 AM Host: Gaston Cruz; Armando Lacerda Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (APAC) Date: July 29, 3:00 PM Host: Greg Low; Anupama Natarajan Back to top New Fabric / Power BI / SQL Users DP 700- Microsoft Fabric Training | Episode 1: Fabric Overview, Domains, Workspaces & OneLake Date: June 14, 6:30 PM Host: Amit Chandak Fabric Data Pipelines Full Course For Beginners (Data Days Edition 2026) Date: June 21, 05:30 AM Host: Ansh Lamba Get Certified: Which Data Exam Fits You Best? Date: June 23, 12pm Host: Dean Jurecic, Taylor Amy Learn KQL in 10 minutes Date: June 29 Host: Phillip Burton Starting with Data API Builder in 10 minutes Date: June 30, TBD Host: Phillip Burton From “I’m Just Getting Started” to “I Made This” Date: July 28, 8:00 AM Host: Philippa Burgess; Taylor Amy Get started with Microsoft data analytics Self-paced training Get started with Microsoft Fabric Self-paced training Introduction to Microsoft Azure Data core data concepts Self-paced training Query and modify data with Transact-SQL Self-paced training DP 700- Microsoft Fabric Training | Episode 1: Fabric Overview, Domains, Workspaces & OneLake Date: June 14, 6:30 PM Host: Amit Chandak From “I’m Just Getting Started” to “I Made This” Date: July 28, 8:00 AM Host: Philippa Burgess; Taylor Amy Back to top Certification Prep Certification Resources Which Data Exam Fits You Best? Date: June 23, 12pm Host: Dean Jurecic, Taylor Amy What to Expect and How to Pass Date: June 25, 8am Host: Heini Ilmarinen, Teemu Multanen Get Certified: (Exam Day) What to Expect and How to Pass (US/EMEA) Date: August 6, 8:00 AM Host: Brian Bønk; Charley Hanania Find a Study Group DP-600, DP-700, DP-800, and PL-300 Free Certification Exam Voucher DP-600, DP-700 or DP-800 Get Certified: (Exam Day) What to Expect and How to Pass (US/EMEA) Date: August 6, 8:00 AM Host: Brian Bønk; Charley Hanania DP-600 - Fabric Analytics Engineer Get Certified: (DP-600) Fabric Analytics Engineer Essentials (APAC) Date: June 17, 3pm Host: Heidi Hasting, Martin Catherall Certifícate: (DP-600) Fabric Analytics Engineer Conceptos Clave Date: June 17, 4pm Host: Renzo Roca, Javier Villegas Get Certified: (DP-600) Fabric Analytics Engineer Essentials (US/EMEA) Date: June 18, 8am Host: Ásgeir Gunnarsson, Rajendra Ongole Certifique-se: (DP-600) Fundamentos de Analytics no Fabric Date: June 18, 12pm Host: Ladislau Andre, Roberto Fonseca DP-600 to Real Project: What the Certification Taught Me (and What It Didn't) Date: July 11, 09:30 PM Host: Parul Rani Sagar Microsoft Certified: Fabric Analytics Engineer Associate(DP 600) Date: July 17, 08:30 PM Host: Inturi Suparna Babu, Ajay Babu Inturi, Upputuri Gopikrishna DP-600 Exam Prep — Fabric Analytics Engineer with Data Analytic Group Date: July 25, 09:00 PM Host: Rajendra Ongole,Lanka, Shashi Prepare for Exam DP-600 Prep resources DP-600 In Depth On-demand recorded sessions Free Certification Exam Voucher DP-600, DP-700 or DP-800 Find a Study Group DP-600, DP-700, DP-800, and PL-300 DP-700 - Fabric Data Engineer DP 700- Microsoft Fabric Training | Episode 1: Fabric Overview, Domains, Workspaces & OneLake Date: June 14, 6:30 PM Host: Amit Chandak Certifique-se: (DP-700) Fundamentos de Dados no Fabric Date: June 15, 12pm Host: Luiz Santana, Percy Machado Certifícate: (DP-700) Fabric Data Engineer Conceptos Clave Date: June 15, 4pm Host: Gonzalo bissio, Keyla Dolores Mendez DP 700- Microsoft Fabric Training | Episode 1: Fabric Overview, Domains, Workspaces & OneLake Date: June 15, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 2: Lakehouse, Warehouse & T-SQL Date: June 15, 6:30 PM Host: Amit Chandak Get Certified: (DP-700) Fabric Data Engineer Essentials (APAC) Date: June 16, 3:00 PM Host: Mike Fortman, Martin Catherall DP 700- Microsoft Fabric Training | Episode 2: Lakehouse, Warehouse & T-SQL Date: June 16, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 3: Lakehouse with Spark SQL Date: June 16, 6:30 PM Host: Amit Chandak Get Certified: (DP-700) Fabric Data Engineer Essentials (US/EMEA) Date: June 17, 8:00 AM Host: Aleksi Partanen, Phillip Burton DP 700- Microsoft Fabric Training | Episode 3: Lakehouse with Spark SQL Date: June 17, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 4: Dataflow Gen2 End-to-End Date: June 17, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 4: Dataflow Gen2 End-to-End Date: June 18, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 5: PySpark Notebooks for Data Engineering Date: June 18, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 5: PySpark Notebooks for Data Engineering Date: June 19, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 6: Data Pipelines, Scheduling & OneLake Shortcuts Date: June 21, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 6: Data Pipelines, Scheduling & OneLake Shortcuts Date: June 22, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 7: Real-Time Analytics, Eventstream, Eventhouse & KQL Date: June 22, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 7: Real-Time Analytics, Eventstream, Eventhouse & KQL Date: June 23, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 8: Direct Lake Semantic Models & Power BI Performance Date: June 23, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 8: Direct Lake Semantic Models & Power BI Performance Date: June 24, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 9: Mirroring, Databases, Composite Models & Data Agents Date: June 24, 6:30 PM Host: Amit Chandak Como passar na Certificação DP-700: Guia Definitivo! Date: June 25, 3:00 PM Host: Sidney Cirqueira DP 700- Microsoft Fabric Training | Episode 10: End-to-End Fabric Project & DP-700 Exam Preparation Date: June 25, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 9: Mirroring, Databases, Composite Models & Data Agents Date: June 25, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 10: End-to-End Fabric Project & DP-700 Exam Preparation Date: June 26, 6:30 PM Host: Amit Chandak Getting Started with PySpark for DP-700 Date: July 16, 9:00 AM Host: Teemu Multanen DP-700 In Depth On-demand recorded sessions Find a Study Group DP-600, DP-700, DP-800, and PL-300 Free Certification Exam Voucher DP-600, DP-700 or DP-800 Prepare for Exam DP-700 Prep resources DP 700- Microsoft Fabric Training | Episode 1: Fabric Overview, Domains, Workspaces & OneLake Date: June 14, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 2: Lakehouse, Warehouse & T-SQL Date: June 15, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 3: Lakehouse with Spark SQL Date: June 16, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 4: Dataflow Gen2 End-to-End Date: June 17, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 5: PySpark Notebooks for Data Engineering Date: June 18, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 6: Data Pipelines, Scheduling & OneLake Shortcuts Date: June 21, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 7: Real-Time Analytics, Eventstream, Eventhouse & KQL Date: June 22, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 8: Direct Lake Semantic Models & Power BI Performance Date: June 23, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 9: Mirroring, Databases, Composite Models & Data Agents Date: June 24, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 10: End-to-End Fabric Project & DP-700 Exam Preparation Date: June 25, 6:30 PM Host: Amit Chandak DP-800 - SQL AI Engineer Get Certified SQL+AI (DP-800): Design and Develop SQL Solutions Like a Pro (EMEA / US) Date: July 15, 8:00 AM Host: Javier Villegas; Hamish Watson Get Certified SQL+AI (DP-800): Design and Develop SQL Solutions Like a Pro (APAC) Date: July 16, 3:00 PM Host: Martin Catherall; Greg Low Get Certified DP-800: Secure, Optimize, & Ship SQL+AI Solutions (APAC) Date: July 20, 4:00 PM Host: Mike Fortman; Mayte Castillo Get Certified DP-800: Secure, Optimize, & Ship SQL+AI Solutions (EMEA/US) Date: July 21, 8:00 AM Host: Jeff Taylor; Matt Gordon Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (EMEA / US) Date: July 23, 8:00 AM Host: Gaston Cruz; Armando Lacerda Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (APAC) Date: July 29, 3:00 PM Host: Greg Low; Anupama Natarajan DP-800 In Depth On-demand recorded sessions Find a Study Group DP-600, DP-700, DP-800, and PL-300 Free Certification Exam Voucher DP-600, DP-700 or DP-800 Prepare for Exam DP-800 Prep resources Get Certified SQL+AI (DP-800): Design and Develop SQL Solutions Like a Pro (EMEA / US) Date: July 15, 8:00 AM Host: Javier Villegas; Hamish Watson Get Certified SQL+AI (DP-800): Design and Develop SQL Solutions Like a Pro (APAC) Date: July 16, 3:00 PM Host: Martin Catherall; Greg Low Get Certified DP-800: Secure, Optimize, & Ship SQL+AI Solutions (APAC) Date: July 20, 4:00 PM Host: Mike Fortman; Mayte Castillo Get Certified DP-800: Secure, Optimize, & Ship SQL+AI Solutions (EMEA/US) Date: July 21, 8:00 AM Host: Jeff Taylor; Matt Gordon Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (EMEA / US) Date: July 23, 8:00 AM Host: Gaston Cruz; Armando Lacerda Get Certified SQL+AI (DP-800): Bring AI to SQL with Embeddings, Search, and RAG (APAC) Date: July 29, 3:00 PM Host: Greg Low; Anupama Natarajan PL-300 - Power BI Data Analyst Using Slicers and What-If Parameters in Power BI Date: June 15, 6:00 AM Host: Ilgar Zarbaliyev Dynamic Currency Conversion in Power BI Date: June 22, 6:00 AM Host: Ilgar Zarbaliyev Get Certified: (PL-300) Power BI Data Analyst (US/EMEA) Date: June 22, 8am Host: Ilgar Zarbaliyev, Doher Drizzle Pablo Certifique-se: (PL-300) Fundamentos de Análise de Dados com Power BI Date: June 22, 12pm Host: Brendell Silva Gomes, Miguel Felix Get Certified: (PL-300) Power BI Data Analyst (APAC) Date: June 23, 3pm Host: Anupama Natarajan, Chris Hyde Certifícate: (PL-300) Power BI Data Analyst Conceptos Clave Date: June 23, 4pm Host: Adrian Fernandez Zenteno, Ricardo Rincón Implementing Row-Level Security (RLS) Date: June 29, 6:00 AM Host: Ilgar Zarbaliyev Building Interactive Dashboards and Data Alerts Date: July 6, 6:00 AM Host: Ilgar Zarbaliyev Microsoft Certified: Power BI Data Analyst Associate Date: July 18, 5:30 AM Host: Inturi Suparna Babu, Ajay Babu Inturi, Upputuri Gopikrishna Performing Analytics in Power BI using DAX Date: July 20, 6:00 AM Host: Ilgar Zarbaliyev Prepare for Exam PL-300 Prep resources PL-300 In Depth On-demand recorded sessions Free Certification Exam Voucher DP-600, DP-700 or DP-800 Find a Study Group DP-600, DP-700, DP-800, and PL-300 Back to top Data Engineering Deep Dives Managing secure access, trusted discovery & data sharing with OneLake (3 sessions) Date: June 16, 9:00 AM Host: Josh Ndemenge Tenant management with Sempy Date: June 16, 11:00 AM Host: Taylor Amy, Teemu Multanen DP 700- Microsoft Fabric Training | Episode 3: Lakehouse with Spark SQL Date: June 16, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 4: Dataflow Gen2 End-to-End Date: June 17, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 5: PySpark Notebooks for Data Engineering Date: June 18, 6:30 PM Host: Amit Chandak Orchestrating Fabric Spark and Best Practices for Production-Ready Workload Date: June 19, 8am Host: Santhosh Kumar Ravindran; Ashit Gosalia Data Ingestion and Discovery in Fabric Date: June 21, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) DP 700- Microsoft Fabric Training | Episode 6: Data Pipelines, Scheduling & OneLake Shortcuts Date: June 21, 6:30 PM Host: Amit Chandak Modeling Real LMS Data in Power BI: Star Schema from a Messy MySQL Source Date: June 28, 06:30 AM Host: Parul Rani Sagar Orchestrating Pipelines, and Notebooks in Fabric Date: July 4, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Designing Data Load Strategies in Fabric Date: July 5, 09:30 AM Host: Amit Kumar Mahato (Cloud Guru Amit) Inside Fabric Runtime 2.0: Spark 4 and Delta 4 in Action Date: July 15, 4:00 PM Host: Arshad Ali and Miles Cole Building Scalable Bronze Layer in Microsoft Fabric Date: July 23, 09:00 AM Host: Aleksi Partanen, Teemu Multanen Managing secure access, trusted discovery & data sharing with OneLake (3 sessions) Date: June 16, 9:00 AM Host: Josh Ndemenge DP 700- Microsoft Fabric Training | Episode 3: Lakehouse with Spark SQL Date: June 16, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 4: Dataflow Gen2 End-to-End Date: June 17, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 5: PySpark Notebooks for Data Engineering Date: June 18, 6:30 PM Host: Amit Chandak DP 700- Microsoft Fabric Training | Episode 6: Data Pipelines, Scheduling & OneLake Shortcuts Date: June 21, 6:30 PM Host: Amit Chandak Inside Fabric Runtime 2.0: Spark 4 and Delta 4 in Action Date: July 15, 4:00 PM Host: Arshad Ali and Miles Cole Back to top Dataviz Using Slicers and What-If Parameters in Power BI Date: June 15, 6:00 AM Host: Ilgar Zarbaliyev Power BI Dataviz World Championships: Start Your Journey to Barcelona Date: June 16, 8am Host: Valerie Junk, Lakshmi Ponnurasan Power BI Dataviz World Championships: Comece sua jornada para Barcelona Date: June 16, 2pm Host: Samyr Moises, Dirceu Moraes Resende Power BI Dataviz World Championships: Comienza tu camino a Barcelona Date: June 16, 4pm Host: Walter Calcagno, Lucrecia Krause Dynamic Currency Conversion in Power BI Date: June 22, 6:00 AM Host: Ilgar Zarbaliyev Building Interactive Dashboards and Data Alerts Date: July 6, 6:00 AM Host: Ilgar Zarbaliyev Inside the Mind of a Dataviz World Champion Date: July 14, 8:00 AM Host: Valerie Junk; Santhana Lakshmi Ponnurasan Performing Analytics in Power BI using DAX Date: July 20, 6:00 AM Host: Ilgar Zarbaliyev From “I’m Just Getting Started” to “I Made This” Date: July 28, 8:00 AM Host: Philippa Burgess; Taylor Amy Power BI Dataviz World Championships Do you have what it takes? Inside the Mind of a Dataviz World Champion Date: July 14, 8:00 AM Host: Valerie Junk; Santhana Lakshmi Ponnurasan From “I’m Just Getting Started” to “I Made This” Date: July 28, 8:00 AM Host: Philippa Burgess; Taylor Amy Back to top Community connections Global Fabric Day 2026 Date: June 27 Host: Kim Manis Data & IA sous contrôle - Meetup MTG:Bordeaux Juillet 2026 - Data Days Edition Date: July 2, 9:30 AM Host: Youva Gharout, Iuliia Mazur, Pierre Chaumont, Xavier Noya, Christian Bonnaud, Alexandre Nédélec Build Connections. Grow Your Career. Start Here for Your Community in India. Date: July 13, 11:00 PM Host: Amit Chandak; Vinodh Kumar Stop Lurking, Start Connecting: You Belong In the Microsoft Data & AI Communities Date: July 16, 9:00 AM Host: Teemu Multanen; Santhana Lakshmi Ponnurasan; Mike Fortman Data Days Hotline: No Slides, Just Answers Date: July 22, 8:00 AM Host: Johan Ludvig Brattås; Markus Ehrenmueller-Jensen Data Days Lightning Talks: Short Talks. Big Ideas. Zero Fluff. Date: July 30, 8:00 AM Host: Jennifer Ratten; Stephanie Bruno Data Days Universidad ICESI - Cali, Colombia Date: August 5, 12:00 PM Host: Álvaro Rodríguez, Cristhian Cabra, Angely Andrade, Andrés Gallego Connect on Reddit Fabric Fina a local Azure Group On the Meetup Find a local User Group On Meetup Find a Study Group DP-600, DP-700, DP-800, and PL-300 More Ways to Connect Find your community Start a New User Group Learn more about User Groups Build Connections. Grow Your Career. Start Here for Your Community in India. Date: July 13, 11:00 PM Host: Amit Chandak; Vinodh Kumar Stop Lurking, Start Connecting: You Belong In the Microsoft Data & AI Communities Date: July 16, 9:00 AM Host: Teemu Multanen; Santhana Lakshmi Ponnurasan; Mike Fortman Data Days Hotline: No Slides, Just Answers Date: July 22, 8:00 AM Host: Johan Ludvig Brattås; Markus Ehrenmueller-Jensen Data Days Lightning Talks: Short Talks. Big Ideas. Zero Fluff. Date: July 30, 8:00 AM Host: Jennifer Ratten; Stephanie Bruno Back to top Spanish Certifícate: (DP-700) Fabric Data Engineer Conceptos Clave Date: June 15, 4pm Host: Gonzalo bissio, Keyla Dolores Mendez Power BI Dataviz World Championships: Comienza tu camino a Barcelona Date: June 16, 4pm Host: Walter Calcagno, Lucrecia Krause Certifícate: (DP-600) Fabric Analytics Engineer Conceptos Clave Date: June 17, 4pm Host: Renzo Roca, Javier Villegas Certifícate: (PL-300) Power BI Data Analyst Conceptos Clave Date: June 23, 4pm Host: Adrian Fernandez Zenteno, Ricardo Rincón Study Group: From Power BI to Microsoft Fabric: The DP-600 Analytics Engineer Vision Date: June 25, 2026 Host: Comunidad Power BI, Fabric & AI en Español Track: DP-600 | Location: Virtual Certifícate: Preparación para el examen – Qué esperar y cómo aprobar Date: June 25, 4pm Host: Gaston Cruz, Keyla Dolores Mendez Study Group: Operational Architecture in Fabric: Workspaces, Capacity, Governance, and Permissions Date: July 1, 2026 Host: Comunidad Power BI, Fabric & AI en Español Track: DP-600 | Location: Virtual Cierre de la temporada 3 - Data Days Edition Date: July 1, 10:00 AM Host: Ana María Bisbé, Diana Aguilera Reyna, Nelson López Centeno Study Group: Martes 7 de julio - Diseño e implementación de soluciones analíticas en Microsoft Fabric Date: July 7, 2026 Host: AP Data & IA Track: DP-700 | Location: Virtual Study Group: OneLake and Lakehouse: Data Strategy, Ingestion, and Unified Access Date: July 8, 2026 Host: Comunidad Power BI, Fabric & AI en Español Track: DP-600 | Location: Virtual Study Group: Jueves 9 de julio - Ingesta, transformación y procesamiento de datos Date: July 9, 2026 Host: AP Data & IA Track: DP-700 | Location: Virtual Data Days Edition by BIExpert - Fabric Data Engineering Date: July 10, 4:00 PM Host: Nicolas Nakasone, Natali Lujan Power BI + MCP: la nueva forma de conectar la IA con tus datos (6 sesiones, en español) — 13 de julio – 17 de agosto de 2026 Date: July 13, 07:00 AM Host: Vicente Antonio Juan Magallanes Study Group: Martes 14 de julio - Monitoreo, rendimiento y optimización de cargas de trabajo Date: July 14, 2026 Host: AP Data & IA Track: DP-700 | Location: Virtual Study Group: Data Warehouse in Fabric: Dimensional Modeling and Analytical Design Date: July 15, 2026 Host: Comunidad Power BI, Fabric & AI en Español Track: DP-600 | Location: Virtual Study Group: Jueves 16 de julio - Preparación para el examen DP-700 y sesión abierta de preguntas y respuestas Date: July 16, 2026 Host: AP Data & IA Track: DP-700 | Location: Virtual Study Group: Data Days - Grupo de Estudio DP-600 / DP-800 Date: July 18, 2026 Host: Cloud Experts Community Track: DP-600 | Location: In-Person | University Norbert Wiener Study Group: Data Preparation in Fabric: Quality, Transformation, SQL, and KQL Date: July 22, 2026 Host: Comunidad Power BI, Fabric & AI en Español Track: DP-600 | Location: Virtual Study Group: Sesión 1: Diseño y desarrollo de soluciones SQL Date: July 28, 2026 Host: AP Data & IA Track: DP-800 | Location: Virtual Study Group: Enterprise Semantic Models: DAX, Direct Lake, and Power BI Performance Date: July 29, 2026 Host: Comunidad Power BI, Fabric & AI en Español Track: DP-600 | Location: Virtual Study Group: Sesión 2: Seguridad, optimización y administración de soluciones SQL con confianza Date: July 30, 2026 Host: AP Data & IA Track: DP-800 | Location: Virtual Agentes inteligentes con Microsoft Fabric: MCP, LLM y datos empresariales (6 sesiones, en español) — 31 de julio – 4 de septiembre de 2026 Date: July 31, 07:00 AM Host: Vicente Antonio Juan Magallanes Study Group: Sesión 3: Incorpo Date: August 4, 2026 Host: AP Data & IA Track: DP-800 | Location: Virtual Study Group: End-to-End Fabric Solution: Security, Governance, Lifecycle, and DP-600 Preparation Date: August 5, 2026 Host: Comunidad Power BI, Fabric & AI en Español Track: DP-600 | Location: Virtual Data Days Universidad ICESI - Cali, Colombia Date: August 5, 12:00 PM Host: Álvaro Rodríguez, Cristhian Cabra, Angely Andrade, Andrés Gallego Data Days Edition by BIExpert - Fabric Data Engineering Date: August 7, 04:00 PM Host: Nicolas Nakasone, Natali Lujan Data Days Edition by BIExpert - Fabric Data Engineering Date: July 10, 4:00 PM Host: Nicolas Nakasone, Natali Lujan Back to top Português Certifique-se: (DP-700) Fundamentos de Dados no Fabric Date: June 15, 12pm Host: Luiz Santana, Percy Machado Power BI Dataviz World Championships: Comece sua jornada para Barcelona Date: June 16, 2pm Host: Samyr Moises, Dirceu Moraes Resende Certifique-se: (DP-600) Fundamentos de Analytics no Fabric Date: June 18, 12pm Host: Ladislau Andre, Roberto Fonseca Study Group: Serie 1 - Preparação para o Exame PL-300 (Power BI Data Analyst) Date: June 21, 2026 Host: Fabric Lusofono Track: PL-300 | Location: Virtual Building a Medallion Architecture in Microsoft Fabric Date: June 22 Host: Ladislau Andre Certifique-se: (PL-300) Fundamentos de Análise de Dados com Power BI Date: June 22, 12pm Host: Brendell Silva Gomes, Miguel Felix Designing Modern Data Architectures with Microsoft Fabric Date: June 23, 11:00 AM Host: To be announced Certifique-se: Dia do Exame — O que esperar e como passar Date: June 25, 12pm Host: Luiz Santana, Miguel Felix Como passar na Certificação DP-700: Guia Definitivo! Date: June 25, 3:00 PM Host: Sidney Cirqueira Medallion Architecture + Data Mesh Architecture Date: June 26, TBD Host: Ladislau Andre Introdução à Análise de Dados da Microsoft Date: June 27, 08:00 PM Host: Shalom André, Filomena Adão Semantic Models in Power BI and Fabric Date: June 28, TBD Host: Ladislau Andre Study Group: Serie 2 - Preparação para o Exame DP-600 (Fabric Analytics Engineer) Date: June 28, 2026 Host: Fabric Lusofono Track: DP-600 | Location: Virtual Semantic Models Schedule Refresh with Pipelines Date: June 30, TBD Host: Ladislau Andre Semantic Models on Fabric notebooks Date: July 2, TBD Host: Ladislau Andre Semantic Models In Enterprise BI Date: July 4, 11:00 AM Host: Ladislau Andre Preparar Dados para Análise com o Power BI Date: July 4, 08:00 PM Host: Shalom André, Evaristo Quiosa Study Group: Serie 3 - Preparação para o Exame DP-700 (Fabric Data Engineer) Date: July 5, 2026 Host: Fabric Lusofono Track: DP-700 | Location: Virtual Modelar Dados com o Power BI Date: July 11, 08:00 PM Host: Shalom André Study Group: Serie 4 - Preparação para o Exame DP-800 (SQL Developer & AI Solutions) Date: July 12, 2026 Host: Fabric Lusofono Track: DP-800 | Location: Virtual Criar Relatórios Eficazes no Power BI Date: July 18, 08:00 PM Host: Shalom André Pare de scrolar e comece a se conectar: você pertence às comunidades de Dados e IA da Microsoft. Date: July 21, 12:00 PM Host: Alison Pezzott; Sidney Oliveira Cirqueira Dentro do Cérebro de campeões mundiais de Dataviz Date: July 21, 2:00 PM Host: Percy Machado; Samyr Moises; Paulo Grijó Get Certified SQL+AI (DP-800): Projete e Desenvolva Soluções SQL como um Profissional Date: July 23, 12:00 PM Host: Armando Lacerda; Ladislau André Gerenciar e Proteger o Power BI Date: July 25, 08:00 PM Host: Shalom André, Milton Dunda Preparação para o Exame e Sessão Q&A Date: July 26, 08:00 PM Host: Shalom André De “tô só começando” para “caramba, eu fiz isso” Date: July 28, 12:00 PM Host: Hugo Venturini; Dirceu Moraes Resende Get Certified SQL+AI (DP-800): Proteja, Otimize e Entregue Soluções SQL com Confiança Date: July 30, 12:00 PM Host: Brendell Silva Gomes; Eda Oliviera Get Certified SQL+AI (DP-800): Leve IA para o SQL com Embeddings, Busca e RAG Date: August 4, 12:00 PM Host: Luis Gustavo Nascimento Serra; Thiago Zavaschi Pare de scrolar e comece a se conectar: você pertence às comunidades de Dados e IA da Microsoft. Date: July 21, 12:00 PM Host: Alison Pezzott; Sidney Oliveira Cirqueira Dentro do Cérebro de campeões mundiais de Dataviz Date: July 21, 2:00 PM Host: Percy Machado; Samyr Moises; Paulo Grijó Get Certified SQL+AI (DP-800): Projete e Desenvolva Soluções SQL como um Profissional Date: July 23, 12:00 PM Host: Armando Lacerda; Ladislau André De “tô só começando” para “caramba, eu fiz isso” Date: July 28, 12:00 PM Host: Hugo Venturini; Dirceu Moraes Resende Get Certified SQL+AI (DP-800): Proteja, Otimize e Entregue Soluções SQL com Confiança Date: July 30, 12:00 PM Host: Brendell Silva Gomes; Eda Oliviera Get Certified SQL+AI (DP-800): Leve IA para o SQL com Embeddings, Busca e RAG Date: August 4, 12:00 PM Host: Luis Gustavo Nascimento Serra; Thiago Zavaschi Back to top French Study Group: Building the Microsoft Fabric Analytics Foundation (French | Virtual) Date: July 18, 2026 Host: Data & AI France Study Group Track: DP-600 | Location: Virtual Study Group: Prepare data with Power BI desktop and Power Query (French | Virtual) Date: July 25, 2026 Host: Data & AI France Study Group Track: PL-300 | Location: Virtual Study Group: Designing and Optimizing Semantic Models in Microsoft Fabric (French | Virtual) Date: July 25, 2026 Host: Data & AI France Study Group Track: DP-600 | Location: Virtual Study Group: Designing Modern SQL Database Solutions (French | Virtual) Date: July 30, 2026 Host: Data & AI France Study Group Track: DP-800 | Location: Virtual Study Group: Model data with Power BI Desktop (French | Virtual) Date: August 1, 2026 Host: Data & AI France Study Group Track: PL-300 | Location: Virtual Study Group: Building Enterprise Reports, Governance and End-to-End Analytics (French | Virtual) Date: August 1, 2026 Host: Data & AI France Study Group Track: DP-600 | Location: Virtual Study Group: Ingesting and Managing Data with Microsoft Fabric (French | Virtual) Date: August 1, 2026 Host: Data & AI France Study Group Track: DP-700 | Location: Virtual Study Group: Visualize, secure and deploy data on the Power BI service (French | Virtual) Date: August 2, 2026 Host: Data & AI France Study Group Track: PL-300 | Location: Virtual Study Group: Transforming and Engineering Data at Scale (French | Virtual) Date: August 8, 2026 Host: Data & AI France Study Group Track: DP-700 | Location: Virtual Study Group: Developing and Querying SQL Databases (French | Virtual) Date: August 8, 2026 Host: Data & AI France Study Group Track: DP-800 | Location: Virtual Data & IA sous contrôle - Meetup MTG:Bordeaux Juillet 2026 - Data Days Edition Date: July 2, 9:30 AM Host: Youva Gharout, Iuliia Mazur, Pierre Chaumont, Xavier Noya, Christian Bonnaud, Alexandre Nédélec From rows to reasoning: Designing databases for AI apps and agents - Morocco Data Days Edition, Date: July 30, 11:00 AM Host: ANAS BELABBES Back to top Japanese / 日本語 Study Group: DP 600 Session 1 Date: July 8, 2026 Host: Japan Microsoft Data Platform User Group Track: DP-600 | Location: Virtual Study Group: DP 700 Session 1 Date: July 9, 2026 Host: Japan Microsoft Data Platform User Group Track: DP-700 | Location: Virtual Study Group: DP 700 Session 2 Date: July 15, 2026 Host: Japan Microsoft Data Platform User Group Track: DP-700 | Location: Virtual Study Group: DP 600 Session 2 Date: July 16, 2026 Host: Japan Microsoft Data Platform User Group Track: DP-600 | Location: Virtual Study Group: DP 700 Session 3 Date: July 18, 2026 Host: Japan Microsoft Data Platform User Group Track: DP-700 | Location: Virtual Study Group: DP 700 Session 4 Date: July 20, 2026 Host: Japan Microsoft Data Platform User Group Track: DP-700 | Location: Virtual Study Group: DP 600 Session 3 Date: July 22, 2026 Host: Japan Microsoft Data Platform User Group Track: DP-600 | Location: Virtual Study Group: DP 600 Session 4 Date: July 29, 2026 Host: Japan Microsoft Data Platform User Group Track: DP-600 | Location: Virtual Back to top Hindi Road to Microsoft Data Days Date: June 15, 05:30 AM Host: Aman Jindal Prepare for the Microsoft Data Days Date: June 22, 5 am Host: Aman Jindal DP 700 Hindi- Microsoft Fabric Training | Episode 1: Fabric Overview, Domains, Workspaces & OneLake Date: July 19, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 2: Lakehouse, Warehouse & T-SQL Date: July 20, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 3: Lakehouse with Spark SQL Date: July 21, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 4: Dataflow Gen2 End-to-End Date: July 22, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 5: PySpark Notebooks for Data Engineering Date: July 23, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 6: Data Pipelines, Scheduling & OneLake Shortcuts Date: July 26, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 7: Real-Time Analytics, Eventstream, Eventhouse & KQL Date: July 27, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 8: Direct Lake Semantic Models & Power BI Performance Date: July 28, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 9: Mirroring, Databases, Composite Models & Data Agents Date: July 29, 06:30 PM Host: Amit Chandak DP 700 Hindi- Microsoft Fabric Training | Episode 10: End-to-End Fabric Project & DP-700 Exam Preparation Date: July 30, 06:30 PM Host: Amit Chandak Back to top103KViews15likes46CommentsSkills for Fabric in practice: tune them, write your own, close the synonyms gap (Part 2 of 2)
How to use Microsoft’s Skills for Fabric day to day, tune them to your team’s standards without forking them, and write your own. Then a full walkthrough of a new skill that adds Q&A and data-agent synonyms to a Power BI semantic model, the one AI-readiness setting that neither the Power BI MCP server nor the official skills will touch. Tested end to end in Power BI Desktop.132Views0likes0CommentsPower BI MCP, Fabric MCP and Skills for Fabric in VS Code: setup and limits (Part 1 of 2)
A practical setup guide for Power BI and Fabric MCP servers and Microsoft’s Skills for Fabric in VS Code, covering the extension route, the remote servers, all four ways to install the skills (including the ZIP download and the trap that comes with it), and an honest list of what these tools can and can’t do. Checked against Skills for Fabric v0.3.18.910Views1like0CommentsFrom Chaos to Clarity: How the Manufacturing Dashboard Helps Everyone Understand the Business
Let's walk through what each page actually shows, and why it matters. Page 1: Customer Insights — "Who are we selling to, and are they happy?" Every business lives or dies by its customers, but it's surprisingly hard to keep track of hundreds of relationships in your head. This page acts like a customer relationship "scoreboard." It shows things like: * How many active customers the business currently has * Which customers are considered healthy (buying regularly, paying on time) versus at risk (going quiet, showing warning signs) * How revenue is spread across different customers and regions — are we relying too heavily on just a few big accounts? Think of it like a doctor's checkup, but for relationships instead of health. If ten customers suddenly go from "healthy" to "at risk," that's a signal to act before they walk away for good — not after the revenue has already dropped and everyone's asking why. Page 2: Production & Supply — "Are we making enough, and can we deliver it?" This is the page for anyone who cares about what's actually happening on the factory floor and getting product out the door. It's less about money and more about operations. Key questions it answers: * How much did we produce this month, and is that on target? * Are shipments going out on time, or are we falling behind on delivery promises? * Is one particular plant underperforming compared to the others? If you're a plant manager, this is likely the first thing you check every morning — before coffee, even. It tells you at a glance whether today is a "business as usual" day or a "we need to fix something now" day. Page 3: Overview — "How's the whole business doing, in 30 seconds?" This is the page built for someone with almost no time to spare — a CEO, an investor, or anyone who just needs the headline numbers without digging through details. At the top sit eight simple cards, each showing one important number and whether it went up or down compared to last month: * Total Revenue — how much money came in * Total Production — how much product was made * Capacity Utilization — how much of the factories' potential is actually being used * Gross Profit — how much money is left after production costs * Supply Fulfillment — how reliably orders are being delivered * Inventory Value — how much stock is sitting in the warehouse * Active Customers — how many customers are currently buying * Overall Operational Efficiency — a single score summarizing how smoothly everything is running Below that, charts break revenue and production down by month, by plant, and by region — so if a number drops, you don't just see that it dropped, you can immediately see where. Was it one plant having a bad month, or a slowdown across an entire region? There's also a simple "Alerts & Insights" section that puts the numbers into plain words — things like "Supply on track: fulfillment is 94% and improving" — so nobody has to guess what a chart is trying to tell them. Page 4: Inventory & Working Capital — "Do we have too much stock, or too little?" This page tackles a balancing act every manufacturing business faces. Keep too much inventory sitting around, and you're tying up cash and warehouse space that could be used elsewhere. Keep too little, and you risk running out of product right when a customer needs it — losing sales and trust. This page shows: * Total Inventory Value — how much money is currently tied up in stock * Inventory Turnover — how quickly that stock is being sold and replaced (a higher number generally means things are moving efficiently) * Days Inventory Outstanding — roughly how many days' worth of stock is sitting around unused * Raw Material vs. Finished Goods Stock — how much is still waiting to be turned into product versus ready to ship * Slow-Moving Inventory — stock that isn't selling and may need attention * Stockout Risk — a warning flag for items at risk of running out * Inventory Accuracy — how well the recorded stock counts match what's physically in the warehouse There's even a detailed table listing specific materials by name, plant, and status (like "Slow-Moving" or "Healthy"), so instead of a vague warning, someone gets a precise to-do list of exactly what needs a closer look. Why This Approach Works for Everyone The real magic of this dashboard isn't any single chart — it's the consistency. Every page follows the same basic structure: 1. Filters at the top (date range, region, plant, product category) so anyone can narrow the view to exactly what matters to them 2. A handful of key numbers, shown as simple cards with an up or down arrow — no complicated formulas to interpret 3. A plain-language "Alerts & Insights" section that explains, in a sentence or two, what changed and why it matters That means a machine operator, a plant manager, a customer success rep, and a CEO can all open the same dashboard and immediately find what's relevant to them — no translation needed, no waiting for someone else to "run the numbers." In a business with as many moving parts as manufacturing, that kind of shared clarity isn't a luxury. It's what keeps everyone — from the shop floor to the boardroom — pointed in the same direction.73Views0likes0CommentsHow to Use Verified Answers in Power BI Visuals
Step-by-Step Walkthrough Start by opening Power BI Desktop. If you prefer to work in the Cloud, you can enable the Large Semantic Model setting to proceed in a similar way. In the Desktop interface, navigate to the section labeled "3.3" (a UI navigation point within the verified answers setup) and select "Verified Answers." This opens a set of optional choices where you can select which visuals should serve as verified answers for specific questions. If your goal is to generate a specific visual as a complete answer for a particular question, add that visual as a verified answer along with an example question. Once configured, click the Apply button to save your selection. From there, move on to additional visuals and repeat the same process. For example, you can ask a question related to revenues and configure a trend graph to appear as the answer whenever that question is prompted. You can also use your own custom input when setting up verified answers, giving you flexibility beyond the default options. In a full demo scenario, three questions were configured — each mapped to a specific visual. When those questions were entered as prompts in Fabric Corporate, the corresponding visuals appeared as output exactly as configured. What to Take Away Targeted Responses: Verified answers ensure Power BI returns only the visuals you have specifically approved, making your reports more focused and relevant. Flexible Setup: You can configure this feature in both Power BI Desktop and the Cloud, with the option to enable the Large Semantic Model on the Cloud side. Language Support: The feature was tested in both English and Turkish, confirming that verified answers work across languages. Tools and Concepts Used Power BI Desktop Power BI Cloud (with optional Large Semantic Model) Verified Answers Feature Prompting and Question-Based Visuals Language Support (English and Turkish) Frequently Asked Questions Q: Can I use verified answers in Power BI Cloud as well as Desktop? A: Yes, verified answers work in both environments. If you are working on the Cloud side, you have the option to enable the Large Semantic Model setting to proceed in a similar way to Desktop. Q: Does verified answers support languages other than English? A: Yes. The feature was tested with Turkish and produced the expected results, confirming multi-language support. Conclusion Verified answers in Power BI offer a practical way to ensure that only the visuals you want are shown in response to specific prompts. Whether you are working in Power BI Desktop or through Microsoft Fabric on the Cloud, this feature helps streamline your reports and improves relevance for your audience. Try configuring verified answers in your next Power BI project to see the benefits firsthand. If you have questions or comments, feel free to share them below. See you in the next post!89Views0likes0CommentsLakehouse vs. Warehouse in Microsoft Fabric: Which One Should You Actually Use?
If you're new to Microsoft Fabric, you've probably hit this wall already: you go to create an item, and Fabric hands you two very similar-sounding options - Lakehouse and Warehouse. Both store tabular data in Delta format in OneLake and provide SQL access, but they offer different development and transactional experiences. Both let you query with SQL.Fabric presents both as analytical data-store options, and their capabilities overlap enough that the choice is not always obvious. So which one do you pick? Short answer: it depends on who's writing the queries and what shape your data is in. Long answer: keep reading — and try the quick self-check below before you scroll to the recommendation. 60-Second Self-Check Answer these three questions honestly before you create your next Fabric item: 1. Who will write the transformation logic? - A) Python/Spark notebooks, data engineers comfortable with PySpark - B) SQL analysts and BI developers who live in T-SQL 2. What does your source data look like? - A) Mixed — JSON, Parquet, CSV, streaming events, semi-structured - B) Mostly clean, structured, relational-shaped data 3. What's the end consumption pattern? - A) A mix of ML, notebooks, ad-hoc exploration, and reporting - B) Primarily Power BI reports and governed semantic models Mostly A's → Lean Lakehouse. Mostly B's → Lean Warehouse. Mixed bag? → You're not alone — see the "Can I use both?" section below. Lakehouse: The Flexible One A Lakehouse stores data as files (Delta Parquet) in OneLake, and gives you two ways to work with it: - Notebooks (PySpark, Spark SQL) for engineers who want full control - A SQL analytics endpoint that auto-generates so SQL folks can still query the same tables Pick Lakehouse when: - Your data arrives messy, semi-structured, or in large volumes that benefit from Spark's distributed processing - Your team already thinks in notebooks and data science workflows - You want schema flexibility - Delta tables support schema enforcement and controlled schema evolution, offering flexibility while preserving data reliability. - You're building a medallion architecture (bronze → silver → gold) and need engineering muscle at the bronze/silver layers Watch out for: - The SQL endpoint is read-only - The SQL analytics endpoint is read-only for Lakehouse table data, so it does not support INSERT, UPDATE, or DELETE against those Delta tables. Modify or load the data through Spark or another supported ingestion and transformation experience. You can still create supported SQL objects such as views, functions, and stored procedures in the endpoint. - Fabric provides automatic Delta table optimizations, but advanced workloads may still benefit from deliberate file sizing, data layout, partitioning, or optimization strategies. (OPTIMIZE, V-Order, partitioning) python #Typical Lakehouse bronze-to-silver pattern in a notebook df = spark.read.format("json").load("Files/raw/events/") df_clean = df.dropDuplicates().withColumn("load_date", current_date()) df_clean.write.format("delta").mode("overwrite").saveAsTable("silver_events") Python from pyspark.sql.functions import current_date() df = spark.read.format("json").load("Files/raw/events/") df_clean = df.dropDuplicates().withColumn("load_date", current_date()) df_clean.write.format("delta").mode("overwrite") saveAsTable("silver_events") Warehouse: The Familiar One Fabric Warehouse provides a rich T-SQL-first data warehousing experience. — think of it as a cloud data warehouse that happens to store data in OneLake under the hood. Pick Warehouse when: - Your team's primary skill is T-SQL, not Spark/Python - You need full DML (`INSERT`, `UPDATE`, `DELETE`, `MERGE`) with transactional guarantees - You're modeling a governed, relational structure — star schemas, stored procedures, views - You want a more traditional data-warehouse development experience (cross-database queries, You want a familiar relational warehouse development experience with T-SQL, views, stored procedures, and support for compatible SQL tools.) Watch out for: - Less flexible with wildly semi-structured or streaming-first data — you'll typically land that in a Lakehouse first, then move it in Warehouse is designed primarily for T-SQL rather than Spark-native development. If Spark is central to your transformation logic, Lakehouse is usually the more natural starting point. sql -- Typical Warehouse transformation pattern MERGE INTO dbo.DimCustomer AS target USING staging.CustomerUpdates AS source ON target.CustomerID = source.CustomerID WHEN MATCHED THEN UPDATE SET target.Email = source.Email WHEN NOT MATCHED THEN INSERT (CustomerID, Email) VALUES (source.CustomerID, source.Email); Can I Use Both? Yes - and honestly, A supported and commonly discussed architecture is to use a Lakehouse for engineering-oriented layers and a Warehouse for a curated relational serving layer. do exactly this: - Lakehouse for bronze/silver ingestion and heavy transformation (Spark does the messy work) - Warehouse for the polished gold layer that analysts and Power BI consume with familiar T-SQL Both use OneLake, and Fabric supports patterns such as shortcuts and cross-database queries that can reduce or avoid unnecessary data duplication. If you physically load curated data into separate Warehouse tables, however, that creates another stored representation. Try It Yourself Before your next project kickoff, run this checklist with your team: [ ] Who owns the transformation code - engineers or SQL analysts? [ ] Does the source data need Spark-level flexibility, or is it already relational? [ ] Do you need multi-table transactions and T-SQL DML, or can table changes be implemented through Spark and Delta operations? [ ] Could a hybrid (Lakehouse → Warehouse) actually be the real answer? No data to test with yet? A quick way to practice both patterns above is to grab a free sample dataset (or a ready-made dashboard layout to reverse-engineer) from a site like Docynx. Over to you I'd love to hear how your team decided: Did you go Lakehouse, Warehouse, or both? What tipped the decision — team skill set, data shape, or something else entirely? Drop your setup in the comments — especially if you've got a "we picked wrong and had to migrate" story, those are always the most useful ones.145Views0likes0Comments