Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 报表生成器-包含多个要分类的值的嵌套If语句_If Statement_Reporting Services_Reportbuilder_Statements - Fatal编程技术网

If statement 报表生成器-包含多个要分类的值的嵌套If语句

If statement 报表生成器-包含多个要分类的值的嵌套If语句,if-statement,reporting-services,reportbuilder,statements,If Statement,Reporting Services,Reportbuilder,Statements,我在报表生成器中工作,在创建计算字段以对其他列中的数据进行分类时遇到问题 为了简化和解释我的目标: 我想创建一个包含4个不同类别的计算字段,我假设最好的方法是使用嵌套的if语句。如果这不是最好的功能,请随时纠正我 Category 1:我们就叫它“A” 第2类:“B” 第3类:“C” 第4类:“D” 另一列中的值: 简化示例- 1-10号为A类 数字11-20是B 数字21-30是C 31-40号属于D类 但是在我的特殊情况下,这些值在这10个连续的范围内没有很好的组织。例如,我有一个33

我在报表生成器中工作,在创建计算字段以对其他列中的数据进行分类时遇到问题

为了简化和解释我的目标:

我想创建一个包含4个不同类别的计算字段,我假设最好的方法是使用嵌套的if语句。如果这不是最好的功能,请随时纠正我

Category 1:我们就叫它“A”
第2类:“B”
第3类:“C”
第4类:“D”
另一列中的值:

简化示例-

  • 1-10号为A类
  • 数字11-20是B
  • 数字21-30是C
  • 31-40号属于D类
但是在我的特殊情况下,这些值在这10个连续的范围内没有很好的组织。例如,我有一个33的值,它将是一个类别,这使得我不能使用大于或小于运算符

在解释了我的问题和目标之后,我的问题是,当我有多个离散值,这些值没有按连续的数字顺序整齐地组织时,如何编写if语句的语法

我希望这个问题有意义

我试着用一个论点来推动它,但当它不起作用时,我被难倒了:

Iif(field data = 1,2,3,4,5,6,7,8,9,10,33, “A”, “Other”)
它不适用于逗号,我尝试在每个值之间插入Or运算符,但也不起作用


感谢您提供的语法提示。

有几种方法可以做到这一点


选项1:在数据库设计中

在我看来,最好的方法是在数据库中这样做。创建一个包含这些值/类别对的表,并在需要包含数据的分类视图时简单地连接到该表


选项2:在您的报告设计中

如果您真的必须在报表设计中这样做,那么使用
SWITCH()
可能会更容易阅读

给你的第二个例子,把它扩展一点,你可以这样做

=SWITCH(
        (Fields!myData.Value >=1 AND Fields!myData.Value <=10) OR Fields!myData.Value = 33, "A",
        (Fields!myData.Value >=11 AND Fields!myData.Value <=15) OR Fields!myData.Value = 34 OR Fields!myData.Value = 39, "B",
         True, "Other"
        )
=开关(
(字段!myData.Value>=1和字段!myData.Value=11和字段!myData.Value