成为qlikview的新手我觉得我应该在sql和qlik提供开箱即用的东西。
假设我有一个类似于此的表:
id状态类型值数量dat_s区域
1 Activo A 10 10 20171001 Norte
2 Activo B 20 20 20171001 Norte
3 Activo C 15 15 20171001 Sul
4 Fechado A 5 5 20171101 Norte
5 Activo B 20 20 20171101北
6 Activo D 5 5 20171101 Sul
7 Activo D 5 5 20170901 Sul
我喜欢将表格与自身进行比较,但只有来自所选日期的喜欢,让我们想象一下,数据A = 20171001和日期B = 20171001(这些应该是用户通过输入字段或其他任何方式定义)比较ID喜欢例如:
类型CountDateA ValDateA CountDateB ValDateB valuiff
A 1 100 1 25 -75
B 1 400 1 400 0
C 1 225 0 0 -225
D 0 0 1 25 25
或
Area ValDateA ValDateB valuiff
Norte 500 425 -75
Sul 225 25 -200
我正在计划复制表并使用不同的字段名称为相同的数据留下半空但我希望有更优雅的方式
谢谢大家。
答案 0 :(得分:0)
只需要加载表,然后列的计算将是:
总和(< Status = {$('Activo')},dat = {$(20171001)} qty * val)
答案 1 :(得分:0)
仍然很困惑你的问题。 Qlikview的功能依赖于(简言之)构建根据所选过滤器自动更新的图形或表格。在您的示例中,我猜,该过滤器将是用户选择的日期(或日期)。因此,您不需要定义像ValDateA,ValDateB等列。但是,在您的情况下,您似乎想要比较两个日期,因此您可以根据不同的日期选择器定义这些列,每个列。话虽如此,我会告诉你我将如何处理你的问题,虽然我不确定我是否理解得很好:
创建一个尺寸为"类型"的表格图表。 (将自动过滤每一行表达式)并使用以下表达式:
Count(distinct{< Status = {"Activo"}, date_s= {"$(vDate1)"} >} id) //how many rows in active state for date1 (vDate1 is a variable assigned to the first date picker)
Sum({< Status = {"Activo"}, date_s= {"$(vDate1)"} >} value*quantity)
$(vDate2)
$(vDate2)
Column(4) - Column(2)
,在QlikSense中你需要再次写出整个表达式2和4并减去总和。