跨同一数据集行的 SSRS 操作 - 子集 - 查找
SSRS operations across lines of the same dataset - Subsetting - Lookup
我有以下数据集:
我需要在 SSRS 中显示两行:一行对应于 IsControl = 0 的销售额,另一行对应于 IsControl = 1。
但是,对于控件 = 1 的行,必须将销售额除以其 Num_Of_Customers 并乘以相同 week_of_day 的 Num_of_Customers,其中 IsControl = 0.
换句话说,我正在将 IsControl = 1 的销售额缩放到 IsControl = 0。以一种我可以在线图上显示两条线的方式。
执行此操作的 SSRS 表达式是什么?
在这种情况下,Sales 和 Num_Of_Customers 与 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 的行。拉出您需要的值并进行任何必要的数学运算。
祝你好运!
我有以下数据集:
我需要在 SSRS 中显示两行:一行对应于 IsControl = 0 的销售额,另一行对应于 IsControl = 1。 但是,对于控件 = 1 的行,必须将销售额除以其 Num_Of_Customers 并乘以相同 week_of_day 的 Num_of_Customers,其中 IsControl = 0.
换句话说,我正在将 IsControl = 1 的销售额缩放到 IsControl = 0。以一种我可以在线图上显示两条线的方式。
执行此操作的 SSRS 表达式是什么?
在这种情况下,Sales 和 Num_Of_Customers 与 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 的行。拉出您需要的值并进行任何必要的数学运算。
祝你好运!