Reporting services 从差异表中减去ssrs中的两个文本框

Reporting services 从差异表中减去ssrs中的两个文本框,reporting-services,Reporting Services,我想写一份这样的报告 在本报告中,2015和2016列来自不同的表格,我需要它们之间的差异,因为在另一个表格中,2015和2016年的数据集也不同。数据从多维数据集中提取。我试着用这个表达式来得到结果 报告项目!textbox10.Value-ReportItems!textbox5.这里的值textbox10(2016列)和textbox5(2015列),但当我进行此计算时,我得到了这个结果集 从技术上讲,您可以使用如下表达式引用文本框: =ReportItems!TextBoxList1.

我想写一份这样的报告

在本报告中,2015和2016列来自不同的表格,我需要它们之间的差异,因为在另一个表格中,2015和2016年的数据集也不同。数据从多维数据集中提取。我试着用这个表达式来得到结果

报告项目!textbox10.Value-ReportItems!textbox5.这里的值textbox10(2016列)和textbox5(2015列),但当我进行此计算时,我得到了这个结果集


从技术上讲,您可以使用如下表达式引用文本框:

=ReportItems!TextBoxList1.Value
=Sum(Fields!Amt.Value) - Sum(Fields!Amt.Value, "RowGroupName")
=Fields!Amt2.Value - Lookup(Fields!ID1.Value, Fields!ID2.Value, Fields!Amt1.Value, "Dataset1Name")
然而,我强烈警告不要这样做,因为这通常违背最佳实践。根据您定义的分组,表中的文本框是动态的。最好使用
Lookup
函数引用数据集中的实际值。请参阅以了解更多信息

根据反馈进行编辑: 有两种方法可以做到这一点

  • 从查询中删除筛选器并对表应用筛选器。通过这种方式,您可以使用表分组来分离数字,但仍然可以将它们与总数进行比较。差异表达式如下所示:

    =ReportItems!TextBoxList1.Value
    
    =Sum(Fields!Amt.Value) - Sum(Fields!Amt.Value, "RowGroupName")
    
    =Fields!Amt2.Value - Lookup(Fields!ID1.Value, Fields!ID2.Value, Fields!Amt1.Value, "Dataset1Name")
    
  • 在现有结构中,使用如下查找:

    =ReportItems!TextBoxList1.Value
    
    =Sum(Fields!Amt.Value) - Sum(Fields!Amt.Value, "RowGroupName")
    
    =Fields!Amt2.Value - Lookup(Fields!ID1.Value, Fields!ID2.Value, Fields!Amt1.Value, "Dataset1Name")
    

  • 从技术上讲,您可以使用如下表达式引用文本框:

    =ReportItems!TextBoxList1.Value
    
    =Sum(Fields!Amt.Value) - Sum(Fields!Amt.Value, "RowGroupName")
    
    =Fields!Amt2.Value - Lookup(Fields!ID1.Value, Fields!ID2.Value, Fields!Amt1.Value, "Dataset1Name")
    
    然而,我强烈警告不要这样做,因为这通常违背最佳实践。根据您定义的分组,表中的文本框是动态的。最好使用
    Lookup
    函数引用数据集中的实际值。请参阅以了解更多信息

    根据反馈进行编辑: 有两种方法可以做到这一点

  • 从查询中删除筛选器并对表应用筛选器。通过这种方式,您可以使用表分组来分离数字,但仍然可以将它们与总数进行比较。差异表达式如下所示:

    =ReportItems!TextBoxList1.Value
    
    =Sum(Fields!Amt.Value) - Sum(Fields!Amt.Value, "RowGroupName")
    
    =Fields!Amt2.Value - Lookup(Fields!ID1.Value, Fields!ID2.Value, Fields!Amt1.Value, "Dataset1Name")
    
  • 在现有结构中,使用如下查找:

    =ReportItems!TextBoxList1.Value
    
    =Sum(Fields!Amt.Value) - Sum(Fields!Amt.Value, "RowGroupName")
    
    =Fields!Amt2.Value - Lookup(Fields!ID1.Value, Fields!ID2.Value, Fields!Amt1.Value, "Dataset1Name")
    

  • 你是如何得到这些数据集的?嵌入式SQL查询,存储过程?你能展示两个不同的查询吗?我从多维数据集获取数据,它是MDX查询。你是如何获取数据集的?嵌入式SQL查询,存储过程?你能显示这两个不同的查询吗?我正在从多维数据集获取数据,它是MDX查询,但查找集不允许正确进行计算?@lauri
    lookup
    lookupper
    不同。您可以使用在表达式中查找的值进行计算。您能建议我在我的情况下需要如何编写表达式吗?@lauri这些日期都来自同一个多维数据集吗?通常,日期是一个维度。是的,它们来自同一个多维数据集,但有不同的筛选器。这就是为什么它们有不同的数据集,但查找集不允许正确计算?@lauri
    lookup
    lookupper
    不同。您可以使用在表达式中查找的值进行计算。您能建议我在我的情况下需要如何编写表达式吗?@lauri这些日期都来自同一个多维数据集吗?通常,日期是一个维度。是的,它们来自同一个多维数据集,但有不同的过滤器,这就是为什么它们有不同的数据集