当我在BIDS设计器的Layout页面中添加Matrix时,它会创建两列。我需要更多。我希望Matrix控件有一个" ColumnCount"财产,但它没有。
我的下一个期望是Matrix将提供一个允许我插入列的上下文相关菜单。它没有。如果我单击矩阵,则会选择一个文本框。虽然我可以按下" Esc"要使Matrix成为选定控件的键,上下文菜单或其属性页中仍然没有可能的选项。
添加列必须是最常见的事情之一 - 它是如何完成的?
尝试理解.rdl文件对我没有多大帮助;对于事物的组织方式似乎没有任何押韵或理由。在设计图面上,我有一个有两列和两行的矩阵。第1行在文本框中包含两个标签。第2行包含文本框,其字段表达式分配给其Value属性。然而.rdl(xml)文件在ColumnGroupings.ColumnGrouping.DynamicColumns.ReportItems部分中有一个标签(" WEEK 1 USAGE"),另一个(" PLATYPUSDESCRIPTION")in一个Corner.ReportItems部分。
对于数据,一个(PLATYPUSDESCRIPTION.Value)位于RowGroupings.RowGrouping.DynamicRows.ReportItems部分,另一个(WEEK1USAGE.Value)位于MatrixRows.MatrixRow.MatrixCells.MatrixCell.ReportItems部分。
为了证明我没有疯狂[ier,y],这里是问题矩阵的rdl / xml(标签/数据元素的外观重新排列得多一点)逻辑比他们的实际外观顺序,以及一些多余的东西(ZOrder等)被省略了:
<Matrix Name="matrix1">
<MatrixColumns>
<MatrixColumn>
<Width>2.375in</Width>
</MatrixColumn>
</MatrixColumns>
// "PLATYPUS DESCRIPTION" label
<Corner>
<ReportItems>
<Textbox Name="textbox2">
<rd:DefaultName>textbox2</rd:DefaultName>
<Style>
<FontSize>12pt</FontSize>
<FontWeight>700</FontWeight>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>3</ZIndex>
<CanGrow>true</CanGrow>
<Value>PLATYPUS DESCRIPTION</Value>
</Textbox>
</ReportItems>
</Corner>
// PLATYPUSDESCRIPTION data
<RowGroupings>
<RowGrouping>
<Width>2.75in</Width>
<DynamicRows>
<Grouping Name="matrix1_RowGroup1">
<GroupExpressions>
<GroupExpression />
</GroupExpressions>
</Grouping>
<ReportItems>
<Textbox Name="textboxDescription">
<Style>
<FontSize>11pt</FontSize>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>1</ZIndex>
<CanGrow>true</CanGrow>
<Value>=Fields!PLATYPUSDESCRIPTION.Value</Value>
</Textbox>
</ReportItems>
</DynamicRows>
</RowGrouping>
</RowGroupings>
// "WEEK 1 USAGE" label
<ColumnGroupings>
<ColumnGrouping>
<Height>0.25in</Height>
<DynamicColumns>
<Grouping Name="matrix1_ColumnGroup1">
<GroupExpressions>
<GroupExpression />
</GroupExpressions>
</Grouping>
<ReportItems>
<Textbox Name="textbox3">
<rd:DefaultName>textbox3</rd:DefaultName>
<Style>
<FontSize>12pt</FontSize>
<FontWeight>700</FontWeight>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>2</ZIndex>
<CanGrow>true</CanGrow>
<Value>WEEK 1 USAGE</Value>
</Textbox>
</ReportItems>
</DynamicColumns>
</ColumnGrouping>
</ColumnGroupings>
// WEEK1USAGE data
<MatrixRows>
<MatrixRow>
<Height>0.25in</Height>
<MatrixCells>
<MatrixCell>
<ReportItems>
<Textbox Name="textboxWeek1Usage">
<Style>
<FontSize>11pt</FontSize>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<CanGrow>true</CanGrow>
<Value>=Fields!WEEK1USAGE.Value</Value>
</Textbox>
</ReportItems>
</MatrixCell>
</MatrixCells>
</MatrixRow>
</MatrixRows>
<Height>0.5in</Height>
<Left>0.25in</Left>
</Matrix>
以下是整个&#34; matrix1&#34;的实际摘录。 rdl / xml文件的一部分:
<Matrix Name="matrix1">
<MatrixColumns>
<MatrixColumn>
<Width>2.375in</Width>
</MatrixColumn>
</MatrixColumns>
<ZIndex>1</ZIndex>
<DataSetName>PriceVarianceSP</DataSetName>
<RowGroupings>
<RowGrouping>
<Width>2.75in</Width>
<DynamicRows>
<Grouping Name="matrix1_RowGroup1">
<GroupExpressions>
<GroupExpression />
</GroupExpressions>
</Grouping>
<ReportItems>
<Textbox Name="textboxDescription">
<Style>
<FontSize>11pt</FontSize>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>1</ZIndex>
<CanGrow>true</CanGrow>
<Value>=Fields!PROACTDESCRIPTION.Value</Value>
</Textbox>
</ReportItems>
</DynamicRows>
</RowGrouping>
</RowGroupings>
<Top>0.5in</Top>
<ColumnGroupings>
<ColumnGrouping>
<Height>0.25in</Height>
<DynamicColumns>
<Grouping Name="matrix1_ColumnGroup1">
<GroupExpressions>
<GroupExpression />
</GroupExpressions>
</Grouping>
<ReportItems>
<Textbox Name="textbox3">
<rd:DefaultName>textbox3</rd:DefaultName>
<Style>
<FontSize>12pt</FontSize>
<FontWeight>700</FontWeight>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>2</ZIndex>
<CanGrow>true</CanGrow>
<Value>WEEK 1 USAGE</Value>
</Textbox>
</ReportItems>
</DynamicColumns>
</ColumnGrouping>
</ColumnGroupings>
<Width>5.125in</Width>
<Corner>
<ReportItems>
<Textbox Name="textbox2">
<rd:DefaultName>textbox2</rd:DefaultName>
<Style>
<FontSize>12pt</FontSize>
<FontWeight>700</FontWeight>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>3</ZIndex>
<CanGrow>true</CanGrow>
<Value>DESCRIPTION</Value>
</Textbox>
</ReportItems>
</Corner>
<MatrixRows>
<MatrixRow>
<Height>0.25in</Height>
<MatrixCells>
<MatrixCell>
<ReportItems>
<Textbox Name="textboxWeek1Usage">
<Style>
<FontSize>11pt</FontSize>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<CanGrow>true</CanGrow>
<Value>=Fields!WEEK1USAGE.Value</Value>
</Textbox>
</ReportItems>
</MatrixCell>
</MatrixCells>
</MatrixRow>
</MatrixRows>
<Height>0.5in</Height>
<Left>0.25in</Left>
</Matrix>
答案 0 :(得分:1)
根据列组表达式动态添加列。例如,假设您要在每月的每一天显示使用情况数据(并假设DateUsed
没有时间组件),那么您的矩阵只有一列,列组表达式是使用的日期{{ 1}}和“详细信息”单元格汇总了当天=Fields!DateUsed.Value
的使用情况。
所以你的矩阵看起来很简单:
=Sum(Fields!Usage.Value)
这就是它的全部。
当您运行报告时,矩阵会添加与数据中的日期一样多的列。