2013-10-03 48 views
0

是否有任何人知道,如果有要导入电子表格到报表生成器2.0,然后用我的数据集,以使对计算的方式。SSRS报表生成器2.0存储静态数据时使用查询结果

这似乎是为我有限的报告生成的经验并不能帮助新手的问题。

我想这样做的原因是,我没有让我的主数据集上工作了几十万条记录的平均运行查询,因为它采取的年龄运行。通过让基准平均数据静态我想运行我的查询并在报告生成器中进行计算,这将使其快100倍。

谢谢你的时间提前

回答

0

您可以通过添加计算字段,以您的数据集(DS)来克服这一点。我假设您的静态数据可以通过至少使用一个现有字段与您的数据集相关联。使用Switch函数,您可以填充计算的字段。 Switch“表达式求值的列表,并返回对应是真正的列表中第一个表达对象的价值。”

可以使用函数如下:

=Switch(Fields!DsField1.Value = 2, “Your Value1”, Fields!DsField1.Value = 5, “Your Value2”, Fields!DsField1.Value = 10, “Your Value3”, ….) 

如果您有任何条件需要进行检查,你可以这样switch语句前加入:

=IIF(Fields!DsField20.Value <>1000, Switch(Fields!DsField1.Value = 2, “Your Value1”, Fields!DsField1.Value = 5, “Your Value2”, Fields!DsField1.Value = 10, “Your Value3”, ….), Nothing) 

你可以有自己的价值观的Excel工作表,使公式的创建更加容易。只需在第一行创建公式,向下复制该行以扩展公式,并覆盖所有值。然后从Excel中将数据列复制并粘贴到您的计算字段中。

下面是My Excel公式的示例。这是我能做的最好的,因为我不能在这里粘贴样本。您可以复制并粘贴这些文件并将它们替换为您自己的值。

在细胞A22
在细胞B2YourValue1
在细胞C2YourOtherValue1
在细胞D2YourOtherOtherValue1
在细胞E2YourOtherOtherOtherValue1
在细胞F2="Fields!DsField1.Value ="&A2&","&""""&B2&""""&","
在细胞G2="Fields!DsField1.Value ="&$A2&","&""""&C2&""""&","
在细胞H2="Fields!DsField1.Value ="&$A2&","&""""&D2&""""&","
在细胞I2="Fields!DsField1.Value ="&$A2&","&""""&E2&""""&","**

很抱歉,如果有什么我已经错过了;我急于做到这一点。

0

报表生成器没有任何地方可以“进口”的电子表格,除非你是从查询的数据库之一。和Excel不是SSRS支持的数据源,但它也许可以添加使用ODBC DSN到相应的Excel文件报表数据源。 (我没有尝试过)。

但是,我可以预见一些问题,这种方法 - 它可能会在多个用户心烦意乱,我希望你会发现文件被锁定,所以你不能很容易更新。

一种可能工作的方法可能是将静态数据上传到Access数据库(如通过OLE DB Jet提供程序支持那样)并将其引用为数据源;但最好的方法总是将静​​态数据导入到主数据库中的一个表中并使用它。

相关问题