Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin 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.
Hi,
Can anyone suggest how to create a table in the data model similar to the matrix highlighted below? I am facing issue when I am applying the measure to thousands of employee's and the visual is running out of memory in the worksplace. I want to pre-load the data in the matrix to a table so that the performance improves.
@Anonymous helped with the measure below. Now I need to create a table replicate the matrix highlighted above to a table so that I do not run into performance issue after publishing the report.
Solved! Go to Solution.
Hi @Anonymous ,
You can use the following calculated table:
Table =
ADDCOLUMNS (
CROSSJOIN ( VALUES ( 'Product'[Product] ), VALUES ( 'Employee'[Employee] ) ),
"SKILL MATCH",
VAR _pslist =
CALCULATETABLE (
VALUES ( 'Product'[Pskill] ),
FILTER ( 'Product', 'Product'[Product] = EARLIER ( 'Product'[Product] ) )
)
VAR _pscount =
COUNTROWS ( _pslist )
VAR _escount =
CALCULATE (
DISTINCTCOUNT ( 'Employee'[Eskill] ),
FILTER (
'Employee',
'Employee'[Employee] = EARLIER ( 'Employee'[Employee] )
&& 'Employee'[Eskill] IN _pslist
)
)
RETURN
IF ( _pscount = _escount, "Y", BLANK () )
)
But it will also cause the performance issue when data refresh. The root solution for it is to apply the translation in data source.
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Best Regards,
Dedmon Dai
Hi @Anonymous ,
You can use the following calculated table:
Table =
ADDCOLUMNS (
CROSSJOIN ( VALUES ( 'Product'[Product] ), VALUES ( 'Employee'[Employee] ) ),
"SKILL MATCH",
VAR _pslist =
CALCULATETABLE (
VALUES ( 'Product'[Pskill] ),
FILTER ( 'Product', 'Product'[Product] = EARLIER ( 'Product'[Product] ) )
)
VAR _pscount =
COUNTROWS ( _pslist )
VAR _escount =
CALCULATE (
DISTINCTCOUNT ( 'Employee'[Eskill] ),
FILTER (
'Employee',
'Employee'[Employee] = EARLIER ( 'Employee'[Employee] )
&& 'Employee'[Eskill] IN _pslist
)
)
RETURN
IF ( _pscount = _escount, "Y", BLANK () )
)
But it will also cause the performance issue when data refresh. The root solution for it is to apply the translation in data source.
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Best Regards,
Dedmon Dai
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.
User | Count |
---|---|
81 | |
42 | |
30 | |
27 | |
27 |