reporting-services - 更改 SSRS 中的图例形状

标签 reporting-services charts formatting

我收到将其中一份报告中的图例形状从矩形更改为圆形的请求,

当前报告如下所示

screenshot

但是所需的形状看起来像这样

screenshot

我检查了图例的属性,但我发现无法更改形状或使用图像。

知道如何实现这一目标吗?

谢谢

最佳答案

我可以用矩阵来做到这一点。首先,您必须在要用于图例的单元格中插入一个矩形。然后将矩形的背景颜色分配给表达式中的列,例如=Fields!ColorHex.Value。接下来将圆形图像插入到矩形顶部。

您应该能够对矩阵(图例)使用与图表相同的数据集。您需要为 ColorHex 添加一列值到您的数据集。然后您还可以引用图表中同一列的颜色。

报告预览:

screenshot

具有透明度的圆形 .png 文件:

我使用GIMP (GNU Image Manipulation Program)创建了图像

Circle

颜色十六进制代码的 SQL 示例

SELECT tbl.* FROM (VALUES
  ( '#90EE90', 'Due next month')
, ( '#FAFAD2', 'Due this month')
, ( '#FFB6C1', 'Overdue')
) tbl ([ColorHex], [GroupType]) 

.rdl 报告的 XML 示例:

<?xml version="1.0" encoding="utf-8"?>
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
  <df:DefaultFontFamily>Segoe UI</df:DefaultFontFamily>
  <AutoRefresh>0</AutoRefresh>
  <DataSources>
    <DataSource Name="YourDataSource">
      <DataSourceReference>YourDataSource</DataSourceReference>
      <rd:SecurityType>None</rd:SecurityType>
      <rd:DataSourceID>68eb8e17-19b1-4ab3-8315-91c1cb31c63a</rd:DataSourceID>
    </DataSource>
  </DataSources>
  <DataSets>
    <DataSet Name="DataSet1">
      <Query>
        <DataSourceName>YourDataSource</DataSourceName>
        <CommandText>SELECT tbl.* FROM (VALUES
  ( '#90EE90', 'Due next month')
, ( '#FAFAD2', 'Due this month')
, ( '#FFB6C1', 'Overdue')
) tbl ([ColorHex], [GroupType]) </CommandText>
      </Query>
      <Fields>
        <Field Name="ColorHex">
          <DataField>ColorHex</DataField>
          <rd:TypeName>System.String</rd:TypeName>
        </Field>
        <Field Name="GroupType">
          <DataField>GroupType</DataField>
          <rd:TypeName>System.String</rd:TypeName>
        </Field>
      </Fields>
    </DataSet>
  </DataSets>
  <ReportSections>
    <ReportSection>
      <Body>
        <ReportItems>
          <Tablix Name="Tablix3">
            <TablixBody>
              <TablixColumns>
                <TablixColumn>
                  <Width>0.9125cm</Width>
                </TablixColumn>
                <TablixColumn>
                  <Width>3.21438cm</Width>
                </TablixColumn>
              </TablixColumns>
              <TablixRows>
                <TablixRow>
                  <Height>0.89146cm</Height>
                  <TablixCells>
                    <TablixCell>
                      <CellContents>
                        <Rectangle Name="Rectangle3">
                          <ReportItems>
                            <Image Name="Image3">
                              <Source>Embedded</Source>
                              <Value>legend_template</Value>
                              <Sizing>FitProportional</Sizing>
                              <Height>0.89146cm</Height>
                              <Width>0.9125cm</Width>
                              <Style>
                                <Border>
                                  <Style>None</Style>
                                </Border>
                              </Style>
                            </Image>
                          </ReportItems>
                          <KeepTogether>true</KeepTogether>
                          <Style>
                            <Border>
                              <Style>None</Style>
                            </Border>
                            <RightBorder>
                              <Color>White</Color>
                              <Style>Solid</Style>
                            </RightBorder>
                            <BackgroundColor>=Fields!ColorHex.Value</BackgroundColor>
                          </Style>
                        </Rectangle>
                      </CellContents>
                    </TablixCell>
                    <TablixCell>
                      <CellContents>
                        <Textbox Name="GroupType1">
                          <CanGrow>true</CanGrow>
                          <KeepTogether>true</KeepTogether>
                          <Paragraphs>
                            <Paragraph>
                              <TextRuns>
                                <TextRun>
                                  <Value>=Fields!GroupType.Value</Value>
                                  <Style>
                                    <FontFamily>Calibri</FontFamily>
                                  </Style>
                                </TextRun>
                              </TextRuns>
                              <Style />
                            </Paragraph>
                          </Paragraphs>
                          <rd:DefaultName>GroupType1</rd:DefaultName>
                          <Style>
                            <Border>
                              <Color>LightGrey</Color>
                              <Style>None</Style>
                            </Border>
                            <VerticalAlign>Middle</VerticalAlign>
                            <PaddingLeft>2pt</PaddingLeft>
                            <PaddingRight>2pt</PaddingRight>
                            <PaddingTop>2pt</PaddingTop>
                            <PaddingBottom>2pt</PaddingBottom>
                          </Style>
                        </Textbox>
                      </CellContents>
                    </TablixCell>
                  </TablixCells>
                </TablixRow>
              </TablixRows>
            </TablixBody>
            <TablixColumnHierarchy>
              <TablixMembers>
                <TablixMember>
                  <Group Name="GroupType">
                    <GroupExpressions>
                      <GroupExpression>=Fields!GroupType.Value</GroupExpression>
                    </GroupExpressions>
                  </Group>
                  <SortExpressions>
                    <SortExpression>
                      <Value>=Fields!GroupType.Value</Value>
                    </SortExpression>
                  </SortExpressions>
                  <TablixMembers>
                    <TablixMember />
                    <TablixMember />
                  </TablixMembers>
                </TablixMember>
              </TablixMembers>
            </TablixColumnHierarchy>
            <TablixRowHierarchy>
              <TablixMembers>
                <TablixMember>
                  <Group Name="RowGroup">
                    <GroupExpressions>
                      <GroupExpression />
                    </GroupExpressions>
                  </Group>
                  <TablixHeader>
                    <Size>0.07938cm</Size>
                    <CellContents>
                      <Textbox Name="Textbox9">
                        <CanGrow>true</CanGrow>
                        <KeepTogether>true</KeepTogether>
                        <Paragraphs>
                          <Paragraph>
                            <TextRuns>
                              <TextRun>
                                <Value />
                                <Style />
                              </TextRun>
                            </TextRuns>
                            <Style />
                          </Paragraph>
                        </Paragraphs>
                        <rd:DefaultName>Textbox9</rd:DefaultName>
                        <Style>
                          <Border>
                            <Color>LightGrey</Color>
                            <Style>None</Style>
                          </Border>
                          <PaddingLeft>2pt</PaddingLeft>
                          <PaddingRight>2pt</PaddingRight>
                          <PaddingTop>2pt</PaddingTop>
                          <PaddingBottom>2pt</PaddingBottom>
                        </Style>
                      </Textbox>
                    </CellContents>
                  </TablixHeader>
                </TablixMember>
              </TablixMembers>
            </TablixRowHierarchy>
            <DataSetName>DataSet1</DataSetName>
            <Height>0.89146cm</Height>
            <Width>4.20625cm</Width>
            <Style>
              <Border>
                <Style>None</Style>
              </Border>
            </Style>
          </Tablix>
        </ReportItems>
        <Height>0.35097in</Height>
        <Style />
      </Body>
      <Width>1.656in</Width>
      <Page>
        <PageHeight>21cm</PageHeight>
        <PageWidth>29.7cm</PageWidth>
        <LeftMargin>0.75cm</LeftMargin>
        <RightMargin>0.75cm</RightMargin>
        <TopMargin>0.75cm</TopMargin>
        <BottomMargin>0.75cm</BottomMargin>
        <ColumnSpacing>0.13cm</ColumnSpacing>
        <Style />
      </Page>
    </ReportSection>
  </ReportSections>
  <ReportParametersLayout>
    <GridLayoutDefinition>
      <NumberOfColumns>2</NumberOfColumns>
      <NumberOfRows>4</NumberOfRows>
    </GridLayoutDefinition>
  </ReportParametersLayout>
  <EmbeddedImages>
    <EmbeddedImage Name="legend_template">
      <MIMEType>image/png</MIMEType>
      <ImageData>iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH4goXAjEeL/CJEQAAAZNJREFUeNrt3dFxwzAMg2GL1/1Xdh6yQNujSNH+MEBD4hfg+nqN1n3f90VtChYAAAABAAABAADV6+fk4dZaK+PnnPyus04aLsvwSUDaAVSZfiqMNgDdxp8CohzAacZ3gwjm985YkoAJxnelIZjfO/u2BEw2vjINwfzenYL5vbsF83t3DOb37hrM7905mN+7u78HNCuc/t4UBPN7IaigiRXk9Od5EszvhaCCJlWQ05/vkQRMSYDTvycFEjD5TZiKAKiffTUkASoIADoZgP7f+xyQABUEAAEAAAEAAAEAAAEAAAEAAAEAAAEAAHUD8MWu/9dvvJMAFQQAnQ7Ac2BP/0uACqLIjhT9zSsJmFRBUpDvkQRMewhLQa43UfVBzFdBz3oPkIIcL6Lrg5mvgmZXkBTk7B6nDPJG81Mr6E0QMneNUwd7g/lbHsJPhrBjt5gy6BPNv66CGzSm/6P3bn9i+gLTZy+9RWlKGio9iacuNmVGF7k1Hw5XGb71KsNOGC7zLAbiOls647cgAgAAAgAAAgAA+uoD75Psfe3m0nIAAAAASUVORK5CYII=</ImageData>
    </EmbeddedImage>
  </EmbeddedImages>
  <rd:ReportUnitType>Cm</rd:ReportUnitType>
  <rd:ReportID>6203a576-d7cc-4b57-9a9b-12cf325d6203</rd:ReportID>
</Report>

关于reporting-services - 更改 SSRS 中的图例形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52938938/

相关文章:

reporting-services - SSRS-如何构建简单的多列报表?

charts - 谷歌图表 : How to pass a parameter into a callback (JavaScript)?

javascript - HighCharts 错误 16

php - 格式化关联数组声明

ios - ObjectiveC 与 iOS 中对 %d 的不同处理

sql-server-2005 - 禁用或覆盖 Reporting Services 中的 Excel 和 pdf 导出功能

reporting-services - 找不到执行 'iwy2vpzo52pmp555ftfn4455' (rsExecutionNotFound)

sql-server-2005 - 尝试让 Reporting Services 理解我的代码

ruby-on-rails-3 - Ruby on rails 3 Web 应用程序中的图表

date - 以年、月、日表示的两个日期之间的差异(在一列中)