2009-11-11 52 views
14

我正在使用SQL Server Reporting Services新建創建和編程報表。使SQL Server Reporting Services使用度量標準測量

有一兩件事,我的錯誤馬上蝙蝠:我似乎無法找到一個簡單的方法來告訴BIDS(商業智能開發工作室,又名Visual Studio中)使用公制進行測量 - 你知道 - 毫米,釐米等,而不是英寸等等。我試圖找出是否這是Visual Studio中的一個設置(如果是這樣的話:它在哪裏?),或者這是否取決於我們反對的Reporting Services實例(並且如果是這樣,哪裏可以改變它?)。

必須有一種方法來改變這個!除美國之外,世界上沒有人還在測量英寸..... c'mon--世界廣泛採用公制系統已久!不要告訴我微軟讓我回到黑暗時代......

+1

您也可以對像素使用' Point' – 2010-04-29 02:48:13

回答

16

對於SSRS 2008年,在

<Visual_Studio_Install_dir>\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject 

編輯Report.rdl模板,截止</Report>標籤之前添加以下行:

<rd:ReportUnitType>Cm</rd:ReportUnitType> 

這將默認情況下所有新報表(創建通過添加新項 - >選擇報告)使用釐米。但是,正如Ed所指出的那樣,報告嚮導創建的報告似乎被硬編碼爲使用英寸。

還有一點需要注意的是,無論你放在哪個Report.rdl文件中,都會在創建新報告時使用,所以你可以設置默認頁面大小,字體等。

+0

也建議埃德或我的答案被標記爲這個問題的答案 – 2009-11-25 08:47:09

+0

其實,對不起 - 你是對的 - 一半的時間: - )使用「添加新項目 - >報告」時,它起作用;當你做「添加新報告」,然後單步執行嚮導時,它不會:-(任何想法如何對嚮導進行「反向排序」? – 2009-11-25 09:20:28

1

使用BIDS 2005(我還沒有使用過2008版),你可以在設計師理解的任何單元中定義測量 - 它是在同一份報告中可以定義一些以英寸爲單位的測量值,一些以釐米爲單位,一些以像素爲單位等。

如果您查看存儲在RDL文件(如XML)中的報告定義,您會看到該值存儲在您提供的單位中(而不是轉換爲引擎蓋下的英制測量值) - 如下例所示:

<InteractiveWidth>8.5in</InteractiveWidth> 
    <rd:GridSpacing>0.25cm</rd:GridSpacing> 

如果值S IN在默認的報告模板英寸打擾你,你可以改變它們 - SQL 2005中,模板在

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject\Report.rdl 

默認存儲這個位置可能是2008年的SQL

(注略有不同這不會修改報告嚮導生成的報告。)

+0

謝謝!我知道我可以用任何格式來定義它們 - 但在任何新報告中,BIDS 2008默認總是會回落到英寸:-(明天我會在辦公室嘗試你的建議,我會告訴你的! – 2009-11-11 16:12:52

3

我自己找到了解決方案 - 有點。

創建新報告時,可以右鍵單擊報告設計界面並選擇「報告屬性」。在那裏,我可以選擇英寸和釐米之間進行測量。

但我仍然沒有找到一種方法告訴Reporting Services,我總是希望公制系統默認情況下......歡迎任何進一步的提示!

+0

謝謝!你不會相信有多難找到這一點信息 – 2014-01-31 14:03:07

7

我知道我正在復活一個很長的死線程,但對於那些想要在VS2010中做到這一點的人來說,RDL文件位於稍微不同的位置。

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject\Report.rdl 

我在英國,所以覺得非常惱人必須不斷地從英寸轉換到釐米和「EN-US」到「EN-GB」。我有時會忘記,然後纔會意識到,當我的日期欄顯示這是31個月的第7天時。爲什麼在VS中沒有可用的選項來表示'en-GB'是我的默認語言環境,'cm'是我的默認測量單位,這完全超出了我的想象。微軟提供了所有主流語言的軟件,支持多種日曆類型,但是他們之所以這麼做,是因爲他們認爲所有使用VS的開發人員都是基於美國的... </rant>

我修改了我的Report.rdl文件如下解決這個問題,但如前所述,只有當我不使用嚮導。至今我還沒有找到任何在嚮導中設置默認值的方法。在Report.rdl旁邊的文件夾中有一個名爲ReportWizard.wsz的文件,但它看起來只包含指向各種對象的指針。我們可以使用某些東西,但我不會屏住呼吸。

我寫的報告有95%的頁面屬性爲A4風景,邊長爲0.5cm,沒有互動尺寸,還有一個標題頂部的文本框,所以我也扔了。這是整個Report.rdl文件,如果你想複製它或修改它適合。

<?xml version="1.0" encoding="utf-8"?> 
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"> 
    <Body> 
    <ReportItems> 
     <Textbox Name="TextBoxReportTitle"> 
     <CanGrow>true</CanGrow> 
     <KeepTogether>true</KeepTogether> 
     <Paragraphs> 
      <Paragraph> 
      <TextRuns> 
       <TextRun> 
       <Value>Report Title</Value> 
       <Style> 
        <FontSize>20pt</FontSize> 
        <FontWeight>Bold</FontWeight> 
        <Color>SteelBlue</Color> 
       </Style> 
       </TextRun> 
      </TextRuns> 
      <Style /> 
      </Paragraph> 
     </Paragraphs> 
     <rd:DefaultName>textbox1</rd:DefaultName> 
     <Height>0.9cm</Height> 
     <Width>28.7cm</Width> 
     <DataElementOutput>NoOutput</DataElementOutput> 
     <Style> 
      <Border> 
      <Style>None</Style> 
      </Border> 
      <PaddingLeft>2pt</PaddingLeft> 
      <PaddingRight>2pt</PaddingRight> 
      <PaddingTop>2pt</PaddingTop> 
      <PaddingBottom>2pt</PaddingBottom> 
     </Style> 
     </Textbox> 
    </ReportItems> 
    <Height>5cm</Height> 
    <Style /> 
    </Body> 
    <Width>28.7cm</Width> 
    <Page> 
    <PageHeight>29.7cm</PageHeight> 
    <PageWidth>21cm</PageWidth> 
    <InteractiveHeight>0cm</InteractiveHeight> 
    <InteractiveWidth>0cm</InteractiveWidth> 
    <LeftMargin>0.5cm</LeftMargin> 
    <RightMargin>0.5cm</RightMargin> 
    <TopMargin>0.5cm</TopMargin> 
    <BottomMargin>0.5cm</BottomMargin> 
    <ColumnSpacing>0.13cm</ColumnSpacing> 
    <Style /> 
    </Page> 
    <AutoRefresh>0</AutoRefresh> 
    <Language>en-GB</Language> 
    <rd:ReportUnitType>Cm</rd:ReportUnitType> 
</Report> 

如果您有許多定期使用的默認報告設計,那麼製作新模板非常容易。只需製作一份快速報告,其中包含所需的基本外觀以及設置的所有設置,然後將rdl的副本保存到上面的文件夾中,因爲此標記是自動生成的,所以我移除了<rd:ReportID>標記。現在,如果你去添加一個新項目到你的項目中,你的新模板將出現在VS的列表中。

+0

+ I,對於咆哮;) – 2016-04-01 12:18:33

4

我還發現,如果您有現有報告並希望更改這些參數,則可以右鍵單擊報告的空白下一頁以查看報告屬性並將其從英寸更改爲釐米並修改頁面大小等。