opinion
123 TopicsPower BI Smart Table Visual: Excel style Column Filtering, Dynamic Column Headers, Grouping Columns
For a smoother reading experience with clearer screenshots and easy code copying, I suggest [reading this article on my website](https://www.techietips.co.in/articles/powerbi-managed-6500measures-smartly). It’s free, ad-free, distraction-free, and dedicated solely to sharing knowledge. The Table is the most commonly used visual in Power BI. Anyone who has spent years in Excel expects to click a header and filter that column. They expect related columns to sit under a common heading. The native table visual does none of this. There are grid visuals in the Microsoft visual app source that do. Most developers never get to use them, for two reasons that have nothing to do with the features. The good ones are licensed per developers or user, and that cost has to be justified to someone. The free ones are usually not Microsoft certified, which means an uncertified third party script is running inside your report, and that is a fair thing for a security team to say no to. So I built one. It is called Smart Table, and I built it with Claude. This post walks through what it does. 1. Excel style column filtering Every column header carries a funnel button in its own divided cell. Click it and you get what you would expect from Excel: sort, a set of conditions appropriate to the column’s type, and a searchable checkbox list of that column’s values. The menu names the column it belongs to, counts what you have ticked, and stays open while you sort. The conditions follow the column type rather than offering one generic list: Sync: does the filter stay in the grid or reach the report Sync is on by default. Filters applied in the header are pushed to the model, so every other visual on the page responds, exactly as if the user had used a slicer. Turn Sync off: Filtering then narrows this grid only. Global search The toolbar has a search box with its own operator dropdown: contains, is exactly, starts with, ends with, does not contain. It searches across every column at once. Power BI: Smart Table Excel Style Column Filtering 2. Dynamic column headers, driven by a measure A column header name is normally a static label. Here it can be a DAX measure. Arrival Month is set to April, and the Key Metrics headers read Lead Time (Avg: 30.00), Room Nights (Avg: 1.00), ADR (Avg: 160.50). Change the month and they recompute. The header honors the filter context, including the filters applied inside the grid itself. Filter Property down to Resort Hotel with the funnel and the averages in the header follow. Power BI Smart Table: Measure Driven Column Headers (Dynamic Column names) - YouTube 3. Column groups, without any extra tables Four groups across eleven columns: Reservation, Channel, Room Type, Key Metrics. Each one is a spanning header above its columns with its own colour. The thing to notice is what is not involved. No disconnected table. No field parameters. No two table visuals stacked on top of each other. No shapes placed in the background: which means your column groups move to the right along with your cursor. Power BI Smart Table: Grouping columns in a table without using a static table and a matrix visual - YouTube Known limits All of these come down to one idea: some filtering reaches the model and some is local to the grid. 30,000 rows That is the Power BI cap for a table mapping with this data reduction algorithm. Header filters push a real model filter, so filtering down to a workable set works fine. Do not point it at an unfiltered fact table. Value lists cap at 2,000 distinct values per column**, built from the loaded rows. On a high cardinality column like a guest name, use the search box in the menu. Ends with, Does not end with, and blank selections filter the grid only.** Power BI’s advanced filter operators have `StartsWith` and `Contains` but no `EndsWith`, and a blank has no equivalent in a model side `In` list. The menu tells you when you pick one of these. Bookmarks restore the data but not the ticked checkboxes.** The model filter is persisted by Power BI, so the rows come back correctly. The header checkboxes just will not show as ticked. I wrote this to make one point: the gaps in the built-in visuals are not permanent. Build your own, and with vibe coding that is no longer a months-long project. I am not sharing the .pbiviz file. It is an experiment, not tested for production grade reports. Feel free to checkout my [website](https://www.techietips.co.in) and reach out to me if you are interested to do these experiments along with me, I would like to continue developing this visual and will write detailed blogs in features explaining its features and implementations. I hope you learned something new. Feel free to share your thoughts in the comments section. Happy Learning!!!7Views0likes0CommentsWhy Refresh the Whole Model When Only One Table Changed? Power BI Finally Lets You Choose
The problem: refreshing everything when you only needed a little Picture a semantic model with a few tables: a large Sales fact table that updates every day, a Products table that changes maybe once a month, and a Currency Exchange Rate table that barely changes at all. For as long as most of us have used Power BI, hitting "Refresh" meant refreshing the entire model - every table, every time, whether it actually needed it or not. Worse, a normal refresh always did two things at once: it checked whether anything about your data source's structure had changed (a schema sync), and then it reloaded all the actual data. Most of the time you only care about one of those. You just want fresh numbers in your Sales table - you don't need Power BI to re-check whether your Currency table's column structure changed, because it never does. But there was no way to say "just get me new data, skip the schema check," or "refresh only this one table." You got the whole thing, every time. This wasn't just an annoyance - for larger models, refreshing everything when you only needed a fraction of it meant longer waits, more load on your source systems, and refresh operations eating into your daily refresh limits for no good reason. The old way to get around this If you needed genuinely granular control before this update, your only real option was going through the XMLA endpoint or the REST API - writing code to say "refresh just this table" or "refresh just this partition." This worked, but it required Premium or Fabric capacity, technical setup, and honestly, a level of comfort with scripting that most report builders don't have or need for day-to-day work. For anyone just using the standard Power BI Service interface, there was no such option - it was full refresh or nothing. What changed In the August 2026 update, Power BI brought this kind of control directly into the Service UI, no scripting required. You now get two separate improvements working together: First, refresh type options. Instead of one generic "Refresh" button that always does a schema sync plus a data refresh, you can now choose exactly what you want: - Refresh schema and data - the original all-in-one behavior, still available when you genuinely need both - Sync schema only - checks and applies any structural changes from your data source, like new columns, without reloading all the data - Refresh data only - reloads fresh data without checking for schema changes at all Second, table-level refresh. Instead of applying that choice to your entire model, you can now apply it to just one specific table. A real example Back to our Sales, Products, and Currency Exchange Rate model. Say it's the middle of a regular business day, and you just want today's sales numbers updated - nothing else has changed. Open the semantic model in Model view within the Power BI Service. Instead of hitting the generic top-level Refresh button, find the Sales table specifically. Choose Refresh data only for just that table. Power BI reloads fresh data into Sales, and leaves Products and Currency Exchange Rate completely untouched - no unnecessary schema check, no reloading tables that didn't need it. What used to be a full-model operation is now a targeted, few-second action. Where this saves the most time - Large models with tables that update on very different schedules - a fast-changing fact table alongside slow-changing dimension tables that rarely need touching - Direct Lake models specifically, where a Lakehouse table might have gained new columns, you're not ready to bring into your model yet - you can refresh the data without pulling in that schema change - Anyone managing refresh limits or capacity usage, where cutting unnecessary schema syncs and full-model reloads adds up to real savings over dozens of refreshes a day What to keep in mind This is a Power BI Service feature, so it's something you'll do from the web interface managing a published semantic model, not from Power BI Desktop while you're building. It's also worth remembering that "Sync schema only" and "Refresh data only" are meant to be used thoughtfully - if you genuinely don't know whether a data source's structure has changed recently, doing a full "Refresh schema and data" occasionally is still the safer choice, especially before a report goes out to a client or stakeholder. If you've been refreshing an entire model out of habit when only one table actually needed it, this is worth checking out the next time you're in the Power BI Service. Thanks for reading! Connect with me on: LinkedIn | Data With Pankaj - YouTube74Views0likes0CommentsDP-700: Microsoft Fabric Data Engineer: What It Is & Why It Matters in 2026
2025 was a year of massive evolution for the Microsoft data ecosystem, and with the rise of Microsoft Fabric as the unified analytics platform, Microsoft also introduced a fresh role-based certification designed specifically for data professionals: the DP-700 exam.11KViews6likes2CommentsAI is Only as Smart as Your Model
As AI becomes more natively embedded across every analytics experience, data teams are discovering a hard truth: AI outcomes depend on the quality of the data they are grounded on. Every AI transformation journey starts with your data, and as AI opens new ways for consumers to interact with that data and draw out meaningful insights, the strength of the data foundation matters more than ever. Through this blog, we'll explore the importance of a semantic layer and how to transform your existing semantic model to be optimized for AI-enabled analytics experiences.1.6KViews26likes5CommentsFrom 59 Copy Pasted Measures to One Library: What Migrating to GA DAX UDFs Actually Taught Me
DAX User-Defined Functions just went GA - and rebuilding my 59-function DAX UDF library the week it shipped taught me more about value vs. expression parameters than any doc ever did. Here's what actually broke, what I'd fix first, and a five-minute audit you can run on your own model today.480Views7likes1Comment🚀 Connecting AI Agents to Microsoft Fabric: MCP Servers
Ever wanted your AI agent to interact with Microsoft Fabric using plain English? That’s exactly what Model Context Protocol (MCP) servers enable. What is MCP? MCP is an open standard that gives AI agents a secure, unified way to access data and services—eliminating fragile custom integrations. It brings structured operations, discoverable capabilities, and a secure-by-design approach. Two MCP servers, different needs: 🔹Fabric Core MCP Server (remote) No setup required. API-based access with OAuth 2.0—ideal for quick, governed access to Fabric. 🔹Fabric MCP Server (local) Open-source and developer-friendly. Provides API docs and local file system access—great for hands-on development. Why it matters These capabilities allow teams to interact with Fabric naturally using AI—accelerating productivity from prototyping to production. 🔒Security remains key, with support for authentication and role-based access control. Whether you want speed or control, there’s an MCP server for your workflow. 👉Which approach works best for you—remote for simplicity, or local for flexibility? #MicrosoftFabric #AI #MCP #DataEngineering #ModelContextProtocol #AgenticAI #Microsoft Reference: https://learn.microsoft.com/en-us/rest/api/fabric/articles/mcp-servers/what-is-fabric-mcp-server Connect : www.linkedin.com/in/amish-s-sinha-582b0392 https://amishssinha.substack.com/ https://amishssinha.lovable.app/478Views8likes1CommentUnderstanding about The Pivot, Unpivot and Transpose
While developing a BI report, sometimes information is spread across multiple columns and other times it is packed into rows. There are three powerful Power Query transformations come into the picture, which are Pivot, Unpivot and Transpose. In this blog, l will walk you through what they are, why they are useful and how they different.13KViews26likes9CommentsDP-600: Microsoft Fabric Analytics Engineer. The Certification That Redefined Power BI Careers
With Microsoft Fabric becoming the backbone of modern analytics, Microsoft introduced a certification that perfectly bridges Power BI, data modeling, analytics, and Fabric workloads the DP-600: Microsoft Fabric Analytics Engineer Associate.8.7KViews14likes9Comments