Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
I have a semantic model with a "fact-less" fact table. It has some grain, and it has some business key (say, [ID]). It also has 2 dimensions, say, A and B. (Note, the combination of dimensions does not necessarily match the fact table's grain). The fact table doesn't have any degenerate dimensions. Following best practices, I only expose (to report developers) what I need to. That is, I hide the surrogate keys on the dimension tables, and, since my fact table is a fact-less fact table without any degenerate dimensions (i.e., it just has 2 columns, containing surrogate keys for dimensions A and B), I hide the entire fact table (not just certain columns) from clients (like Power BI Desktop).
I now have a requirement (which I think is a bad requirement) where a report viewer (really, a report developer) wants to see each of the rows in the fact table (that is, on the report itself). Specifically, he wants to see the business key of the fact table. I don't think that Power BI allows for that. Is that true? Or, is that really a bad requirement?
One solution that I can think of to achieve that is to include the business key ([ID]) on the fact table, expose that column in the model, and create a table visual with the [ID] field. That feels wrong to me, though, as the table visual is meant to include at least 1 measure and at least 1 "dimension field". In other words, the table visual is not meant to replicate tables in the model. Am I wrong about that?
As long as it fulfills a business purpose. Your data model and your table structures have to follow the business scenario, not the other way round.