2013-10-03 80 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提供程序支持那樣)並將其引用爲數據源;但最好的方法總是將靜​​態數據導入到主數據庫中的一個表中並使用它。

相關問題