Mam taki case. W SSRS tworze raport poprzez polecenie select SUBSTRING (SUSER_NAME (), 13,10
wydobywam nazwę użytkowania. Na jej podstawie tworze indywidualny raport dla użytkownika.
select * from dane
WHERE
data in (@data_raportu)
AND
dane.sales in (
SELECT distinct [sales]
FROM [test]. [Dbo]. [T2]
where [login_sales] in (@sales_filtr))
Niestety pojawił się problem, w tym raporcie potrzebuje zrobić pod raport dla regionu. Mam następująca tabele:
DANE
| DATA | SALES | PROFIT | EXPRENSE | PROFIABILITY | REGION |
|--------|--------|--------|----------|--------------|--------|
| 201901 | Sales1 | 50 | 50 | 0 | A |
| 201901 | Sales2 | 100 | 50 | 50 | A |
| 201901 | Sales3 | 105 | 55 | 50 | B |
| 201901 | Sales4 | 90 | 80 | 10 | C |
| 201901 | Sales5 | 190 | 80 | 110 | A |
Sales5 to użytkownik / właściciel regionu, pozostali (Sales1 i Sales2) to jego pracownicy. Im raport ma się generować tak jak do tej pory. Sales5 będzie miał dodatkową tabele z wynikami obu panów. niestety nie wiem jak zbudować źródło danych aby na podstawie nazwy użytkowania SQL wyświetlił dane tylko dla regionu A.
Myślałem o
select *,
case when sales = @sales_filtr then (select * from dane where region = 'A')
Else 0 end
from dane
Ale w CASE WHEN nie mogę stosować podzapytań.
Macie pomysł jak to ugryźć?