Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
The root problem I have is to provide self service reporting on privacy sensitive data and prevent hostile attempts to breech privacy by filtering. The data set has low amounts of data which would make report complately useless if distributions does not show small amounts.
My aim is to show small amounts only as part of distribution which is big enough and as reporting is self service, the problem need to be addressed at measure, not at the report.
Basically what I need is to hide all data that would have row total or column total at visual less than limit constant in case data is not hidden. And that recardless of axis and filter chosen at report. I would start the idea from something like:
my_protected_measure =
VAR unprotected_measure = ...
VAR column_total =
CALCULATE(
unprotected_measure,
REMOVEFILTERS(current visual row dimension)
)
VAR row_total =
CALCULATE(
unprotected_measure,
REMOVEFILTERS(current visual column dimension)
)
RETURN IF(AND(row_total >= 5, column_total >= 5), unprotected_measure, BLANK())
How can I refer to current visual row and column dimensions at the measure?
If that is not possible, is there some out-of-the-box solution for handling privacy data at self service reporting?
Solved! Go to Solution.
Hi @JarmoAhosola ,
I created some data:
Do you want to implement the filtering of a single value in the matrix, this may not be possible, in the matrix either filter the entire column, or filter the entire row, if filtered to a single value, it will form a Blank.
Here are the steps you can follow:
Create measure.
Flag1 =
IF(
HASONEVALUE('Table'[Date])&&SUMX(FILTER(ALL('Table'),'Table'[Date]=MAX('Table'[Date])),[Value])>=20,MAX('Table'[Value]),BLANK())
Flag2 =
IF(
HASONEVALUE('Table'[Group])&&SUMX(FILTER(ALL('Table'),'Table'[Group]=MAX('Table'[Group])),[Value]) >=35,MAX('Table'[Value]),BLANK())
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
Hi @JarmoAhosola ,
I created some data:
Do you want to implement the filtering of a single value in the matrix, this may not be possible, in the matrix either filter the entire column, or filter the entire row, if filtered to a single value, it will form a Blank.
Here are the steps you can follow:
Create measure.
Flag1 =
IF(
HASONEVALUE('Table'[Date])&&SUMX(FILTER(ALL('Table'),'Table'[Date]=MAX('Table'[Date])),[Value])>=20,MAX('Table'[Value]),BLANK())
Flag2 =
IF(
HASONEVALUE('Table'[Group])&&SUMX(FILTER(ALL('Table'),'Table'[Group]=MAX('Table'[Group])),[Value]) >=35,MAX('Table'[Value]),BLANK())
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
User | Count |
---|---|
17 | |
14 | |
13 | |
13 | |
13 |
User | Count |
---|---|
19 | |
15 | |
14 | |
10 | |
9 |