Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
Reporting services 跨同一数据集行的SSRS操作-子集设置-查找_Reporting Services_Expression_Ssrs 2012 - Fatal编程技术网

Reporting services 跨同一数据集行的SSRS操作-子集设置-查找

Reporting services 跨同一数据集行的SSRS操作-子集设置-查找,reporting-services,expression,ssrs-2012,Reporting Services,Expression,Ssrs 2012,我得到了以下数据集: 我需要在SSRS中显示两行:一行对应于IsControl=0的销售,另一行对应于IsControl=1。 但是,对于control=1的行,必须将销售额除以其客户数,然后乘以IsControl=0的同一周的客户数 换句话说,我正在将IsControl=1的销售额扩展到IsControl=0。在某种程度上,我可以在直线图上显示两条直线 SSRS表达式的作用是什么 在这种情况下,IsControl=0和IsControl=1的销售额和客户数量是相等的,但它们通常是不同的。如果

我得到了以下数据集:

我需要在SSRS中显示两行:一行对应于IsControl=0的销售,另一行对应于IsControl=1。 但是,对于control=1的行,必须将销售额除以其客户数,然后乘以IsControl=0的同一周的客户数

换句话说,我正在将IsControl=1的销售额扩展到IsControl=0。在某种程度上,我可以在直线图上显示两条直线

SSRS表达式的作用是什么


在这种情况下,IsControl=0和IsControl=1的销售额和客户数量是相等的,但它们通常是不同的。

如果我理解正确,下面的表达式应该满足您的需要

=IIf(Fields!IsControl.Value = 1,
    Fields!Sales.Value/Lookup(Fields!week_of_day.Value.ToString() & "0", 
        Fields!week_of_day.Value.ToString() & Fields!IsControl.Value.ToString(), 
        Fields!Num_Of_Customers.Value, 
        "DataSet1"),
    Fields!Sales.Value*Fields!Num_Of_Customers.Value)
如果
IsControl
为1,则查找同一日期
IsControl
为0的客户数,并将
Sales
除以该数字。否则,将
Sales
乘以同一行中的客户数

如果您只需要销售
IsControl
为0的行,请使用以下命令:

=IIf(Fields!IsControl.Value = 1,
    Fields!Sales.Value/Lookup(Fields!week_of_day.Value.ToString() & "0", 
        Fields!week_of_day.Value.ToString() & Fields!IsControl.Value.ToString(), 
        Fields!Num_Of_Customers.Value, 
        "DataSet1"),
    Fields!Sales.Value)
无论您需要什么,
Lookup
都会将您带到
IsControl
为0的行。提取你需要的值,做任何必要的数学运算

祝你好运