QlikSense表达式仅显示在代码中选择的产品

时间:2018-01-11 06:08:42

标签: qliksense

几周前我刚刚开始使用QlikSense,目前我仍然坚持使用超过1个标准计算字段,我在讨论论坛中搜索过,似乎找不到任何解决方案。

基本上,我想生成一个只在2017年显示我的新客户的表达式,对于我的目标产品,结束表应该看起来像this 为此,我想到了一个表达式,只接受2017年从我们这里购买的客户(发票金额> 0),而不是2016年(发票金额= 0),针对目标产品,但我似乎无法为它编写表达式。

我目前使用的表是: - 发票明细表(包括2015-2017年所有产品购买的所有客户的所有发票详细信息,以及发票中支付的金额) -Targeted Products表(我们必须查看的产品,"产品A","产品B","产品C")

以下是我到目前为止所做的表达,但它并没有展示新客户,而是展示了不向我们购买的客户。

count(
aggr(
sum(
{$<[Invoice Date.autoCalendar.Year]={"2017"},
[Product-Product Name (Finance File)]={
"Product A", "Product B", "Product C"
}
>}
[Amount$]
)
, CUSTOMER_CODE
)>0
AND
aggr(
sum(
{$<[Invoice Date.autoCalendar.Year]={"2016"},
[Product-Product Name (Finance File)]={
"Product A", "Product B", "Product C"
}
>}
[Amount$]
)
, CUSTOMER_CODE
)=0
)

1 个答案:

答案 0 :(得分:0)

我对你的表格结构并不了解。我希望您在脚本中使用主日历,并且您的发票日期与主日历的日期相关联。

为了简单起见,我创建了一个示例数据集

enter image description here

我们的目标产品是B,我们希望获得新客户C的销售额。我使用了表达式:

Sum({


<

    Customer    =   {"=Sum({<Year = {2017}>}Sales)"}

    , Product = {'B'}



>




    }Sales)

此表达式可用于以下表格中的直表:

enter image description here

我为客户和产品使用了A,B,C但它们没有关联 - 我的邋!!

如果您想知道2017年购买产品'B'的新客户是谁,那么您可以使用以下表达式:

计数({

&LT;

Customer    =   {"=Sum({<Year = {2017}>}Sales)"}

, Product = {'B'}

&GT;

-

&LT;

Customer    =   {"=Sum({<Year = {2016}>}Sales)"}

&GT;

}Distinct Customer)