Forum Discussion

PijanMac's avatar
PijanMac
Regular Visitor
2 years ago

TOPN DAX without filter

I have an issue with the TOPN method. 

I have a table with a few columns with different Water parameters, they were filled in on different days  (so they have gaps) "InsertDate" column shows these dates. it is also based on different tanks.

TankInsertDateHardnessFAlkalinityphConductivityTemperature
11113-03-24 11:1425.54 6.8880815
11112-03-24 9:2726.07 6.94807.215.3
11111-03-24 10:4224.292.966.97803.515.6
11211-03-24 10:4024.292.966.97803.515.6
11211-03-24 10:3422.91.737.05511.911.5
11211-03-24 10:3026.32.976.94831.915.4
11211-03-24 7:15   7.77211.9


I made a Line charts which show me a trends of value for every parameter based on Insert date. and two slicers for user: "InserDate", and "Tank" to select each tank.

ISUEE: I would like to measure the +/- 3sigma value for each parameter based on only last 10 samples, independently/without the "InserDate" slicer but I can't handle how to remove a filter from this "InserDate" column only for TOPN method.


Here is my code.
+
3sigma_HardnessF_last10samples =
VAR lastxsamples =
    TOPN (10, WaterData,'WaterData'[HardnessF],DESC)
RETURN
    IF(SELECTEDVALUE(WaterData[Location])="Poland",
    CALCULATE(
    AVERAGE('WaterData'[HardnessF])+(3*STDEV.P('WaterData'[HardnessF])),lastxsamples),"")

I will be grateful for any help.

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  PijanMac ,

     

    You can try the following DAX:

    Rank =
    RANKX(    FILTER(ALL('WaterData'),'WaterData'[Tank]=MAX('WaterData'[Tank])),CALCULATE(SUM('WaterData'[HardnessF])),,DESC)
    +3sigma_HardnessF_last10samples =
    IF(
        SELECTEDVALUE('WaterData'[Location])="Poland",
        CALCULATE(
            AVERAGE('WaterData'[HardnessF])+
            3*STDEVX.P(
                FILTER(ALL('WaterData'),
                [Rank]<=10),[HardnessF])))

     

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.