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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.

Reply
Anonymous
Not applicable

How to make a report: " counting of work'

Hi everyone !

I have two table as below:

Table one

Project

Tester(name)Dev (name)
Project IAB
Project IIA,CC
Project IIIDB,A

Table two

Nameemail
A 
B 
C 
D 

I want to creat a report as below:

NameTotal joinTestDev
A3 (--join 3 project I,II,III)21
B2  2
C111
D111

 

Please guide me ! I can't speak english not well.

Thank

2 ACCEPTED SOLUTIONS
smpa01
Super User
Super User

@Anonymous  bring your axis from table2 in the viz and use following measures

 

 

 

devCount = 
VAR _0 =
    ADDCOLUMNS (
        ADDCOLUMNS ( t1, "@newDev", SUBSTITUTE ( t1[Dev (name)], ",", "|" ) ),
        "@newTester", SUBSTITUTE ( t1[Tester(name)], ",", "|" )
    )
VAR _1 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [@newDev] ) ),
            "@Dev", PATHITEM ( [@newDev], [Value], TEXT )
        )
    )
VAR _2 =
    ADDCOLUMNS (
        t2,
        "@Count", COUNTX ( FILTER ( _1, [@Dev] = EARLIER ( [Name] ) ), [@Dev] )
    )
RETURN
    SUMX ( _2, [@Count] )


testerCount = 
VAR _0 =
    ADDCOLUMNS (
        ADDCOLUMNS ( t1, "@newDev", SUBSTITUTE ( t1[Dev (name)], ",", "|" ) ),
        "@newTester", SUBSTITUTE ( t1[Tester(name)], ",", "|" )
    )
VAR _1 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [@newTester] ) ),
            "@Tester", PATHITEM ( [@newTester], [Value], TEXT )
        )
    )
VAR _2 =
    ADDCOLUMNS (
        t2,
        "@Count", COUNTX ( FILTER ( _1, [@Tester] = EARLIER ( [Name] ) ), [@Tester] )
    )
RETURN
    SUMX ( _2, [@Count] )

finalCount = 
VAR _0 =
    ADDCOLUMNS (
        ADDCOLUMNS ( t1, "@newDev", SUBSTITUTE ( t1[Dev (name)], ",", "|" ) ),
        "@newTester", SUBSTITUTE ( t1[Tester(name)], ",", "|" )
    )
VAR _1 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [@newDev] ) ),
            "@Dev", PATHITEM ( [@newDev], [Value], TEXT )
        )
    )
VAR _2 =
    ADDCOLUMNS (
        t2,
        "@Count", COUNTX ( FILTER ( _1, [@Dev] = EARLIER ( [Name] ) ), [@Dev] )
    )
VAR _11 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [@newTester] ) ),
            "@Tester", PATHITEM ( [@newTester], [Value], TEXT )
        )
    )
VAR _12 =
    GROUPBY (
        SUMMARIZE ( UNION ( _1, _11 ), [@Dev], [Project] ),
        [@Dev],
        "@X", COUNTX ( CURRENTGROUP (), [Project] )
    )
VAR _13 =
    ADDCOLUMNS (
        t2,
        "@total", SUMX ( FILTER ( _12, [@Dev] = EARLIER ( t2[Name] ) ), [@X] )
    )
RETURN
    SUMX ( _13, [@total] )

 

 

 

 

smpa01_0-1633448738374.png

 

pbix is attached here - https://1drv.ms/u/s!AkrysYUHaNRvhcV8WS7KYKFfAHwSdw?e=5KOyEs

 

 

 

 

Did I answer your question? Mark my post as a solution!
Proud to be a Super User!
My custom visualization projects
Plotting Live Sound: Viz1
Beautiful News:Viz1, Viz2, Viz3
Visual Capitalist: Working Hrs

View solution in original post

@Anonymous  answer revised

Did I answer your question? Mark my post as a solution!
Proud to be a Super User!
My custom visualization projects
Plotting Live Sound: Viz1
Beautiful News:Viz1, Viz2, Viz3
Visual Capitalist: Working Hrs

View solution in original post

4 REPLIES 4
smpa01
Super User
Super User

@Anonymous  bring your axis from table2 in the viz and use following measures

 

 

 

devCount = 
VAR _0 =
    ADDCOLUMNS (
        ADDCOLUMNS ( t1, "@newDev", SUBSTITUTE ( t1[Dev (name)], ",", "|" ) ),
        "@newTester", SUBSTITUTE ( t1[Tester(name)], ",", "|" )
    )
VAR _1 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [@newDev] ) ),
            "@Dev", PATHITEM ( [@newDev], [Value], TEXT )
        )
    )
VAR _2 =
    ADDCOLUMNS (
        t2,
        "@Count", COUNTX ( FILTER ( _1, [@Dev] = EARLIER ( [Name] ) ), [@Dev] )
    )
RETURN
    SUMX ( _2, [@Count] )


testerCount = 
VAR _0 =
    ADDCOLUMNS (
        ADDCOLUMNS ( t1, "@newDev", SUBSTITUTE ( t1[Dev (name)], ",", "|" ) ),
        "@newTester", SUBSTITUTE ( t1[Tester(name)], ",", "|" )
    )
VAR _1 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [@newTester] ) ),
            "@Tester", PATHITEM ( [@newTester], [Value], TEXT )
        )
    )
VAR _2 =
    ADDCOLUMNS (
        t2,
        "@Count", COUNTX ( FILTER ( _1, [@Tester] = EARLIER ( [Name] ) ), [@Tester] )
    )
RETURN
    SUMX ( _2, [@Count] )

finalCount = 
VAR _0 =
    ADDCOLUMNS (
        ADDCOLUMNS ( t1, "@newDev", SUBSTITUTE ( t1[Dev (name)], ",", "|" ) ),
        "@newTester", SUBSTITUTE ( t1[Tester(name)], ",", "|" )
    )
VAR _1 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [@newDev] ) ),
            "@Dev", PATHITEM ( [@newDev], [Value], TEXT )
        )
    )
VAR _2 =
    ADDCOLUMNS (
        t2,
        "@Count", COUNTX ( FILTER ( _1, [@Dev] = EARLIER ( [Name] ) ), [@Dev] )
    )
VAR _11 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [@newTester] ) ),
            "@Tester", PATHITEM ( [@newTester], [Value], TEXT )
        )
    )
VAR _12 =
    GROUPBY (
        SUMMARIZE ( UNION ( _1, _11 ), [@Dev], [Project] ),
        [@Dev],
        "@X", COUNTX ( CURRENTGROUP (), [Project] )
    )
VAR _13 =
    ADDCOLUMNS (
        t2,
        "@total", SUMX ( FILTER ( _12, [@Dev] = EARLIER ( t2[Name] ) ), [@X] )
    )
RETURN
    SUMX ( _13, [@total] )

 

 

 

 

smpa01_0-1633448738374.png

 

pbix is attached here - https://1drv.ms/u/s!AkrysYUHaNRvhcV8WS7KYKFfAHwSdw?e=5KOyEs

 

 

 

 

Did I answer your question? Mark my post as a solution!
Proud to be a Super User!
My custom visualization projects
Plotting Live Sound: Viz1
Beautiful News:Viz1, Viz2, Viz3
Visual Capitalist: Working Hrs
Anonymous
Not applicable

thank you so much. Counting of test and dev are correct. But total is incorrect as I descrip. Total = project joined
Here, A join 3 project ( I, II,III), --> Total =3
B join 2 Project(I,III)--> Total=2
C join 1 Project (II) --> Total=1, C has 2 role in project II so Dev=1,test=1

@Anonymous  answer revised

Did I answer your question? Mark my post as a solution!
Proud to be a Super User!
My custom visualization projects
Plotting Live Sound: Viz1
Beautiful News:Viz1, Viz2, Viz3
Visual Capitalist: Working Hrs
AlexisOlson
Super User
Super User

You can get the counts using CONTAINSSTRING. E.g.

 

TestCount =
VAR T2Name = SELECTEDVALUE ( Table2[Name] )
RETURN
    CALCULATE (
        COUNTROWS ( Table1 ),
        CONTAINSSTRING ( Table1[Tester], T2Name )
    )

DevCount =
VAR T2Name = SELECTEDVALUE ( Table2[Name] )
RETURN
    CALCULATE (
        COUNTROWS ( Table1 ),
        CONTAINSSTRING ( Table1[Dev], T2Name )
    )

Total =
VAR T2Name = SELECTEDVALUE ( Table2[Name] )
RETURN
    CALCULATE (
        COUNTROWS ( Table1 ),
        CONTAINSSTRING ( Table1[Tester], T2Name )
            || CONTAINSSTRING ( Table1[Dev], T2Name )
    )

 

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.