2009-11-11 63 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

我还发现,如果您有现有报告并希望更改这些参数,则可以右键单击报告的空白下一页以查看报告属性并将其从英寸更改为厘米并修改页面大小等。

相关问题