报表项表达式只能引用当前数据集范围内的字段,如果在聚合内,则只能引用指定的数据集范围

Posted

技术标签:

【中文标题】报表项表达式只能引用当前数据集范围内的字段,如果在聚合内,则只能引用指定的数据集范围【英文标题】:Report item expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified dataset scope 【发布时间】:2018-11-26 07:51:44 【问题描述】:

您好,我是 SQL 服务报告的新手,

我遇到了这个错误。

所以我在一个牢房里有这个。我添加了另一个参数 GetBarcodeAddress 函数,称为 servername,它来自另一个或不同的数据集。

 <CellContents>
                        <Image Name="imgBarCode2">
                          <Source>External</Source>
                          <Value>=Code.GetBarcodeAddress(Fields!ORDER_SUPPORT_NO.Value, Fields!SERVERNAME.Value )</Value>
                          <MIMEType>image/bmp</MIMEType>
                          <Sizing>Fit</Sizing>
                          <ZIndex>1</ZIndex>
                          <Style>
                            <Border>
                              <Style>None</Style>
                            </Border>
                          </Style>
                        </Image>
                      </CellContents>

然后我遇到了这个错误。

图像“imgBarCode2”的值表达式引用字段“SERVERNAME”。 报表项表达式只能引用当前数据集范围内的字段,或者, 如果在聚合内,则为指定的数据集范围。字段名称中的字母必须使用正确的大小写。 (rsFieldReference)

如何解决这个问题?据我了解,我不能使用两个不同的数据集导致一个表达式。

【问题讨论】:

将此函数添加到您当前的数据集 这是您的另一个问题的副本 - 请删除其中一个。 【参考方案1】:

得到答案..

改为:First(Fields!SERVERNAME.Value, "GetServerName")

GetServerName 是获取 thr servername 的数据集的名称

 <CellContents>
                    <Image Name="imgBarCode2">
                      <Source>External</Source>
                      <Value>=Code.GetBarcodeAddress(Fields!ORDER_SUPPORT_NO.Value, First(Fields!SERVERNAME.Value, "GetServerName")    )</Value>
                      <MIMEType>image/bmp</MIMEType>
                      <Sizing>Fit</Sizing>
                      <ZIndex>1</ZIndex>
                      <Style>
                        <Border>
                          <Style>None</Style>
                        </Border>
                      </Style>
                    </Image>
                  </CellContents>

【讨论】:

以上是关于报表项表达式只能引用当前数据集范围内的字段,如果在聚合内,则只能引用指定的数据集范围的主要内容,如果未能解决你的问题,请参考以下文章

报表项表达式只能引用同一分组范围或包含分组范围内的其他报表项

使用报表查看器,如何从两个单独的数据集中提取

可以将多个字段与一个条件 if 语句连接起来

rdlc报表随笔心得 ,基本结构和一些表达式。

为什么说当前报表开发的工作量主要在数据源环节?又如何解决呢?

我们有个带 3 个数据集的报表跑了 2 分多钟,太慢了,有啥办法优化吗?