有谁知道是否有办法将电子表格导入报表生成器 2.0,然后使用我的数据集进行计算。
这似乎是一个新手问题,因为我对报告生成器的有限经验无济于事。
我想这样做的原因是,我不必让我的主数据集运行查询来计算数十万条记录的平均值,因为它需要很长时间才能运行。通过让基准平均数据保持静态,我想运行我的查询并在报表生成器中进行计算,这将使其速度提高 100 倍。
提前感谢您的时间
有谁知道是否有办法将电子表格导入报表生成器 2.0,然后使用我的数据集进行计算。
这似乎是一个新手问题,因为我对报告生成器的有限经验无济于事。
我想这样做的原因是,我不必让我的主数据集运行查询来计算数十万条记录的平均值,因为它需要很长时间才能运行。通过让基准平均数据保持静态,我想运行我的查询并在报表生成器中进行计算,这将使其速度提高 100 倍。
提前感谢您的时间
除了您从中查询的数据库之一之外,报表生成器没有您可以将电子表格“导入”到的任何地方。Excel 不是 SSRS 支持的数据源,但是可以将使用 ODBC DSN 的报表数据源添加到适当的 Excel 文件。(我没试过)。
但是,我可以预见这种方法会出现一些问题——它可能会在多个用户下感到不安,我希望你可能会发现文件被锁定,所以你不能很容易地更新它。
一种可行的方法是将静态数据上传到 Access 数据库(通过 OLE DB Jet 提供程序支持)并将其作为数据源引用;但最好的方法总是将静态数据导入主数据库中的表并使用它。
您可以通过将计算字段添加到数据集 (DS) 来克服这个问题。我假设您的静态数据可以通过使用至少一个现有字段与您的数据集相关联。使用该Switch
函数,您可以填充计算字段。Switch
“评估表达式列表并返回对应于列表中第一个为 True 的表达式的 Object 值。”
您可以像这样使用该功能:
=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 中简单地将数据列复制并粘贴到您的计算字段中。
这是我的 Excel 公式的示例。这是我能做的最好的事情,因为我无法在此处粘贴示例。您可以复制和粘贴这些并将它们替换为您自己的值。
单元内-A2
2
单元内- 单元内-B2
YourValue1
单元内C2
YourOtherValue1
-D2
YourOtherOtherValue1
单元内-E2
YourOtherOtherOtherValue1
单元内-F2
="Fields!DsField1.Value ="&A2&","&""""&B2&""""&","
单元内-单元内-G2
="Fields!DsField1.Value ="&$A2&","&""""&C2&""""&","
单元内-H2
="Fields!DsField1.Value ="&$A2&","&""""&D2&""""&","
单元内-I2
="Fields!DsField1.Value ="&$A2&","&""""&E2&""""&","**
对不起,如果我错过了什么;我匆忙地做了这件事。