Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
1 year ago
Solved

Dynamic Data Masking

Hello everyone, thank you for your attention,   I've been facing a big pain point on my report recently,   I'm trying to achieve something i would name like "Dynamic masking" I'm on a matrix v...
  • vojtechsima's avatar
    1 year ago

    Hello, Anonymous 
    try this (it's prolly overengineered, but have a shot):

    measure = 
    var _total = SUMX(ALL('Table'[value]), 'Table'[value])
    var _value = SUM('Table'[value])
    var lessThan5 = COUNTROWS(FILTER('Table', 'Table'[value] < 5))
    var lowest = MINX(FILTER(ALL('Table'), 'Table'[value] < 5), 'Table'[value])
    var secondLowest = MINX(FILTER(ALL('Table'), 'Table'[value] > lowest), 'Table'[value])
    var _twoMore = IF(_value = lowest, "NA", _value)
    var _single = IF( _value = lowest || _value = secondLowest, "NA", _value)
    var _check = 
    SWITCH(
        TRUE(),
        lessThan5 = 1 || ISBLANK(lessThan5) , _single,
        lessThan5 >= 2 || ISBLANK(lessThan5), _twoMore,
        NOT(HASONEVALUE('Table'[name])), _total,
        _value
    )
    
    return _check