sales level 1 sales level 2 sales level 3
sl1 slm1 slmn1
sl1 slm1 slmn2
sl1 slm2 slmn3
sl1 slm2 slmn4
sl2 slm3 slmn5
sl2 slm3 slmn6
sl2 slm3 slmn7
sl2 slm3 slmn8
sl2 slm3 slmn9
sl2 slm3 slmn10
sl2 slm4 slmn11
sl2 slm4 slmn12
i’ve a hierarchy somewhat similar to this . i want to apply rls based on the same in superset in a way that sales level 1 can see data related to his subordinates sales level2 can see data related to saleslvel3 . can someone please help me out with this
SELECT sd.*
FROM sales_data sd
JOIN hierarchy h ON sd.sales_level_2 = h.sales_level_2 AND sd.sales_level_3 = h.sales_level_3
WHERE
h.sales_level_1 = CURRENT_USER — Use Superset’s CURRENT_USER placeholder
OR
(h.sales_level_1 = (SELECT sales_level_1 FROM hierarchy WHERE sales_level_2 = h.sales_level_2 AND sales_level_3 = h.sales_level_3 AND sales_level_1 = CURRENT_USER))
OR
(h.sales_level_1 = (SELECT sales_level_1 FROM hierarchy WHERE sales_level_2 = h.sales_level_2 AND sales_level_3 = h.sales_level_3 AND sales_level_2 = CURRENT_USER));
i’ve tried creating a similar kind of sql query but it was not helpful