TGKRET 函数
描述¶
从 TaGetik RETrieve 中,TGKRET 函数允许您根据维度上的筛选器,从某个数据库(但不一定是运行表单所在的数据库)中检索值。
语法¶
该函数使用以下语法:TGKRET(dataSource,"DimensionName1:[HierarchyCode:*]value1", "DimensionName2:value2", ...,"Convert")
然后,函数检索到的值会显示在插入该函数的单元格中。
参数¶
可以添加到函数中的项详述如下。
数据源¶
必须从中恢复值的数据库代码。此代码可以通过以下方式指示:
- 使用数据库代码,例如 =TGKRET("TCPM_DEMODEV_001", ...)
- 使用 TGKCURRDB 函数,例如 =TGKRET(TGKCURRDB(), ...)
- 引用包含数据库代码的 Excel 单元格,例如 = TGKRET(A25, ...)
选择维度¶
要检索所需维度的值,必须应用筛选器。下面提供了一些语法示例:
- 要检索维度的值:<维度名称>:<要筛选的值>,例如对于实体 A00,指定 Entity:A00。要检索存在聚合结构的维度的值,请指定节点:<维度名称>:<聚合结构代码>:*<节点代码>,例如对于实体 Entity:H_CODE:*H_NODE。
- 对于科目维度,也可以引用 FST:<科目维度名称>:*
,例如 Account:*FST_CODE|FST_NODE
支持的维度如下所列。
| 维度 | 描述 |
|---|---|
| Account: | 科目代码。必填维度。可以使用单个科目、科目层次结构的节点或 FST 项。为使公式正确,科目必须存在于列表中,并且必须满足以下条件之一: - 与 FST 相关。 - 存在于控制组中。 - 与科目层次结构的节点相关。 |
| AmountType | 金额类型。必填维度。可能的值为: - TIP_O:(原始)用户在系统中录入的数据的金额类型。 - TIP_OV:(以交易币种)仅表示以实体默认币种以外的币种表示的金额的金额类型(例如,要归属于币种为美元的实体的欧元金额) - TIP_OE:比例金额类型 - TIP_OEV:以交易币种表示的比例金额类型 - TIP_PR:折算金额类型 - TIP_PRV:折算为交易币种的金额类型 - TIP_CV:可合并金额类型 - TIP_CVV:以交易币种表示的可合并金额类型 - TIP_DES:(描述)允许用户录入和保存基于文本的信息(如注释或备注)的金额类型。 |
| Category | 类别代码 |
| Currency: | 币种代码 |
| Cust_Dim1..Cust_Dim5: | 自定义维度之一的元素代码。例如,如果要在自定义维度 1 上处理产品以恢复某个产品的值,则代码为 Cust_Dim1。 |
| Entity | 实体代码 |
| ICCust_Dim: | 公司间自定义维度的元素代码 |
| ICEntity | 公司间实体代码 |
| Period | 期间代码。必填维度。 |
| PeriodLength: | 期间长度。可能的值为: - LUN_0:累计 - LUN_1:月度 - LUN_2:双月 - LUN_3:季度 - LUN_4:每四个月 - LUN_5:每五个月 - LUN_6:半年度 - LUN_12:年度 - LUN_QTD:季度至今 - LUN_STD:半年度至今 - LUN_YTD:年初至今 |
| Scenario | 场景代码。必填维度。 |
数据转换¶
Convert 元素允许用户在运行表单时转换维度数据。Convert 值为:
- Final:期末汇率
- Average:平均汇率
- Period:期间平均汇率
- Account:与科目关联的转换类型
语法如下:<("dimensionNamex:valuex")> 即维度名称:Convert 值。
按段计算¶
在 TGKRET 公式中,可以通过以下方式请求金额计算:按 segment、intersegment、parent segment 和 parent intersegment。
为此,必须将所需后缀(后缀不区分大小写)连接到所需的维度代码(节点)。
| 计算方法 | 后缀 |
|---|---|
| segment | - \s - \segment 示例:<所需维度代码>\s |
| intersegment | - \i - \is - \intersegment 示例:<所需维度代码> \i |
| parent segment | - \p - \ps - \parentSegment 示例:<所需维度代码>\p |
| parent intersegment | - \pis - \pi - \parentIntersegment 示例 <所需维度代码>\pis |
语法约定和具体说明¶
- 对于维度元素,即使运行表单所在的应用程序数据库不支持小写代码(因为 接受小写代码(Accept lower case codes) 选项未激活),也可以用小写输入代码。
- 要恢复同一维度的多个元素或聚合结构节点,可以用","分隔值。系统会读取与所有指定元素相关的数据。例如,要恢复科目 50010 和 40010,相对于科目的位置中的语法为 50010,40010。
- 要恢复属于同一维度不同聚合结构的多个节点,系统会读取与节点相关元素相关的交叉数据。例如,要恢复与层次结构 H1 的节点 N1 和层次结构 H2 的节点 N1 相关的实体,语法为 Entity:H1:*N1,H2:*N1。
示例
要检索地理区域 Italy 和场景 2012BDG 的 Antivirus 产品的收入值,请应用以下筛选器:
- Scenario = 2012BDG
- Period = 12
- Account = 所有收入科目,即 FST 010 中的 FST 项 500300 - Total Revenues。
- Product(在自定义维度 2 上管理)= Antivirus,其代码为 A01
- Entity = 与按地理区域对实体进行分组的层次结构 03 的 Italy 节点(X01)相关的所有实体
- Cost Center(在自定义维度 1 上管理)= 通用元素 G01
- Employee(在自定义维度 2 上管理)= 通用元素 G01
该函数的语法为 =TGKRET(TGKCURRDB(), "Account:*010|50030", "Scenario:2012BDG","Entity:03:*X01", "Cust_Dim1:G01", "Cust_Dim2:A01","Cust_Dim3:G01","Period:12","Category:$AMOUNT","AmountType:TIP_O","PeriodLength:LUN_0")
要读取科目 50010 在 2011 年 12 月的原始数据并按平均汇率折算为 EUR,该函数的语法为 =TGKRET(TGKCURRDB(), "Scenario:2011ACT", "Period:12", "Account:50010", … , "Currency:EUR", … , "Convert:Average")