Reporting services SSRS报告自定义排序

Reporting services SSRS报告自定义排序,reporting-services,ssrs-2017,Reporting Services,Ssrs 2017,我需要在从一个日期集获取的付款范围字段上对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 我使用了

我需要在从一个日期集获取的付款范围字段上对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","")))))))

但这对我不起作用。请建议

我将使用“从值中选择”查询创建一个CTE,以便为您的付款范围列表创建排序顺序。然后可以连接到报表数据集的源表/视图。我仍然建议将
付款范围
存储为一个表

示例SQL 结果

数据集的查询源是什么?SQL Server、Oracle、XML等。如果可以应用排序列,您似乎应该在查找表中存储
付款范围
。不工作?请提供比“不工作”更详细的信息,因为它没有任何意义。查询源是SQL server,不工作意味着它将给出如下结果:-$0-$200$1000.01-$10000$10000.01-$20000$200.01-$1000$20000.01-$30000$30000.01-$40000.01-$50000$50000.01-$60000如果将上述语句作为表达式指定给列,是否得到正确/期望的结果?我会考虑使用开关语句这样的事情。更好的是。。在数据源中返回一个合适的行,以便在无需担心的情况下进行排序。如果我的答案让你满意,你能点击答案旁边的复选标记将其从灰色变为填充吗?
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]