Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Anonymous
Not applicable

Creating a New Table in Data Model analogous to a Matrix in the Visual

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.

 

 

rahulpaul5607_0-1614193980193.png

 

@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.

 

Who can sell product? =
VAR _pslist =
CALCULATETABLE (
VALUES ( 'Product'[Pskill] ),
FILTER ( 'Product', 'Product'[Product] = SELECTEDVALUE ( 'Product'[Product] ) )
)
VAR _pscount =
COUNTROWS ( _pslist )
VAR _escount =
CALCULATE (
DISTINCTCOUNT ( 'Employee'[Eskill] ),
FILTER (
'Employee',
'Employee'[Employee] = SELECTEDVALUE ( 'Employee'[Employee] )
&& 'Employee'[Eskill] IN _pslist
)
)
RETURN
IF ( _pscount = _escount, "Y", BLANK () )
1 ACCEPTED SOLUTION
v-deddai1-msft
Community Support
Community Support

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

View solution in original post

1 REPLY 1
v-deddai1-msft
Community Support
Community Support

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

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.