您可以将 current
关键字与某些文本函数结合使用,使公式变得更为灵活、有效而简洁。current
关键字可替换文本函数中的必需参数。硬编码参数也可生成相同的结果,但 current
关键字生成的是动态值。例如,对多页网格中的 Page 参数使用 current
时,该关键字将生成每页的值。
您可以使用 current
关键字的任意一种形式:current
或 cur
。Current
关键字不区分大小写。
注:
只有在使用以下文本函数时,文本对象才支持 current
关键字:MemberName
、MemberAlias
和 MemberDescription
,其中,current
指定“页”维参数。但是,在某些情况下必须定义网格名称、行和列,不能使用 current
关键字。
示例 1:
在 GetCell
函数中,有许多参数与输入函数的当前单元格相对应或可能相对应。因此,可以将 current
关键字应用于此函数。GetCell
函数使用以下语法:
<<GetCell ("GridName", Row, Column, Page)>>
在以下示例中,GetCell
的硬编码参数在多个页面中返回了相同的 Grid1、单元格 1A 和页面 1 单元格值:
<<GetCell ("Grid1", 1, A, 1)>>
下一示例将 current
关键字与 GetCell
函数结合使用。输入函数的单元格显示了每页不同的值。请注意,current
关键字还会应用于网格名称。如果网格名称发生变化,该文本公式仍然正确。
<<GetCell ("current", 1, current, current)>>
示例 2
如果在展开的单元格中使用 current
关键字,则结果与展开的单元格相对应。
以下示例在展开的单元格中使用 GetCell
函数(列 A 展开为 Qtr1、Qtr2、Qtr3 列,第 1 行展开为 East 和 West 行)。文本行 1 对 Column 参数使用了 current
关键字;文本行 2 对 Column 参数使用了硬编码值。
名称 | 说明 |
---|---|
. |
Qtr1、Qtr2、Qtr3 |
East、West |
# |
文本行 1 |
|
文本行 2 |
|
下表显示了这些结果。
名称 | Quarter 1 | Quarter 2 | Quarter 3 |
---|---|---|---|
East |
5,120 |
4,502 |
7,304 |
West |
3,405 |
2,300 |
4,462 |
文本行 1 |
5,120 |
4,502 |
7,304 |
文本行 2 |
5,120 |
5,120 |
5,120 |
文本行 1 对 Column 参数使用了 current
关键字,导致每个展开的单元格(Qtr1、Qtr2、Qtr3)的当前列更新了值。同理,由于对 Page 参数使用了 current
关键字,文本行 1 中的值根据网格的当前页相应更新了每页。
文本行 2 对 Column 参数 (A) 使用了硬编码值,导致所有季度具有相同的值 5,120。引用至 Column 参数的硬编码返回的值与列和行左上角的值相同。
表 -11 支持 Current 关键字的文本函数
文本函数 | 示例 |
---|---|
<<DataSource("GridName.Axis[ID]",InfoType)>> 适用的参数:
|
<<DataSource(current, "App")>> 注: 使用当前的网格名称。 |
<<GetCell("GridName",Row,Col,Page)>> 适用的参数:
|
<<GetCell(cur, 1, cur, current)>> <<GetCell(cur, 1(3), cur, current)>> 注: 显示第 1 行的第三个(展开的)行中的值。 <<GetCell(cur, cur, A, current)>> <<GetCell(cur, cur, A(B), current)>> 注: 显示列 A 的第二个(展开的)列中的值。 |
在数据行或数据列标题中使用以下项目: <<MemberName("DimName")>> 在非数据行或非数据列标题中使用以下项目: <<MemberName("GridName",Row/Col/Page,"DimName")>> 使用以下适用的参数:
|
<<MemberName(current)>> <<MemberName("current", Row/Col/Page, "current")>>
注: 返回与标题单元格所在的维相对应的数据行、列或页的成员名称。可与 |
<<CalcStatus("GridName",Row,Col,Page)>>
注: 允许使用 |
<<CellText("GridName", Row, Column, Page)>>
<<CellText("GridName", Row, Column, Page, MemberOverride)>> |
<<GridDimension("GridName","Axis",index)>>
注: 允许使用 |
<<MemberAlias("DimName")>>
<<MemberAlias("GridName", "DimName")>> <<MemberAlias("GridName", Row|Col|Page, "DimName")>> <<MemberDesc("DimName")>>
<<MemberDesc("GridName", "DimName")>> <<MemberDesc("GridName", Row|Col|Page, "DimName")>> <<MemberName("DimName")>>
<<MemberName("GridName", "DimName")>> <<MemberName("GridName", Row|Col|Page, "DimName")>> <<MemberQualifiedName("DimName")>>
<<MemberQualifiedName("GridName", "DimName")>> <<MemberQualifiedName("GridName", Row|Col|Page, "DimName")>> <<MemberProperty(DimensionName, Property)>>
<<MemberProperty("GridName", DimensionName, Property)>> <<MemberProperty("GridName", Row|Col|Page, DimensionName, Property)>> |
<<ProcessManagementStatus("GridName",Row,Column,Page)>> 注: 允许使用 |
|
<<ListOfCellDocuments("GridName",FileName)>>
注: 允许使用 |
|
<<GridDimension("GridName","Axis",Index)>> 适用的参数:
|
<<GridDimension(cur,"Page",1)>> <<GridDimension(cur,cur,cur)>> 注: 显示与标题单元格对应的维名称。 |
<<GetHeading("GridName",Page,Ref,Offset)>> <<GetHeading("GridName",Page,Ref,"Delim")>> 适用的参数:
|
<<GetHeading(cur, cur, A, " - ")>> <<GetHeading(cur, cur, 1, " - ")>> 注: 上例显示了当前页的 A 列和第 1 行中的所有标题。 <<GetHeading(cur, cur, A, cur)>> 注: 对于包含公式的标题单元格所在位置所对应的维,显示了列 A 中的标题。 <<GetHeading(cur, cur, cur, " - ")>> 注: 如果在行文本单元格中使用,结果将为当前列中的所有标题以 "-" 分隔。这样,用户便可在手动分页后重复列标题。 |
*对参数 "reference" 使用 current 关键字将受到限制。作为行或列中的"自定义标题"输入时,不能在 GetHeading 函数中使用 current 关键字,因为这样会产生循环引用。您可以将 current 关键字用作单元格中的第三个参数,但此单元格必须是非网格标题区中文本行或文本列的一部分。例如,当行 3 为文本行时,如果您在单元格 A3 中添加公式 <<GetHeading(cur,cur,cur,1)>> ,则结果为列 A 的第一个标题。您可以在标题单元格中使用 GetHeading 函数。但是,reference 参数不得使用 current 关键字。例如,如果在列 B 的标题单元格中输入 <<GetHeading(cur, cur, A, cur)>> ,则会返回列 A 的标题。 |