0

我有一份报告,每条记录只有一页。使用参数选择记录。

在这份报告中,我有 4 张图片的空间,我有一个名为“AdditionalPhotos”的数据集。我想将此数据集前四行的图像放入报告中的每个空格中。

为此,我计划使用具有以下函数的表达式:First(Image)、Second(Image)、Third(Image)、Fourth(Image)。我现在意识到 SSRS 仅支持 First() 和 Last() 因此使用来自另一个论坛帖子的一些建议:http: //social.msdn.microsoft.com/Forums/sqlserver/en-US/20493945-578a-4d83-ae3b -e603a3473ac6/nth-row-element-in-a-dataset-ssrs

我已经实现了另一个数据集,它包含与“AdditionalPhotos”相同的查询,但只有 2 列“ID”和“RowNum”。使用这个表达式,我可以在文本框中看到一个 Photo Source 字段,这很棒,所以语法是有效的。

=Lookup(1,Fields!Row.Value,Fields!Source.Value, "AdditionalPhotos")

在我拥有的图像的值字段中:

=Lookup(1,Fields!Row.Value,Fields!Image.Value, "AdditionalPhotos")

这不起作用,我只是在报告的图像框中得到一个红色的 x 图标。我有正确的 MIME 类型设置,并通过将图像框的表达式更改为:

=Fields!Image.Value

任何建议或建议都会很棒。

4

1 回答 1

0

在您的 SQL 中,您可以使用ROW_NUMBER()窗口函数根据顺序和/或分区生成行号,以便您可以选择您想要的图像。

就像是:

SELECT Image,
    ROW_NUMBER() OVER(ORDER BY id) AS rownum
FROM imageTable

看:

MSDN - ROW_NUMBER (TSQL)

MSDN - OVER 子句

于 2013-10-04T05:01:14.670 回答