The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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.