User Profile
GrowthNatives
Super User
Joined 1 year ago
User Widgets
Contributions
Re: Matrix having 3 dimensions and two measures YTD,QTD,and MTD ,Slicers missing some values in dimensio
Hi sanjaymithran , This is expected Power BI behavior, not a bug. What you are seeing is a context-propagation issue caused by using a measure filter (Sales_YTD is not blank) together with slicers that are not dimensionally isolated. Slicers reflect the filtered data model, not the raw dimension table. If a value has no fact rows after filters, it disappears. You can follow either of the steps below to get the desired result 1. Option 1 — Proper Star Schema What to do Create separate dimension tables: Dim1 table Dim2 table Dim3 table Date table Relationships: Dim tables → Fact table Date → Fact table Then: Use dimension columns in slicers Keep the Sales_YTD is not blank filter on the matrix only Result Slicers show all Dim3 values Matrix hides rows with blank YTD Correct and stable behavior Option 2 — Force slicer to ignore measure filters If you cannot remodel: Create a disconnected slicer table Dim3_Slicer = DISTINCT ( Fact[Dim3] ) Use Dim3_Slicer[Dim3] in the slicer. Then apply selection using TREATAS in measures: Sales_YTD := CALCULATE( TOTALYTD ( [Sales], 'Date'[Date] ), TREATAS ( VALUES ( Dim3_Slicer[Dim3] ), Fact[Dim3] ) ) Result Slicer always shows all Dim3 values Matrix still respects YTD logic ⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers. 💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving! 🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More]1.4KViews1like0CommentsRe: IS it a bug for dynamic format or something happen?
Hi fogyisland , This is not a bug. What you are seeing is the expected behavior of Dynamic Format Strings combined with percentage semantics in Power BI. The confusion comes from mixing value scaling, FORMAT(), and model-level percentage formatting. Your measure is already negative, and Power BI applies the numeric sign before the dynamic format string is rendered. By dividing SELECTEDMEASURE() by 100 in your dynamic format logic, you rescale an already-scaled value. Dividing again inside FORMAT(..., "0.0%") causes double scaling, which leads to incorrect results. The correct way to do this : Never rescale percentage values inside dynamic format strings Pbi.Increase = VAR v = SELECTEDMEASURE() RETURN SWITCH( TRUE(), v > 0, "▲ 0.0%", v < 0, "▼ 0.0%", "↔ 0.0%" ) If you want to REMOVE the minus sign (only arrows) YOY % (Unsigned) = ABS ( [YOY %] ) ⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers. 💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving! 🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More]556Views3likes0CommentsRe: Scorecard Metrics PowerBI Service
Hi NaziaK , you can follow either of the steps to get the KPI 1. Convert Date to a Numeric KPI Create a measure that converts a date into a number. Example: “Days Since Last Update” Days Since Last Activity = DATEDIFF( MAX('Table'[Date]), TODAY(), DAY ) Use this as: KPI value Thresholds (e.g., > 7 days = Red) 2. Use Date as Context, Not KPIUse Date as Context, Not KPI You can: Keep the date in the report Link the Scorecard metric to a report page Display the date visually in a card or table Scorecard → Metric → Linked report ⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers. 💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving! 🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More]392Views1like0CommentsRe: This operation isn't allowed, as the database 'database name' is in a blocked state.
Rebinding vs Republishing 1. Republishing a dataset Creates a new dataset ID Old dataset remains (often blocked) Reports still point to the old dataset 2. Rebinding a report Updates the report to point to the new dataset Fixes blocked-state issues So, No you dont need republish but paginated reports How to Rebind Standard Reports Option A — Power BI Service (UI) Go to Workspace Open Report File → Settings Under Dataset, click Change dataset Select the new Fabric dataset Save Option B — Deployment Pipelines If: Dev, UAT, Prod all on Fabric Dataset exists in target workspace Then: Deploy dataset first Deploy reports Enable “Bind to existing dataset” Follow this order strictly: Assign Fabric F2+ to Dev & UAT Delete blocked datasets Republish datasets only Rebind PBIX reports Republish paginated reports Redeploy via pipelines ⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers. 💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving! 🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More]677Views0likes0CommentsRe: This operation isn't allowed, as the database 'database name' is in a blocked state.
Hi XhevahirMehalla , you need to follow this step to get the desired results Move ALL workspaces to Fabric F2 or higher Dev → F2 UAT → F2 Prod → F2 Then: Re-publish: Paginated reports PPU-built datasets Rebind reports to datasets Redeploy using pipelines ⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers. 💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving! 🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More]725Views0likes2CommentsRe: Column Grand Total in Matrix is wrong
1. Define a cutoff date VAR CutoffDate = DATE(YEAR(TODAY()), MONTH(TODAY()), 1) 2. Apply the cutoff inside CALCULATE YTD New Cases (Exclude Current Month) = VAR CutoffDate = DATE(YEAR(TODAY()), MONTH(TODAY()), 1) RETURN IF( ISINSCOPE(Date2[Mth]), -- Month rows CALCULATE( TOTALYTD( COUNT('Cases'[Case Number]), 'Cases'[Created On] ), 'Cases'[Created On] < CutoffDate ), -- Matrix Total SUMX( VALUES(Date2[Mth]), CALCULATE( TOTALYTD( COUNT('Cases'[Case Number]), 'Cases'[Created On] ), 'Cases'[Created On] < CutoffDate ) ) )743Views1like1CommentRe: Column Grand Total in Matrix is wrong
ArchStanton , sure. I can do that for you Key facts about TOTALYTD TOTALYTD resets at the start of each year It depends entirely on the current filter context Grand Totals do NOT iterate months — they evaluate the measure once What changed on January 1st (critical insight) Before Jan 1 All visible months were in the same calendar year Grand Total context = “latest date in year” YTD up to Dec = full year Result looked correct After Jan 1 Your Matrix now contains: Months from previous year(s) AND January of the new year When Power BI evaluates the Column Grand Total: There is no Month filter Only a Date filter The latest date in context is January TOTALYTD sees: “I’m in January → YTD = January only Why this only affects the column grand total Rows = Month → evaluated month by month Columns = Team → fine Column Grand Total = evaluated once, not per row791Views1like4CommentsRe: Column Grand Total in Matrix is wrong
Hi ArchStanton , you can try these steps to get the desired result You need two different logics: One for monthly cells One for totals Replace your measure with this : DAX YTD New Cases := IF ( ISINSCOPE ( 'Date'[Month] ), -- Row level (month) TOTALYTD ( COUNT ( 'Cases'[Case Number] ), 'Cases'[Created On] ), -- Total level SUMX ( VALUES ( 'Date'[Month] ), TOTALYTD ( COUNT ( 'Cases'[Case Number] ), 'Cases'[Created On] ) ) ) What this does When a Month is in scope → normal YTD logic When Month is NOT in scope (Grand Total): Iterates each visible month Calculates YTD per month Sums those values Alternative , If you have a proper Date dimension DAX YTD New Cases := CALCULATE ( COUNT ( 'Cases'[Case Number] ), DATESYTD ( 'Date'[Date] ) ) And apply the same ISINSCOPE total fix if needed. ⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers. 💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving! 🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More]894Views2likes6CommentsRe: Matrix - formatting and Sorting
101Mathew , Power BI does support moving measures from columns to rows, but it is controlled by a Matrix-only setting. Step-by-step Select your Matrix visual Open Format pane Go to Values Toggle Show on rows = On Result: Measures appear as row headers Columns now represent only column fields Measures behave like categorical row members Measure ordering (finally controllable) Measures appear in the order they are listed in the Values well You can: Drag measures up/down to reorder Remove/reinsert measures in a fixed order You can now apply row-level background formatting, which affects each measure row independently. - Workaround — fake measure group headers Create a text measure to act as a group header. DAX Revenue Header = "REVENUE" Place it above revenue-related measures in the Values well. Then format: Bold font Dark background Disable totals for that row To hide values: Conditional formatting → Font color = background color Or return BLANK() for numeric visuals1.2KViews0likes0CommentsRe: Matrix - formatting and Sorting
Hi 101Mathew , You are correct Power BI does not support custom column ordering in a Matrix the way it supports row ordering But you can follow these steps that might work in favour : 1. Fake column hierarchy using measures Instead of a column hierarchy, you: Create separate measures for each logical column Place them side-by-side in Values Control order manually Example : Sales_2024 = CALCULATE([Sales], 'Date'[Year] = 2024) Sales_2025 = CALCULATE([Sales], 'Date'[Year] = 2025) 2. Add a “sort index” column (only works for rows) If your complaint is partly about column categories, the only sortable alternative is to pivot them into rows. Steps: Unpivot data so categories become rows Add numeric SortOrder column Sort category by SortOrder Use Matrix rows instead of columns 3. Simulated top-level header styling You can fake top-level formatting by: Adding the top hierarchy field as: A row With stepped layout OFF Turning off subtotals Using conditional formatting on row background: DAX IsTopLevel = IF( ISINSCOPE('Table'[Child]), 0, 1 ) Then apply: Background color when IsTopLevel = 1 Transparent otherwise 4. Vertical separators using blank columns To simulate thicker vertical lines: Add a dummy measure: DAX Spacer = "" Place it between columns Set background color darker Reduce column width ⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers. 💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving! 🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More]1.2KViews1like2Comments
Data Privacy
Microsoft Fabric Community and Privacy
To learn more about how we manage your data, please review the Microsoft Fabric Community Data Privacy guide.