Как запустить SQL на основе условия фильтра в отчете таблицы - PullRequest
0 голосов
/ 19 октября 2019

У меня есть эти данные на сервере Sql для таблицы, которую я извлек в таблице, используя данные извлечения: -

SQL server output

Требование заключается в том, чтокогда пользователь выбирает source_nbr и stock_date, которые находятся под критериями фильтрации в панели инструментов tableau, должен запускаться запрос sql, который должен привести к пользовательскому результату из извлеченных данных в таблице и показать его на панели инструментов tableau.

Запрос, который будет запущенв зависимости от выбора пользователя: -

select top 1 with ties
   source_nbr,
   source_cc,
   stock_date,
   item_nbr,
   fin_rpt_grp_code,
   base_div_code,
   dept_nbr,
   item_desc,
   item_upc
from dbo.inventory_stock_status
WHERE source_nbr = <UserSelectedsource_nbr> and stock_date < <userSelectedDate> 
order by row_number() over (partition by item_nbr order by stock_date desc);

Вот так выглядит мой отфильтрованный столбец в рабочей таблице: -

Example of selecting sourceNbr and stockDate in right side filter

В двух словах, когда пользователь выбирает исходные данные nbr и данные о запасах в правой части панели инструментов таблицы, выше SQL должен запускаться за сценой на извлеченных данных, и выходные данные показываются пользователю.

Надеюсь, я прояснил свой вопрос.

1 Ответ

0 голосов
/ 20 октября 2019

Вы можете использовать cte следующим образом:

with table1 as
(
select
   source_nbr,
   source_cc,
   stock_date,
   item_nbr,
   fin_rpt_grp_code,
   base_div_code,
   dept_nbr,
   item_desc,
   item_upc,
   row_number() over (partition by item_nbr order by stock_date desc) as rn
from dbo.inventory_stock_status
WHERE source_nbr = <UserSelectedsource_nbr> and stock_date < <userSelectedDate>
)
select
   source_nbr,
   source_cc,
   stock_date,
   item_nbr,
   fin_rpt_grp_code,
   base_div_code,
   dept_nbr,
   item_desc,
   item_upc
from table1
order by rn
...