Forum Discussion

skutovicsakos's avatar
6 years ago
Solved

SUM Rows Correctly When Filters Applied

Let's start with the data for demontration:

 

iddatasizeactionCustom column mentioned belowcategory
19create3category1
19read3category1
28create4category2
19read3category1
28read4category2
310create10category1

 

The goal is to sum the datasize for all category, but if I simply sum the datasize column, then the same document's size is being summed multiple times, which is obviously not good. Therefore, I came up with the following custom column that divides the datasize by number of rows with the same id:

DocumentUsage[Datasize]  / CALCULATE(COUNTROWS(DocumentUsage), ALLEXCEPT(DocumentUsage, DocumentUsage[DataID]))

 

It shows the size correctly, until I use filters on the action column. For example, if only "read" is selected, then the document (with id=1) sum gets reduced to 6 instead of 9, because the line with "create" action is no longer being summed.

 

How can I show the datasize correctly every time, when other filters are being applied as well?

 

  • Ashish_Mathur's avatar
    Ashish_Mathur
    6 years ago

    Hi,

    You do not need a calculated column formula.  Try this measure

    Min datasize = MIN(Data[Datasize])

    Measure = SUMX(SUMMARIZE(VALUES(Data[Id]),Data[Id],"ABCD",[Min datasize]),[ABCD])

    Hope this helps.

3 Replies

  • Hi,

    What result are you expecting when Read is selected?  There are 2 ID's for Read - 1 and 2.  Should the answer be 9+8 = 17?

    Please clarify.

    • skutovicsakos's avatar
      skutovicsakos
      Helper I

      Hi Ashish_Mathur ,

      Yes, that is correct. 

      Maybe the I downgraded the probelem way too much. I have an additional category column which I am curious about. 

       

      iddatasizeactionCustom column mentioned belowcategory
      19create3category1
      19read3category2
      28create4category2
      19read3category1
      28read4category2

       

      so the question I am trying to answear is the following: what is the datasize sum for each category, but obviously each document should be counted only once.

      • Ashish_Mathur's avatar
        Ashish_Mathur
        Super User

        Hi,

        You do not need a calculated column formula.  Try this measure

        Min datasize = MIN(Data[Datasize])

        Measure = SUMX(SUMMARIZE(VALUES(Data[Id]),Data[Id],"ABCD",[Min datasize]),[ABCD])

        Hope this helps.