SSRS Report Custom Sort - PullRequest
       11

SSRS Report Custom Sort

0 голосов
/ 02 сентября 2018

Мне нужно реализовать пользовательскую сортировку в отчете SSRS для поля «Диапазон платежей», полученного из одного набора дат

Диапазон выплат выглядит следующим образом:

$0 - $200       
$200.01 - $1000     
$1,000.01 - $10,000     
$10,000.01 - $20,000        
$20,000.01 - $30,000        
$30,000.01 - $40,000        
$40,000.01 - $50,000        
$50,000.01 - $60,000

Я использовал if else для реализации

  =IIF(Fields!netPaymentRange.Value= "$0 - $200", "A",
    IIF(Fields!netPaymentRange.Value= "$200.01 - $1000", "B",
    IIF(Fields!netPaymentRange.Value= "$1,000.01 - $10,000", "C", 
    IIF(Fields!netPaymentRange.Value= "$20,000.01 - $30,000", "D",
    IIF(Fields!netPaymentRange.Value= "$30,000.01 - $40,000", "E",
    IIF(Fields!netPaymentRange.Value= "$40,000.01 - $50,000", "F",
    IIF(Fields!netPaymentRange.Value= "$50,000.01 - $60,000", "G","")))))))

но это не работает для меня. Пожалуйста, предложите

1 Ответ

0 голосов
/ 03 сентября 2018

Я бы создал CTE с запросом выбора значений, чтобы создать порядок сортировки для вашего списка диапазонов платежей. Затем вы можете присоединиться к исходной таблице / представлению для набора данных отчета. Я бы по-прежнему предлагал хранить payment_range в виде таблицы.

Пример SQL

WITH
payment_range
AS
(
    SELECT tbl.* FROM (VALUES
      ( '$0 - $200', 1)
    , ( '$200.01 - $1000', 2)
    , ( '$1,000.01 - $10,000', 3)
    , ( '$20,000.01 - $30,000', 4)
    , ( '$30,000.01 - $40,000', 5)
    , ( '$40,000.01 - $50,000', 6)
    , ( '$50,000.01 - $60,000', 7)
    ) tbl ([netPaymentRange], [netPaymentRangeSortOrder]) 
)
SELECT 
    * 
FROM 
    payment_range --join to your source table here
ORDER BY 
    [netPaymentRangeSortOrder]

Результаты

screenshot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...