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

问题描述

嗨,我是 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)

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

标签: sql-serverreporting-servicesssrs-2008ssrs-2012rdl

解决方案


得到了答案..

改为: 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>

推荐阅读