现实中的例子
Qlik Sense 中的可视化可为您提供您数据中的见解。在您的图表中使用表达式可产生特别适用于您的工作的结果。Qlik Sense 中函数的范围可让您自定义自己的表达式以满足自己的需求,即使选项尚不可用。
计算总利润值百分比
我们将利润值定义为我们的销售额和进行这些销售的成本之间的差值。我们将计算每个月的利润值,以及每月销售额的多少百分比是我们的利润值。
要计算利润百分百,我们可以使用以下表达式:
(Sum(Sales)-Sum(Cost))/Sum(Sales)
可将表达式进一步简化
1-Sum(Cost)/Sum(Sales)
在应用程序内,在 Examples from real life 工作表上您将找到标题为 Margin 的表格。
执行以下操作:
- 选择标题为 Margin 的可用表格。
属性面板打开。 - 单击添加列并选择度量。
- 单击 符号。
表达式编辑器打开。 - 输入以下内容: Sum(Sales)
- 使用表达式另外添加三个度量:Sum(Cost)、Sum(Sales) - Sum(Cost) 和 1 - Sum(Cost)/Sum(Sales)。
- 单击应用。
您可以看到基于销售额和成本的每个月的计算的利润值。您还可以看到销售额有多少百分比构成利润值。
在应用程序数据中,我们已经有每月利润值的数据。这是在初始数据和我们的计算结果之间进行比较的不错机会。
执行以下操作:
- 单击添加列并选择度量。
- 单击 符号。
表达式编辑器打开。 - 输入以下内容: Sum(Margin)
- 用表达式另外添加一个度量: (Sum(Sales) - Sum(Cost)) - Sum(Margin)
- 单击应用。
计算的利润值列中的一些值不同于直接源自我们数据的利润值列中的值。利润值差异栏清楚地表明,这是在 2014 年期间的月份中发生的。计算出的利润值和数据集得出的利润值之间的差异很小,但它发生在特定年份,这一事实产生了一些问题。在这个年份有什么发生了变化?调查数据并提出正确的问题可能对您的业务很重要。
开发票延迟
在本例中,我们将使用基于一家公司的数据,该数据收集发票的创建日期和所生产货物的承诺交货日期。这两个日期并不总是一样的。另外一些发票可能具有两个承诺的交货日期。最早日期始终与发票日期相同,由公司使用的开发票系统自动创建。最晚承诺交货日期是公司与客户约定交货的日期。
我们先把这些日期加在一张表上。
在 Examples from real life 工作表上您将找到标题为 Invoicing delays 的表格。
执行以下操作:
- 选择标题为 Invoicing delays 的可用表格。
属性面板打开。 - 单击添加列并选择度量。
- 单击 符号。
表达式编辑器打开。 - 输入以下内容: Only([Invoice Date])
- 用表达式另外添加一个度量: Max([Promised Delivery Date])
- 单击应用。
您可以看到发票日期和承诺的交货日期并非始终相同。当有两个承诺的交货日期时,我们需要使用最晚的一个来计算。
让我们计算一下发票日期和承诺交货日期之间的差值。我们将使用以下表达式:
Max([Promised Delivery Date])-[Invoice Date]
有三个场景:
- 两个日期相同,并且表达式的结果为 0。
- 承诺产品在创建发票之后交货,并且结果是正整数。
- 在承诺产品交货之后创建发票,并且结果是负整数。
执行以下操作:
- 单击添加列并选择度量。
- 单击 符号。
表达式编辑器打开。 - 输入以下内容: Max([Promised Delivery Date])-[Invoice Date]
- 单击应用。
在日期之间存在一系列的差值。负值表示发票延迟。负值表示承诺的交付在创建发票后完成。
让我们计算在承诺的交货日期之后创建的发票数。
执行以下操作:
- 单击添加列并选择度量。
- 单击 符号。
表达式编辑器打开。 - 输入以下内容: Count(Distinct If(Aggr(Max([Promised Delivery Date])<[Invoice Date],[Invoice Number]),[Invoice Number]))
- 单击应用。
最后列作为发票总数百分比形式的 KPI 将更有意义。
执行以下操作:
- 创建 KPI。
- 单击添加度量项。单击 符号。
表达式编辑器打开。 - 输入以下内容: Count(Distinct If(Aggr(Max([Promised Delivery Date])<[Invoice Date],[Invoice Number]),[Invoice Number]))/Count([Invoice Number])
- 单击应用。
让我们计算开发票中的平均延迟。
执行以下操作:
- 新建 KPI。
- 单击添加度量项。单击 符号。
表达式编辑器打开。 - 输入以下内容: Avg(Aggr(If(Max([Promised Delivery Date])<[Invoice Date],(Max([Promised Delivery Date])-[Invoice Date])), [Invoice Number]))
- 单击应用。
谢谢!
现在,您已完成本教程的学习,希望您已获得有关 Qlik Sense 中图表表达式的一些基本知识。请访问我们的网站获取更多应用程序的灵感。