У меня есть отчет, который работает на Cognos и мы переходим на SSRS. Cognos SQL использует функцию rank
. Может кто-нибудь, пожалуйста, помогите мне выяснить, как я могу написать тот же запрос в T-SQL:
rank() over (at "left"(upper(cast_char(TIMESTAMP '2018-04-30 00:00:00.0')), 3), dim_customer.concern_name
order by XSUM(case when (cast(dim_order_date.order_date_date as date) between
CAST(:PQ2 AS timestamp) and CAST(:PQ1 AS timestamp))
then invoice_lines_fact3.fare_taken else 0 end
at "left"(upper(cast_char(TIMESTAMP '2018-04-30 00:00:00.0')),3),dim_customer.concern_name,invoice_lines_fact3.inv_line_id
for "left"(upper(cast_char(TIMESTAMP '2018-04-30 00:00:00.0')),3),dim_customer.concern_name ) desc nulls last) as Rank1,`
, а также для этого, где фильтр условия:
((cast(dim_order_date.order_date_date as date) between _add_years(cast(TIMESTAMP '2018-04-01 00:00:00.0' as date),(-1)) and CAST(:PQ1 AS timestamp))
and (((dim_route.AIRLCD in ('CC','AA')) and (dim_route.END_DATE < CAST(:PQ2 AS timestamp)))
or (dim_route.END_DATE is NULL)))