c# - 在 SSRS 报告表达式中添加两个字段值

标签 c# vb.net visual-studio-2010 reporting-services

我正在尝试在 SSRS 报告的占位符表达式中添加两个报告字段:

= SUM(Fields!TOTPRICE.Value) + SUM(Fields!TAX.Value)

但是当我运行报告时,占位符值出现错误。

这是我如何为报告创建数据源

enter code here     <DataSources>
<DataSource Name="DummyDataSource">
  <ConnectionProperties>
    <DataProvider>SQL</DataProvider>
    <ConnectString />
  </ConnectionProperties>
  <rd:DataSourceID>ef567ff-88fd-ef88f8f2b6b4</rd:DataSourceID>
</DataSource>

以下是我如何为报告创建数据集:

 `enter code here`  <DataSets>
<DataSet Name="CStore_POReport">
  <Fields>
    <Field Name="IDOBJECTNAME">
      <DataField>IDOBJECTNAME</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="CDEACCOU">
      <DataField>CDEACCOU</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NMEREQUE">
      <DataField>NMEREQUE</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="FLDTXTCONTACTPHONE">
      <DataField>FLDTXTCONTACTPHONE</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NMECOMPANY">
      <DataField>NMECOMPANY</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="FLDTXTPOBOX">
      <DataField>FLDTXTPOBOX</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NMESTREET">
      <DataField>NMESTREET</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NMECITY">
      <DataField>NMECITY</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NMESTATE">
      <DataField>NMESTATE</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="FLDTXTZIP">
      <DataField>FLDTXTZIP</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NUMQTYORDER">
      <DataField>NUMQTYORDER</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="DSCITEM">
      <DataField>DSCITEM</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="CURUNITDOLLARS">
      <DataField>CURUNITDOLLARS</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TXTUNITOFMEASURE">
      <DataField>TXTUNITOFMEASURE</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TOTPRICE">
      <DataField>TOTPRICE</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NUMTAXT">
      <DataField>NUMTAXT</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TXTCOMMENTS">
      <DataField>TXTCOMMENTS</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TAGTAX">
      <DataField>TAGTAX</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NUMREQ">
      <DataField>NUMREQ</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="DTECREATED">
      <DataField>DTECREATED</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="TAX">
      <DataField>TAX</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="CRNCYID">
      <DataField>CRNCYID</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="CRNCY_SYMB_TXT">
      <DataField>CRNCY_SYMB_TXT</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="ITEM_CLS_CD">
      <DataField>ITEM_CLS_CD</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="ITEM_CD">
      <DataField>ITEM_CD</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
  </Fields>
  <Query>
    <DataSourceName>DummyDataSource</DataSourceName>
    <CommandText />
    <rd:UseGenericDesigner>true</rd:UseGenericDesigner>
  </Query>
  <rd:DataSetInfo>
    <rd:DataSetName>CStore</rd:DataSetName>
    <rd:TableName>POReport</rd:TableName>
  </rd:DataSetInfo>
</DataSet>

http://i.stack.imgur.com/JYjdG.png

最佳答案

试试这个。

= CStr(SUM(CInt(Fields!TOTPRICE.Value)) + SUM(CInt(Fields!TAX.Value)))

好的,我认为你的问题是由于你的两个字段的类型都是字符串,所以在你可以执行添加操作之前,你需要将它们转换为整数

您需要将结果转换为字符串,以便在占位符中显示它

我已经为你创建了一个例子,首先是查询

enter image description here

接下来是处于编辑模式的报告 enter image description here

你有没有看到我在第一列中显示了 TOPPRICE,在第二列中显示了 TAX,并且我为第三列写了一个表达式

= CStr(CInt(Fields!TOTPRICE.Value) + CInt(SUM(Fields!TAX.Value)))

这是结果

enter image description here

关于c# - 在 SSRS 报告表达式中添加两个字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671620/

相关文章:

c# - Silverlight 2 - 使用 WCF 添加数据库记录

vb.net - .NET调试现有项目

visual-studio - 如何导出Visual Studio 2010扩展

c# - tao SimpleOpenGlControl 出错

c# - Windows 窗体计算器算法。排序和最高/最低数字

c# - 为什么来自 Entity Framework 的 SQL 查询在探查器中不可见?

c# - Windows 应用商店应用程序用户界面更新

asp.net - 在 ASP.NET 代码后面使用 Web 服务的最佳方式

c# - 生成代码——是否有一种简单的方法来获取可为空类型的正确字符串表示形式?

c# - 有没有一种简单的方法来检查重复的快捷键?