计算域

在 Analytics 表中,显示 Analytics 表达式的结果而不是实际物理数据的域被称为计算域。计算域通常执行某些种类的计算、操作或数据转换。

有关表达式的详细信息,请参见表达式使用

计算域有什么用处?

您使用的物理数据为分析提供了基础,但您经常需要从物理数据中推断信息或者执行计算以推进您的分析。

使用计算域,您可以进行推断和计算,而无须改变物理源数据。它们是“虚拟域”,您可以使用它们创建未直接存在于您所使用的物理数据源中的有用数据。

计算域的一些用途

显示计算结果 在库存文件中,您创建一个称作 Value 的计算域,它将 Quantity 域乘以 Unit_cost 域以计算每个库存条目的合计值。
将物理数据域转换为所需的数据类型 为了像使用字符数据那样使用数值域,您可以创建一个使用 STRING( ) 函数的计算域,将数值类型值转换为字符值。
使用条件将数值代码替换为文本值 您创建一个条件计算域,通过将国家/地区映射到物理域中的数值类型国家/地区代码来显示其实际名称。例如,显示 “Canada” 而非 01,显示 “USA” 而非 02。
计算一个或多个条件并基于结果确定该域的值 您创建一个条件计算域,以根据销售地区计算某个条目的税额。如果该货物被在一个地区销售,则按 7% 计算税费。如果它被在另一个地区销售,则按 6% 计算税费。

计算域的数据类别

就像物理域一样,计算域属于下列数据类别之一:

  • 字符
  • 数值
  • 日期时间
  • 逻辑

与物理域不同的是,在定义计算域时,您不显式选择数据类型甚至数据类别。相反,您为计算域指定的默认值决定了计算域数据类别。

控制数值计算域中的小数精度

在数值计算域中,所有数值计算值的小数精度由在默认值域中指定的表达式或字面量值的精度控制。

  • 表达式如果您指定默认表达式 Invoice_Amount * 0.375,并且发票金额域中的值具有两个小数位,则所有计算值被计算至三个小数位,并且被根据需要取整。

    表达式的小数精度由控制数值表达式中的取整和小数精度中概述的规则控制。

  • 字面量值 如果您指定默认值 0.00,则所有计算值都被计算至两个小数位,并且被根据需要取整。

增加小数精度

要增加数值计算值的小数精度,请增加默认值域中的小数位数。

表达式

将表达式乘以后面跟所需精度的小数位数的 1。请确保将 1 放在该表达式的开头。下面的示例将该精度增加到四个小数位:

1.0000 * Invoice_Amount * 0.375

字面量值

将后继零添加到字面量值的小数部分。下面的示例将该精度增加到三个小数位:

0.000

计算域的类型

您可以创建两个类型的计算域(接下来的各节对其进行了描述):

  • 基本计算域
  • 条件计算域:
    • 使用字面量值
    • 使用计算值

基本计算域

基本计算域使用单个表达式或字面量值,并且将其应用于表中的所有记录,而无论每个记录中的值是什么。

基本计算域的示例

您想要验证库存报告中每个产品的按成本计算的总库存价值。

您创建计算域库存价值检查,将现存数量域乘以单位成本域。您可以比较计算域计算的值与报告值,以了解它们是否匹配。

下面的示例显示了表布局对话框中 Inventory_Value_check 计算域的定义。计算表达式 ( QtyOH * UnCst ) 出现在默认值域中。

在表视图中,您可以将计算域(库存价值检查)放在物理的源数据域(按成本计算的库存价值)的旁边,然后进行比较。

您还可以创建一个返回任何非匹配值的过滤器:

Inventory_Value_check <> Inventory_Value_at_Cost

定义一个基本计算域

定义一个使用单个表达式或字面量值的计算域,并且将其应用于表中的所有记录,而无论每个记录中的值是什么。

条件计算域

条件计算域包含多个表达式或字面量值,并且有条件地将其应用于表中的记录。被应用于每个记录的特定表达式或字面量值取决于该记录中的值。

包含字面量值的条件计算域的示例

您想要根据发票金额的大小将字面量值 "Small"、"Medium" 或 "Large" 分配给每个记录。

您创建计算域 Invoice size,以标识每个记录中的发票金额的大小,并且分配正确的字面量值:

  • "Small" 小于 $5,000.00 的金额
  • "Medium" 从 $5,000.00 到 $9,999.99 的金额
  • "Large" $10,000.00 和更大的金额

下面的示例显示了表布局对话框中 Invoice size 计算域的定义。字面量值 "Small" 出现在默认值域中。字面量值 "Medium""Large" 分别出现在单独的条件中。

每个条件都包含一个必须评估为“真”的计算表达式,以便在该计算域中使用关联的值。如果某个记录不满足任一条件,则使用默认值。

说明

条件的列出顺序很重要。要了解更多信息,请参考按照从严格到宽松的顺序列出条件。

 

在表视图中,发票大小现在出现在每个记录中。

您还可以创建一个只显示具有一个大小的记录的过滤器:

Invoice_size = "Large"

包含计算值的条件计算域的示例

您想要根据随着发票大小而变化的折扣百分比来计算每个记录的折扣金额。

您创建计算域 Discount amount 以标识每个记录中的发票金额的大小,并且使用正确的百分比计算折扣金额:

  • 0% 折扣 小于 $5,000.00 的金额
  • 10% 折扣 从 $5,000.00 到 $9,999.99 的金额
  • 15% 折扣 $10,000.00 和更大的金额

下面的示例显示了表布局对话框中 Discount amount 计算域的定义。字面量值 0.00 出现在默认值域中。计算值 Invoice_Amount * 0.10Invoice_Amount * 0.15 分别出现在单独的条件中。

每个条件都包含一个必须评估为“真”的计算表达式,以便使用关联的计算值。如果某个记录不满足任一条件,则使用默认值。

说明

条件的列出顺序很重要。要了解更多信息,请参考按照从严格到宽松的顺序列出条件。

 

在表视图中,折扣金额现在出现在每个记录中。

您还可以创建一个过滤器,以显示大于特定金额的折扣:

Discount_amount >= 750

按照从严格到宽松的顺序列出条件。

如果您定义多个条件,则 Analytics 会按照这些条件在表布局对话框中的条件列表中的显示顺序,从顶部开始评估它们。

在上面的发票大小示例中,根据遵守此顺序的条件测试发票金额:

订单 条件
1 Invoice_Amount >= 10000 "Large"
2 Invoice_Amount >= 5000 "Medium"

要确保满足一个以上的条件的记录被按您所希望的方式进行处理,请按照从严格到宽松的顺序从上到下列出条件。

定义一个条件计算域

定义一个包含多个表达式或字面量值的计算域,并且有条件地将其应用于表中的记录。

Analytics 14.1 帮助