/r/PowerBI
Everything you need to know about Power BI: news, resources, and a community of super users ready to answer questions!
New to Power BI and looking for training, resources, or online courses? Here are our favorite recommendations:
[Microsoft | Get started with Power BI](hhttps://www.microsoft.com/store/workshops-training-and-events/professionals#topic=413870014)
Microsoft Partners | Dashboard in a Day
Microsoft Partners | Paginated Reports in a Day
Microsoft | Developer in a Day
/r/PowerBI
So I’m trying to figure out the best way to turn a multi select question into something powerbi can understand. I currently have a power automate that adds rows to power bi every time a form is submitted. When i get data from the semantic model it doesn’t let me transform the data. Any help would be appreciated!
I have been developing in Power BI full time for years now. I live in the tool all day. I just spent 45 minutes trying to figure out where the hell drill-through had been moved to, and I’m ready to lose my mind over this constant stream of unnecessary UI changes.
Microsoft, for the love of god, PLEASE stop reconfiguring where visual settings are located. Moving drill through into the formatting pane under page information where I now need to change the entire page type before even seeing the option to add fields is literally harder than when it was in the build pane. You made something that worked perfectly fine, objectively worse. And on top of that, you have not updated your default documentation on drill-through to direct us where to go.
I understand settings may have to change over time, but there really needs to be a higher bar for when and why to make these changes. Many of us are working fast paced jobs where every little click matters and re learning how to do the same stuff continually is a profound waste of time.
End rant.
I have a calculation that calculates the % difference between previous year hours logged vs current year hours logged. I'd like to get the average of each location's calculation and can't seem to figure it out.
Current result is 52.60% but the desired outcome is -0.45% (-20.83%+19.93%)/2
Code I have now is below.
TIA for the help!
AVERAGEX( SUMMARIZE('Actuals Summarized', 'Actuals Summarized'[Loc_Code_Expand_Field_with_Arrows_], "Avg", [_All hours PY Variance %] ), [_All hours PY Variance %] )
I would like to make a report in Power BI Service where the main source is an Excel 365 spreadsheet that everyone on my team can update, then have a regular refresh. (Note: I'm a SQL guy and want to move this dataset to SQL server and a better data entry method. No time for that right now, though)
I've created a report within the Power BI service with an Excel file (in OneDrive, also in the same 365 tenant) as a data source. (I realize this feature says "Preview") That worked to bring data in. I am able to bring data from those tables into the report. If I go to Lineage view and click refresh, I get an error "Unable to connect". In the settings under Data Source Credentials it says "Failed to test the connection to your data source. Please retry your credentials." So, the report will not show new data since the model won't refresh.
I'm sure this is the wrong way to handle it. Looking for advice!
Hello,
During the development of a recent reporting structure, I replaced some standard tables that used measures in columns with Matrix style tables (in the tabular format) that would dynamically pivot out values.
However, a manager pointed out that he could not sort on select columns. I tested and confirmed.
Of course, this makes sense, because in a matrix table the additional columns are subcategories of the primary column, sort of like in a Excel pivot table. Meaning when you sort, it sorts within the primary OR parent column value for each row, rather than sorting on the column itself in the overall table
Does anyone know if there is a way in which to enable sorting at the table level in a matrix table?
I would prefer not have to use a standard table with a bunch of measures and calculations again.
I can't seem to add anyone in this workspace even when my access is set to admin. The email is also within our company domain, so I don't get it why it won't.
Is there a reliable/fast way to export all users granted row-level security access to a CSV?
It would be nice to build a distro list with for example.
Are there any workflow improvements to recommend if this isn't possible?
Hello everyone. I have a report saved as PBIP using TMDL preview feature. I want to redact power query expression for one of the tables via VS Code.
I'm confused if I should redact it both in specific table TMDL file and expressions.tmdl root file, or only in 1 place? I was always thinking that redacting specific table TMDL file is enough but now I need to redact query not loaded into report (but used in some intermediate PQ transformations) - and this table has no dedicated TMDL file
Thanks!
Hello everyone!
We have been playing around with the Org App feature for power bi service love the idea of having multiple apps in one workspace. One thing I notice is that it does not show up on the mobile device app. Wondering if this is because it is a preview feature?
Thanks to u/dicotyledon and u/dm-p for their contribution in educating the curious minds like mine about David Bacci’s Deneb template. Boy was I glad to find this gem after days of researching all the possible options. One thing I am still trying to figure out is adding an option to choose Hours. The dataset I am pulling measures at more granular level and everything just overlays on one another at a day level. Any help would be greatly appreciated!
Hello,
Problem:
I have an ambiguous relationship occurring between two conflicting tables and my fact table. I cannot connect the table to both, but I am face with switching off between one series of problems with one relationship and another series of problems with the other. I need a solution for this, but am honestly stumped at this point regarding how to solve it.
(Relating to the screenshot below), I need to be able to link Portfolio Reporting FINAL table to IT Project AOP, linking the transactions to their counterpart AOP items, while at the same time maintaining the relationship between Portfolio Reporting, WBS Elements, the IT Project List, and the IT project List's relationship to IT projects AOP. This is because you may need to filter either way, from the transactional standpoint, or from the project lists standpoint.
Context:
My data is IT Project Portfolio and Financial data. The following tables are I believe most relevant to this issue. ([Portfolio Reporting Final], [WBS Elements], [IT Project List], [IT Project AOP], [Combined FY AOP], and [All AOP Starting Amounts]). I will explain each of these tables below.
Portfolio Reporting Final: This table contains all of the financial transactional data in our system. This includes S4 Actuals, Project Baseline data, Project Forecast Data, International Data, etc.
Example Data:
FY-FP | WBS Element | Amount | AOP ID |
---|---|---|---|
FY25-01 | 98765 | $1000 | 1 |
FY25-02 | 56789 | $500 | 2 |
WBS Elements: This table contains a normalized listing of WBS Elements, which are Finance assigned cost buckets project costs go into. WBS Elements tie the transactional data to the project, as well as designate the costs spend class (CapEx, OpEx, RAR, ANI, Prepaid).
Example Data:
WBS Element | Prj | Spend Class |
---|---|---|
98765 | PRJ0012345 | CapEx |
56789 | PRJ0012543 | OpEx |
IT Project List: This is the master table (normalized) of all IT projects. This table is used in relation to Portfolio Reporting Final (through the connection through WBS Elements), to filter on project related details (date approved, date closed, Governance status, etc.)
Example Data:
Project | Governance Status | Date Approved | Prj Manager | FY24 AOP | FY25 AOP |
---|---|---|---|---|---|
PRJ0012345 | Executing | 01/01/2025 | Clark Kent | 1 | |
PRJ0012543 | Planned | 01/15/2025 | Bruce Wayne | 2 |
IT Project AOP: this list is a derivative of the IT project list, breaking down the AOP Item that each project falls into each year. For example: Project 12345 would have a column FY24 AOP as value Infrastructure Development, and then if it is a multi-year project may have a FY25 AOP such as Infrastructure. The AOP are items of the yearly budget. So, in this IT Project AOP table, what you get is a normalized listing of the AOP that each project links to by year.
Example Data:
Project Number | AOP ID | FY |
---|---|---|
PRJ0012345 | 1 | 2025 |
PRJ0012543 | 2 | 2025 |
Combined FY AOP: This table defined each AOP item. AOP Items have their own details, groupings, budgets, assignments, etc.
Example Data:
AOP ID | FY | Name | AOP Group | AOP Leader |
---|---|---|---|---|
1 | FY25 | Power BI Infrastructure | Analytics | Bob Smith |
2 | FY25 | New Site | Infrastructure | John Doe |
ALL AOP Starting Amounts: This table represents the financials of the AOP Item. It is the AOP transactional fact table, the counterpart of AOP values similar to the Portfolio Reporting Final
Example Data:
AOP ID | FY-FP | Amount |
---|---|---|
1 | FY25-01 | $500 |
1 | FY25-02 | $750 |
2 | FY25-01 | $1000 |
Previously I attempted a star schema by connecting the financials (which included (appended) AOP Starting amounts, directly to the IT Project AOP, to link each transaction line with its counterpart AOP information. While other branches of the model connected to the IT Project List, WBS Elements List, etc.
However, in this model filtering on reports relating to the IT Project List or AOP were terribly flawed, as the ITPL and AOP couldn't directly communicate with one another. So, if the report was showing project related info (IT Project List) and you filtered on the AOP values the results were not accurately filtered. Financials were, but the IT project list or AOP values were not. There were also other values in the WBS Elements list relating to budget that were not calculating correctly. Unlike transactional values which always align to a particular FY-FP, the budget of WBS Elements is just a base value that is not time constrained.
I realigned the relationship as you see below, such that the Portfolio Reporting FINAL connected through WBS Element to the IT Project List and then the IT project List connects to AOP. This works for a LOT of filtering situations, however now there are issues filtering transactions by AOP elements.
So, for instance, if I show a transactional table of actuals and forecasted values and say filter on an AOP group, it is connecting to multiple AOP groups in some cases, because the transaction connects through the WBS Element, into the Project List, and then to the multiple AOP items associated with each project. However, at the transaction level each line should instead only associate with a particular AOP Item based on the fiscal year the transaction occurs within.
Here is the semantic model relationship, currently.
Solutions Attempted:
I did consider creating a separate (duplicate) set of AOP tables (IT Project AOP and Combined FY AOP) to connect transactions to. Similar to how when two fields relate to a calendar you duplicate the calendar such that each acts as a unique filter. Such that there is one set of AOP tables relating to the IT Project List and another set connected to the transactions, however I couldn't get this to work because while it does enable transactions to relate to AOP directly the relationship of this filter also needs to work in the relationship with the IT Project List.
Example: On a singular report you may have data broken down in a Matrix style table by IT Project List Project values, and then the amount of spend from Portfolio Reporting FINAL. Then in the filters you would have filters relating to the IT Project List, and to AOP (alongside others). The challenge is that AOP needs to relate to both, but in different ways. Like, at the transactional level it needs to say this transaction belonged to this project as part of this AOP item. At the IT Project List Level it needs to say that a number of projects all related to each other as part of an AOP grouping.
Perhaps I am doing something wrong, or thinking about this wrong, or otherwise missing something obvious. Input is appreciated!!
I have been working on this for a better part of a day with no progress.
I have a data table with a "Type" column and "Hours" column. I have created a simple bar chart showing this data but I would like to group/combine any of these Types together and call them out as "Other" if they are less than 5% of the total. I also have a "Date" column and want to use this as a filter on the report. Is something like this possible?
Anytime I create the calculated column in seems like it ignores my date filter. Is a calculated column needed for this? Can I do it through a measure?
Hi friends! I am working on an HR dashboard, and was looking for some tips/advice. I have a standard bar chart for termination data that slices several different ways. I was wondering what the best method is to create a drill through so when certain data is selected we can see down to the employee-level. Thank you!
Good afternoon!
I have a data set. This data arrives to me as a 12-tab Excel spreadsheet, with prouducts and customers as rows and different standard P&L measures as headers (Volume, gross sales, various expense categories, and net sales).
Each tab refers to one month, so 01 is January and so on and so forth.
I have gotten my PQ so far as to combine these tabs into one BIG data set with one column that says "01" or "02" etc etc as necessary, but i ultimately need to convert that to a proper date format to make it relate to my calendar table.
My simple mind's first solution is to do one "add conditional column" with 12 conditions to convert each number to a month name, but this feels so hacky and potentially highly resource intensive. There's got to be a smart way to just tell PowerQuery that these numbers are actually months, so please consider them as such.
What is that way?
Hi we have a published report in our environment. I would like to download and modify it in power bi desktop then republish it into our environment.
When I click on the symantic model section and download pbix file I only seem to get the symantic model but no front end graphs and charts.
If i go to the dashboard and download the pbix file i only get the front end but no symantic model and data connections.
Am I missing something is there a third way to download a published report? I have owner access to the report.
Title. There are the built-in reports, but they only go back 30 days.
From what I've gathered it seems best to create a solution.
Source Data:
Power BI API (goes back 30 days)
But then I see existing solutions that also use Graph API as well. Why?
Transformation
I'd think ADF or Azure Functions. Not sure which is better?
Storage
I'd think just an Azure SQL DB would be easiest
Maybe Postgress is being fancy
Curious what all folks use / what they suggest. In my mind all I really care about is report opens (or at least starting there, as that's 90% of the value as far as I can imagine).
Hi all,
New to PowerBI and trying to create a measure that calculates the Cumulative MRR in selected months. Used to calculate this out using multiple columns in an excel report, but want to try and simplify it in power BI without adding too many extra columns to my data. Currently have this formula that works for calculating a single month but when trying to select multiple months in my slicer this does not calculate correctly.
Cumulative Renewal MRR =
CALCULATE(
SUMX('Contract Data',
IF(
'Contract Data'[Start Date] <= MAX('Calendar'[Date]) &&
'Contract Data'[New End Date] >= MAX('Calendar'[Date]),
'Contract Data'[MRR (USD)],
0
)
),
FILTER(
ALL('Calendar'[Date]),
'Calendar'[Date] <= MAX('Calendar'[Date])
),
'Contract Data'[Type] = "Renewal"
)
See example below for the output I am expecting. Is this something that could be accomplished with just a measure? Appreciate any help on this.
Selected Months | MRR | Start Date | End Date | Cumulative MRR |
---|---|---|---|---|
Jan 2025 | 100 | 1/1/25 | 12/31/25 | 100 |
Jan 2025 , Feb 2025 | 100 | 1/1/25 | 12/31/25 | 200 |
Jan 2025, Feb 2025, Mar 2025 | 100 | 1/1/25 | 12/31/25 | 300 |
I want to learn power BI to grt hired to a new job as data analyst, I know excel well, I can say a 7/10. Is anywhere where I can learn it my self for free? Without a paied course, dax functions and everything?
Hi,
I am trying to build a simple tool for our companies linkedin analytics. I want to show the articles in a small browser visualisation within one of the pages.
I have created the "Embed this post" link and it shows something like:
<iframe src="https://www.linkedin.com/embed/feed/update/urn:li:ugcPost:123123123123" height="796" width="504" frameborder="0" allowfullscreen="" title="Embedded post"></iframe>
When I try this within the html visualisation I get the error that linkedin refused to connect. Here is my code for the visual:
"<!DOCTYPE html>
<html>
<body>
<iframe src='https://www.linkedin.com/embed/feed/update/urn:li:ugcPost:123123123123?compact=1'></iframe>
</body>
</html>"
I have rad that linkedin doesnt play nicely with iframes but thought this would work given the link is generated by linkedin.
Am I barking up the wrong tree here? Appreciate any help...
Hi all!
I'm connected to an SQL database through direct query and there's a field on it that PowerBI imports as text. I need to change it to date format because I also want to use that column to filter the dashboard by date.
How could I do it? Importing the database is not possible because is too big
Has anyone had data refresh issues on data in semantic models that are using direct query, but there is a calculated table in the semantic model?
The issue I am running into is a PBI report connected to a semantic model with this setup sometimes does not accurately reflect the data in the Direct query table. I validate this by looking at the table directly in SQL.
I wanted to get some thoughts and opinions on the CALCULATE function. I'm reading through The Definitive Guide to DAX. Having learned most of what I know so far through researching specific solutions, I wanted to read a good book on DAX to get a more solid foundation for my learning journey. If you've read it, I'm sure you realize I'm still very early in the book.
Something I did come across several times online was the subject of the CALCULATE function. It's either the worst thing about DAX or not as bad as everyone makes it out to be. So far, I feel like I can understand why it's disliked but I don't know enough to understand if it can (or should) be avoided. When I write SQL for example I avoid nested subqueries like the plague, not because I think they are bad but I think they make the readability worse and so I use CTEs wherever possible. It's a sufficient enough alternative and a personal preference I stick with so long as performance isn't an issue. Does that exist in DAX/PBI? While I fully intend to learn CALCULATE (and every other function) as best I can I would like to know what the alternatives are. I'll get there, I'm sure.
I am curious as to some opinions on the subject. Do any of you treat CALCULATE the way I treat subqueries? Any feedback or opinions are welcome.
I need to create the table above, where the first 5 columns are calculated by summing up the data.
My data is structured by having a separate column for each category and type (i.e. 1 column for num people real, 1 for num people MP, 1 for num People TH and so on). Each row represents a different group id.
How would I approach this? Would I need to restructure my data?
Hi everyone,
I'm currently developing a Power BI dashboard to monitor the hours employees spend on various projects. Each employee maintains their own Excel timesheet, and while the format is consistent across all files, the values (hours worked on each project) differ. I need some guidance on how to effectively combine these files in Power BI and create a comprehensive dashboard that clearly shows who is working on what and the total hours spent on each project.
Example of the spreadsheet:
Week | Month | Date | Day | Employment% | Project x1... | Project x2.. | Project x3... | TOTAL HOURS |
---|---|---|---|---|---|---|---|---|
5 | February | 01.02.25 | Sunday | 100 | 3 | 2 | 4 | 9 |
6 | February | 02.02.25 | Monday | 100 | 4 | 4 | 2 | 10 |
Hello,
I'm trying to add conditional formatting to my matrix which currently has 3 "totals" rows I want to look like the totals row.
Top20 vendors, all other vendors and all vendors, It's not letting me use conditional formatting on the rows value, only the values section. The values have dax which creates the values for the totals rows I mentioned.
I have three identical calculations for three data sets. One works, but two do not. The generate an error of "MdxScript(Model) (4,42) Calculation error in measure 'Reports'[days]: An invalid numeric representation of a data value was encountered." whenever I try to use them in a visual. I searched for the error and the only cause I've found is an incorrectly formatted date in the source data, but I have checked and all 3 data sets use the same date format.
My calculation is this: days = DATEDIFF(SUM('Reports'[Last Connected]),TODAY(),day)
I verified that each measure has a unique name and points to a valid column in the data set that is using the correct date format. I'm kind of lost as to why this is going on. I'm also new to Power BI, so there is a lot of "I don't know what I don't know."
My IT department keeps blocking every access and won’t let us build anything ourselves. They don’t understand eCommerce and data visualization, so we’re stuck with rigid, useless reports. Honestly, I feel less efficient than with Excel… and in the age of AI, that’s frustrating.
If anyone is willing to share screenshots of their best, flexible eCommerce dashboards, I’d love to see what’s possible! Bonus points if you have integrations with Shopify and/or GA4.
Hi all,
Wondering it there is a way to take a count of the result of a measure. I have a measure that calculates the number of products each customer will buy. Now I want to know how many customers have bought each product. My model relationships have been created to create that first measure but my products table has no relationship to anything as it has no unique identifiers or keys.