自定义参数示例
创建自定义参数¶
假设我们需要配置一个只能由美国实体选择的表单,并且我们有一个基于地理规则(即基于国家和区域)对实体进行分组的层次。要基于这些要求配置表单,我们可以创建一个共享自定义参数,将选择限制为北美节点及其所有子节点。
要在设计模式下打开表单后创建参数:
- 单击设计功能区栏上的
参数定义按钮; - 单击
新建按钮; - 插入代码(ENTITY_NORTH_AMERICA)、描述(北美实体),将参数类型指定为维度,并选择要与参数关联的层次(X00 - 地理视图)。
此时,我们可以对所选层次设置限制。我们只希望美洲节点的子元素可选。为此,我们需要选择限制选项卡,然后在显式限制部分中选择节点 A01 美洲。如果选择了默认节点,则该节点的所有子元素也将被选中。可以通过在层次树中取消选择来排除元素。在下面的示例中,我们选择了美洲节点及其所有子节点,但元素 C00_E 除外。因此,当用户运行表单时,他们将无法将 C00_E 指定为参数值。

由于此参数不是必需的,如果用户在运行表单时未分配值,并且该参数的自动输入未激活,则系统在读取要显示的数据时不会对与参数关联的维度进行筛选。
但是,如果自动输入已激活,并且参数限制为节点 X05 - 加拿大和 X04 - 美国,但 C00_E - 纽约分销除外,则在读取数据时,系统将对与参数关联的维度进行筛选,在元素之间建立 OR 关系,在本例中为 A01、C01、C00、C00_C。
对维度元素的选择设置限制¶
假设我们需要编辑先前为美国实体创建的表单,并确保结果只能在单个实体级别查看,而不能在国家节点级别查看。或者,例如,我们希望各个实体经理能够看到其实体的结果,但不能看到整个国家的结果。我们可以通过进一步限制用户可以为该参数选择的数据集来限制先前创建的参数。如果取消选择允许节点选项,则将无法选择节点元素。因此,用户在运行时将被迫为此参数选择单个实体。

设置动态参数¶
假设我们要创建一个表单,其行上显示某实体销售的产品。由于实体销售的产品不断变化(它们被非常频繁地创建和撤回),最好的做法是创建一个动态参数,这样就不需要过于频繁地维护它。
创建参数的过程与前面的示例相同,唯一的区别在于要与参数关联的层次是产品层次。
要使参数动态化,必须在限制选项卡中定义非"无"的选择类型;更具体地说,因为我们希望用户能够选择与产品层次相关的所有元素,所以必须将其定义为插入最低级别元素。

此时,此参数可以在矩阵中使用,无需更新。当层次中的元素发生更改(添加新元素、添加/更改节点)时,参数无需更改。
创建依赖于另一个参数的参数¶
例如,假设在实体限制为某些成本中心的情况下,一旦用户指定了他们想要工作的实体,系统将仅显示为该实体启用的成本中心。
要获得此类结果,用户必须:
- 创建一个共享的维度类型自定义参数,例如与成本中心维度的层次 X00 - 部门关联;
- 告知系统,由于参数可以具有可变值,因此它是动态的,即在限制选项卡中定义非"无"的选择类型;
- 在限制选项卡中激活依赖选项。
注意:参数在表单中设置的顺序很重要:依赖参数必须始终放在其所依赖的参数之后。
依赖参数必须使用参数管理插入表单,并放置在其他参数组中。

在 SP14 版本中,依赖的概念也被引入到 DTP 运行窗口中,其中存在依赖于其他参数的参数。目前,在这些情况下仅支持显式依赖(即使用 TGKML 1.0 高级选择脚本的依赖),而如果仅使用依赖检查(隐式依赖),则它对运行窗口中存在的参数没有影响,因此结果也不受影响。
注意:场景-期间类型参数之间以及流程-场景类型参数之间的显式依赖已添加到参数化作业运行窗口和 DTP 窗口中。
为百分比值创建参数¶
假设我们需要构建一个表单,用户必须在其中输入百分比值以运行假设分析。例如,您希望根据使用参数插入的折扣来确定产品的收入。
要获得此类结果,可以使用数值类型参数。由于此类型参数不是维度参数,它们在维度树中不可见,因此必须使用 参数配置窗口 插入表单。