Forum Discussion

syasmin25's avatar
syasmin25
Icon for Helper V rankHelper V
6 years ago
Solved

Counting ELA and MATH

I have an issue and am having trouble wrapping my head around it. I am trying to count students absent in English and Math classes. The issue here is the database places students absent per period on a row to row basis. I have created a sample here. The original one is over a million rows.

 

I was wondering if there is any way I can create a column that counts number of students absent in MATH and ELA. I know I can do table. But I need to be looking more like the picture below (red font is where I want the calculation) and was wondering if someone could help.

  • syasmin25 

    or this version might be faster

    Measure V2 =
    VAR tab0_ =
        FILTER ( Table1, Table1[Subject] IN { "MATH", "ELA" } )
    RETURN
        SUMX (
            tab0_,
            ( COUNTROWS ( FILTER ( tab0_, [ID] = EARLIER ( [ID] ) ) ) = 2 ) * ( 1 / 2 )
        )

     

    Please mark the question solved when done and consider giving kudos if posts are helpful.

    Contact me privately for support with any larger-scale BI needs, tutoring, etc.

    Cheers 

     

12 Replies

  • mahoneypat's avatar
    mahoneypat
    Icon for Microsoft Employee rankMicrosoft Employee

    Not sure what happened but this same post was also listed under "Counting Core Courses".  I had replied with this expression.

     

    Absent ELA and Math =
    COUNTROWS (
    FILTER (
    VALUES ( Absences[ID] ),
    CALCULATE ( COUNTROWS ( Absences ), Absences[Subject] IN { "ELA", "Math" } ) = 2
    )
    )

     

    If this works for you, please mark it as solution.  Kudos are appreciated too.  Please let me know if not.

    Regards,

    Pat

    • syasmin25's avatar
      syasmin25
      Icon for Helper V rankHelper V

      The equation still carries some duplicates.

      • stevedep's avatar
        stevedep
        Icon for Memorable Member rankMemorable Member

        Sorry, I can't help further unless you provide more information. Perhaps I can when you share a Pbi file with an anonymous subset of your data that shows the problem?

    • syasmin25's avatar
      syasmin25
      Icon for Helper V rankHelper V

      I would need a distinct count on the IDs.

  • stevedep's avatar
    stevedep
    Icon for Memorable Member rankMemorable Member

    Hi,

     

    This should work:

    NumberOfStudentsAbsentInELAAndMath = 
    var filterset = FILTER(PresenceStudents;PresenceStudents[Subject]="ELA" || PresenceStudents[Subject]="MATH")
    var summaryset_ineiterclass = SUMMARIZE(filterset;PresenceStudents[ID])
    var allstudents = SUMMARIZE(PresenceStudents;PresenceStudents[ID])
    return
    COUNTX(EXCEPT(allstudents;summaryset_ineiterclass);1)

    As can be seen here:

     

    Power BI file is available here.

     

    Please accept as solution if this is what you are looking for.

     

    Kind regards,

     

    Steve. 

    • syasmin25's avatar
      syasmin25
      Icon for Helper V rankHelper V

      It is not doing a distinct count on the ID, is there a way that would be possible? I tried to go along in a few ways but it doesnt seem to work.

      • stevedep's avatar
        stevedep
        Icon for Memorable Member rankMemorable Member

        In my response I share a power bi file with a working solution?

    • AlB's avatar
      AlB
      Icon for Community Champion rankCommunity Champion

      Hi syasmin25 

      1. Place Table1[School ID] in a table visual

      2. Place this measure in the visual

       

      Measure V1 =
      COUNTROWS (
          FILTER (
              DISTINCT ( Table1[ID] ),
              CALCULATE ( COUNT ( Table1[ID] ), Table1[Subject] IN { "ELA", "MATH" } ) = 2
          )
      ) + 0
      

       

       

      Please mark the question solved when done and consider giving kudos if posts are helpful.

      Contact me privately for support with any larger-scale BI needs, tutoring, etc.

      Cheers 

      • syasmin25's avatar
        syasmin25
        Icon for Helper V rankHelper V

        I have tried your equationn, however it almost there yet not there with the result. Like my result for one of the schools is supposed to be 52 but witht he equation, it is still showing 60. I am guessing that it is carrying in duplicate values.