Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago

How to calculate column based on Slicer

Hi everyone,

 

I have a table like the next one:

ID ClassPointsPoints_Norm
1A500
2A8000.1372455
3A9110.15755784
4B45615283.4639301
5B15210.26918418
6B1230.01335856
7C148942.71636296
8C45610.82548594
9C546516100
10C14651626.8023994

 

Also, I have a slicer for the column "Class". My objective is to put the variable "Points_norm "in a graph (it is just the values of "Points" normalized between 0 and 100).

 

What I'm looking for is that, when I select one of the classes with my slicer, I get the normalized values just for the filtered results. In this example, if I select Class==A with the slicer,  what I would get is:

 

ID ClassPointsPoints_Norm
1A500
2A80087.1080139
3A911100

 

Because the normalization is done just for those values I calculated. Does anyone know how to get this in Power BI?

 

Thank you all

3 Replies

  • Anonymous , You can not calculate a column with slicer values. You can only use the slicer value in measure. Think how can you use measure in place of column

    • Anonymous's avatar
      Anonymous
      Not applicable

      So the idea would be, how to get a measure that scales between 0 and 100 the values that affected the slicer?

      • amitchandak's avatar
        amitchandak
        Icon for Super User rankSuper User

        Anonymous , have slicer using what if parameter

        assume you need it for points and ID is you min level

         

        Try like

        total point = sum(Table[Points])

        measure =
        var _min = minx(allselected(whatif), whatif[value])
        var _max = maxx(allselected(whatif), whatif[value])
        return
        sumx(values(Table[ID]) , if([total point]>=_min && [total point] <=_max, [total point], blank()))

         

        or like this, here you can add more than one group by

         

        measure =
        var _min = minx(allselected(whatif), whatif[value])
        var _max = maxx(allselected(whatif), whatif[value])
        return
        sumx(filter(summarize(Table, Table[ID], "_1", sum(Table[Points])) , [_1]>=_min && [_1] <=_max),[_1])