EPC Group - Enterprise Microsoft AI, SharePoint, Power BI, and Azure Consulting
G2 High Performer Summer 2025, Momentum Leader Spring 2025, Leader Winter 2025, Leader Spring 2026
BlogContact
Ready to transform your Microsoft environment?Get started today
(888) 381-9725Get Free Consultation
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌

EPC Group

Enterprise Microsoft consulting with 29 years serving Fortune 500 companies.

(888) 381-9725
contact@epcgroup.net
4900 Woodway Drive - Suite 830
Houston, TX 77056

Follow Us

Solutions

  • All Services
  • Microsoft 365 Consulting
  • AI Governance
  • Azure AI Consulting
  • Cloud Migration
  • Microsoft Copilot
  • Data Governance
  • Microsoft Fabric
  • Dynamics 365
  • Power BI Consulting
  • SharePoint Consulting
  • Microsoft Teams
  • vCIO / vCAIO Services
  • Large-Scale Migrations
  • SharePoint Development

Industries

  • All Industries
  • Healthcare IT
  • Financial Services
  • Government
  • Education
  • Teams vs Slack

Power BI

  • Case Studies
  • 24/7 Emergency Support
  • Dashboard Guide
  • Gateway Setup
  • Premium Features
  • Lookup Functions
  • Power Pivot vs BI
  • Treemaps Guide
  • Dataverse
  • Power BI Consulting

Company

  • About Us
  • Our History
  • Microsoft Gold Partner
  • Case Studies
  • Testimonials
  • Blog
  • Resources
  • All Guides & Articles
  • Video Library
  • Client Reviews
  • Contact
  • Schedule a consultation

Microsoft Teams

  • Teams Questions
  • Teams Healthcare
  • Task Management
  • PSTN Calling
  • Enable Dial Pad

Azure & SharePoint

  • Azure Databricks
  • Azure DevOps
  • Azure Synapse
  • SharePoint MySites
  • SharePoint ECM
  • SharePoint vs M-Files

Comparisons

  • M365 vs Google
  • Databricks vs Dataproc
  • Dynamics vs SAP
  • Intune vs SCCM
  • Power BI vs MicroStrategy

Legal

  • Sitemap
  • Privacy Policy
  • Terms
  • Cookies

About EPC Group

EPC Group is a Microsoft consulting firm founded in 1997 (originally Enterprise Project Consulting, renamed EPC Group in 2005). 29 years of enterprise Microsoft consulting experience. Microsoft Gold Partner from 2003–2022 — the oldest Microsoft Gold Partner in North America — and currently a Microsoft Solutions Partner with six designations: Data & AI, Modern Work, Infrastructure, Security, Digital & App Innovation, and Business Applications.

Headquartered at 4900 Woodway Drive, Suite 830, Houston, TX 77056. Public clients include NASA, FBI, Federal Reserve, Pentagon, United Airlines, PepsiCo, Nike, and Northrop Grumman. 6,500+ SharePoint implementations, 1,500+ Power BI deployments, 500+ Microsoft Fabric implementations, 70+ Fortune 500 organizations served, 11,000+ enterprise engagements, 200+ Microsoft Power BI and Microsoft 365 consultants on staff.

About Errin O'Connor

Errin O'Connor is the Founder, CEO, and Chief AI Architect of EPC Group. Microsoft MVP for multiple years starting 2002–2003. 4× Microsoft Press bestselling author of Windows SharePoint Services 3.0 Inside Out (MS Press 2007), Microsoft SharePoint Foundation 2010 Inside Out (MS Press 2011), SharePoint 2013 Field Guide (Sams/Pearson 2014), and Microsoft Power BI Dashboards Step by Step (MS Press 2018).

Original SharePoint Beta Team member (Project Tahoe). Original Power BI Beta Team member (Project Crescent). FedRAMP framework contributor. Worked with U.S. CIO Vivek Kundra on the Obama administration's 25-Point Plan to reform federal IT, and with NASA CIO Chris Kemp as Lead Architect on the NASA Nebula Cloud project. Speaker at Microsoft Ignite, SharePoint Conference, KMWorld, and DATAVERSITY.

© 2026 EPC Group. All rights reserved. Microsoft, SharePoint, Power BI, Azure, Microsoft 365, Microsoft Copilot, Microsoft Fabric, and Microsoft Dynamics 365 are trademarks of the Microsoft group of companies.

Back to Blog

Power BI ALLEXCEPT Function Guide

Errin O\'Connor
December 2025
8 min read

The ALLEXCEPT function is one of the most powerful filter-modification functions in the DAX language. It removes all filters from a table except for the columns you explicitly specify, making it essential for calculating percentage-of-parent totals, running aggregations, and building dynamic measures that respond correctly to slicer interactions in Power BI reports.

ALLEXCEPT Syntax and Parameters

The ALLEXCEPT function accepts a table as its first argument followed by one or more columns whose filters should be preserved. All other filters on the specified table are removed from the evaluation context.

ALLEXCEPT ( <Table>, <Column1> [, <Column2> [, ... ]] )

-- Example: Calculate total sales while preserving only the Region filter
TotalSalesByRegion =
CALCULATE (
    SUM ( Sales[Amount] ),
    ALLEXCEPT ( Sales, Sales[Region] )
)
  • Table – The table from which all filters will be removed (except specified columns). Must be a physical table, not an expression.
  • Column1, Column2, ... – One or more columns whose existing filters should be preserved during the CALCULATE evaluation
  • Return value – A table with all filters removed except those on the specified columns. Typically used inside CALCULATE or CALCULATETABLE.

Calculating Percentage of Parent Total

One of the most common use cases for ALLEXCEPT is calculating what percentage each row contributes to its parent group. For example, showing each product's share of its category's total sales in a matrix visual.

% of Category Sales =
DIVIDE (
    SUM ( Sales[Amount] ),
    CALCULATE (
        SUM ( Sales[Amount] ),
        ALLEXCEPT ( Sales, Sales[Category] )
    )
)

-- In a matrix with Category and Product on rows:
-- Category A: 100% (total)
--   Product X: 45% (of Category A)
--   Product Y: 55% (of Category A)
  • The numerator calculates sales at the current filter context (product level)
  • The denominator uses ALLEXCEPT to remove all filters except Category, giving the category-level total
  • DIVIDE handles division-by-zero gracefully, returning BLANK() instead of an error
  • This pattern works with any aggregation function: SUM, COUNT, AVERAGE, DISTINCTCOUNT

ALLEXCEPT vs ALL vs REMOVEFILTERS

Understanding when to use ALLEXCEPT versus ALL or REMOVEFILTERS is critical for writing correct DAX measures. Each function manipulates filter context differently, and choosing the wrong one leads to incorrect calculations.

  • ALL(Table) – Removes all filters from the entire table, including any column filters from slicers. Returns the full table without any row context.
  • ALL(Column) – Removes filters from a specific column only. Other column filters remain active.
  • ALLEXCEPT(Table, Column) – Removes all table filters except the specified columns. More concise than listing multiple ALL(Column) calls for complex models.
  • REMOVEFILTERS() – The modern alias for ALL() when used as a CALCULATE modifier. Microsoft recommends REMOVEFILTERS for clarity when the intent is filter removal rather than table iteration.
-- These two measures are equivalent:
Measure_V1 =
CALCULATE (
    SUM ( Sales[Amount] ),
    ALLEXCEPT ( Sales, Sales[Region], Sales[Year] )
)

Measure_V2 =
CALCULATE (
    SUM ( Sales[Amount] ),
    ALL ( Sales[Product] ),
    ALL ( Sales[Customer] ),
    ALL ( Sales[Channel] )
)
-- ALLEXCEPT is more maintainable when the table has many columns

Advanced ALLEXCEPT Patterns for Enterprise Reports

In enterprise Power BI deployments, ALLEXCEPT enables sophisticated calculations that respond dynamically to user interactions. These patterns are commonly used in financial reporting, sales analytics, and operational dashboards.

-- Running total that resets by category
Running Total by Category =
CALCULATE (
    SUM ( Sales[Amount] ),
    FILTER (
        ALLEXCEPT ( Sales, Sales[Category] ),
        Sales[Date] <= MAX ( Sales[Date] )
    )
)

-- Rank within group
Product Rank in Category =
COUNTROWS (
    FILTER (
        ALLEXCEPT ( Sales, Sales[Category] ),
        CALCULATE ( SUM ( Sales[Amount] ) ) >=
        CALCULATE ( SUM ( Sales[Amount] ), ALLEXCEPT ( Sales, Sales[Category], Sales[Product] ) )
    )
)
  • Running totals by group – Use ALLEXCEPT with FILTER to calculate cumulative sums that reset at each category boundary
  • Ranking within groups – Combine ALLEXCEPT with COUNTROWS and FILTER to rank items within their parent category
  • Period-over-period by segment – Preserve segment filters while removing date filters to calculate prior-period comparisons within each segment
  • Dynamic benchmarks – Create measures that compare individual performance against group averages while respecting slicer selections

Performance Considerations and Best Practices

ALLEXCEPT can impact query performance in large models, especially when used with high-cardinality tables. Following these best practices ensures your DAX measures remain responsive even with millions of rows.

  • Prefer ALLEXCEPT over multiple ALL(Column) – When preserving filters on only 1-2 columns out of many, ALLEXCEPT produces cleaner and often more efficient code
  • Avoid ALLEXCEPT in iterators – Using ALLEXCEPT inside SUMX or FILTER over large tables creates nested context transitions that degrade performance
  • Use variables – Store intermediate CALCULATE results in VAR statements to prevent redundant evaluations of the same ALLEXCEPT pattern
  • Test with DAX Studio – Use the Server Timings feature in DAX Studio to compare the performance of ALLEXCEPT vs alternative approaches
  • Consider relationships – ALLEXCEPT only removes filters from the specified table. Filters propagating through relationships from other tables remain active unless explicitly addressed.

Why Choose EPC Group for Power BI Consulting

EPC Group's Power BI practice brings 29 years of enterprise Microsoft consulting experience to every engagement. As a former Microsoft Gold Partner (2003–2022, the oldest in North America) and current Microsoft Solutions Partner, our DAX experts have designed complex analytical models for Fortune 500 organizations across healthcare, finance, manufacturing, and government. Our founder, Errin O'Connor, authored the bestselling Microsoft Press book on Power BI, and our team has delivered hundreds of enterprise Power BI implementations that leverage advanced DAX patterns like ALLEXCEPT for production-grade reporting.

  • Advanced DAX development for complex business calculations and KPI frameworks
  • Performance optimization for large-scale models with billions of rows
  • Row-level security implementation for multi-tenant and compliance-driven environments
  • Training programs that elevate your team's DAX proficiency from basic to advanced

Need Expert Help with Power BI DAX?

EPC Group's certified Power BI consultants can help you design, optimize, and deploy advanced DAX measures for enterprise-grade reporting and analytics.

Schedule a ConsultationCall (888) 381-9725

Frequently Asked Questions

When should I use ALLEXCEPT instead of ALL?

Use ALLEXCEPT when you want to remove most filters from a table but preserve a few specific column filters. If a table has 10 columns and you want to keep filters on 2, ALLEXCEPT(Table, Col1, Col2) is much cleaner than writing 8 separate ALL(Column) statements. Use ALL when you want to remove all filters entirely or when you need a table expression for iteration.

Does ALLEXCEPT remove filters from related tables?

No. ALLEXCEPT only removes filters from the table specified in its first argument. Filters propagating through relationships from other tables are not affected. If you need to also clear filters from related tables, you must explicitly add ALL or REMOVEFILTERS for those tables as additional CALCULATE arguments.

Can I use ALLEXCEPT outside of CALCULATE?

Technically, ALLEXCEPT returns a table and can be used anywhere a table expression is valid (e.g., inside FILTER, COUNTROWS, or as a virtual table). However, its primary and most common use is as a CALCULATE filter modifier where it manipulates the filter context. Using it outside CALCULATE is an advanced pattern that should be carefully tested for correctness.

Why does my ALLEXCEPT measure return the same value for every row?

This usually happens when the columns you specified in ALLEXCEPT are not present in your visual's row or column context. If your visual groups by Product but you wrote ALLEXCEPT(Sales, Sales[Region]), the measure removes the Product filter and only preserves Region, causing all products to show the same regional total. Ensure the columns in your ALLEXCEPT match the grouping columns in your visual.

Is ALLEXCEPT affected by bidirectional cross-filtering?

Yes. In models with bidirectional cross-filtering, filters can propagate in both directions across relationships. ALLEXCEPT removes filters on the specified table regardless of how they arrived (direct slicer selection or cross-filter propagation). Be especially careful in models with many-to-many relationships and bidirectional filtering, as ALLEXCEPT behavior can become unpredictable. EPC Group recommends using unidirectional filtering as the default and only enabling bidirectional filtering when absolutely necessary.

Related Resources

Continue exploring power bi insights and services

power bi

6 Reasons to Use Power Automate in Power BI

power bi

Ad Hoc Reporting

power bi

Add New Data in Power BI

power bi

Agriculture Power BI Consulting

Explore All Services

Why Organizations Choose EPC Group

EPC Group is a Houston-based Microsoft consulting firm with 29 years of enterprise implementation experience and over 10,000 successful deployments across Power BI, Microsoft Fabric, SharePoint, Azure, Microsoft 365, and Copilot. We serve organizations across all industries including Fortune 500, federal agencies, healthcare, financial services, government, manufacturing, energy, education, retail, technology, and global enterprises.

What sets EPC Group apart is our governance-first approach. Every engagement begins with a security and compliance assessment. Our team of senior architects brings hands-on delivery experience across HIPAA, SOC 2, FedRAMP, and CMMC environments. We own outcomes, not hours.

  • Fixed-fee accelerators with predictable pricing and defined deliverables
  • Senior architect engagement on every project, not rotating juniors
  • Compliance-native delivery for regulated industries
  • End-to-end coverage from strategy through 24/7 managed services
  • 11,000+ enterprise engagements refined into repeatable, risk-controlled patterns

Call (888) 381-9725 or email contact@epcgroup.net for a free assessment.

Power BI Strategy: 2026 Considerations for Power BI Allexcept

Power BI capacity sizing in 2026 starts with the F-SKU economics: F2 ($263/mo) covers small workloads with up to 4 GB of memory and roughly 30 reports, F4 ($526/mo) handles a typical mid-market deployment with semantic-model refresh windows under 10 minutes, and F64 ($5,257/mo) is the sweet spot for enterprises consuming Power BI alongside Microsoft Fabric data engineering, lakehouse storage, and real-time intelligence. Capacity right-sizing should be revisited every 90 days because Microsoft adjusts F-SKU memory allocations, paginated report performance, and Direct Lake mode availability with each major service update.

Direct Lake mode has changed the economics of enterprise Power BI in 2026: instead of importing data into Vertipaq, semantic models now query OneLake-resident Parquet files at near-Import-mode performance without the refresh-window cost. For a Fortune 500 finance organization migrating from a 30-minute Import-mode refresh, the equivalent Direct Lake model typically queries fact data in under 800 ms while removing the entire refresh-orchestration job from Azure Data Factory.

Decision factors EPC Group evaluates

  • Row-level security via service principal authentication
  • Capacity sizing decision (F2/F4/F64+) tied to peak concurrent users and refresh window
  • Copilot grounding quality assessment of semantic-model metadata
  • Direct Lake mode adoption for Fabric-resident semantic models
  • License optimization audit (Pro vs Premium Per User vs F-SKU)

For a tailored read on this topic in your specific tenant, contact EPC Group at contact@epcgroup.net or +1 (888) 381-9725. Engagement options at /pricing.