2015-11-06 55 views
0

只有我的第二個問題,我對ssrs很新,但我寧願按照正確的方式做,現在就去學習,然後不得不返回並在以後修復所有問題。如何從SQL表創建SSRS模板?

我將爲我的公司創建一個半靈活報告(SSRS)標準,並提前獲得全球共識是不可能的。我建議的解決方案是創建一個格式化表格,我可以更新它來改變我所有類型報告的外觀和感覺。 (表格,圖表等)我想到了兩種方法來做到這一點,我正在尋找哪些更好的建議,如果我認爲它會起作用......實際上會起作用。我完全願意研究如何操作的所有細節,但我真的很感謝有關如何開始的提示。

有沒有辦法引用你的表達式在哪個屬性(例如名稱,背景顏色)?如果我可以對所有屬性的表達式使用相同的代碼,並且只讓該代碼在表格中找到它,那將會非常棒。 類似:

attribute.value = lookup(ReportFormataDataset as RFD, attribute.name = 
RFD.name and left(me.name, 3) = RFD.prefix) 

我也可以運行VBA代碼的循環來改變基於什麼是在表中的屬性。我計劃創建一個帶有命名約定的報告模板來提供幫助。 (例如HDR,TTL,BDY前綴),所以它可能看起來像:

for each reportItem in report 
    for each el in FormatTable 
     'make sure the report item is what I think it is, like header 
     if left(ReportItem.name, 3) = el.prefix then 
      'e.g. backgroundcolor = Blue 
      name.value = el.value 
     end if 
    end loop 
end loop 

但後來當我運行它,我想,如果我這樣做是在表達想象這減緩我的報告有很多。也許用變量來代替?

我發現這一點: tips-tricks-ensure-consistency-sql-server-reporting-services-reports 但它似乎很繁瑣維護,如果我添加的格式要求後,我不得不說參數添加到所有的報告和屬性。

我知道這似乎有點釣魚,但我不確定這兩種方式是如何工作的,我知道我可以花費數日的時間在專家可以在5分鐘內讓我指向正確的方向。對不起,如果這不是'堆棧精神',並感謝你。

回答

0

我們已經實現了類似的東西,並使用了設置所有報告調用的共享數據集的方法。這將返回一條記錄,其中包括我們可能在報告中使用的所有圖像,背景顏色和日期格式(包括公司徽標和品牌顏色)。

如果我們可以在例如電池的日期,我們便數字格式設置爲

=First(Fields!FullDateFormat.Value, "ReportConstants") 

ReportConstants被命名的共享數據集。

這也允許我們在英國和美國部署相同的報告,但都使用它們的本機日期格式,因爲這是由數據庫實例設置的,而不是在報告中。

現在是否採取正確的方法是另一個問題,但它適用於我們,在多個位置使用〜50個報告,而無需每次單獨配置每個報告。

對您有幫助嗎?

+0

謝謝Jonnus,這聽起來像是應該起作用。我還收集到每個屬性都有自己的列,而不是名爲「屬性名」的列和FullDateFormat的數據。 您是否擁有樣式ID,然後使用與該報告的ID匹配的一條記錄填充數據集? –

+0

@零影子,是的每個屬性都有自己的專欄。在上面的例子中,有一個名爲FullDateFormat的列。我們所有的報告都遵循相同的風格,但您提出的styleID是有道理的。報告可以將此作爲參數,然後共享數據集可以返回匹配styleID的數據庫中的單個行。 – Jonnus