在 qlikview 中填充缺失值

问题描述

我正在尝试使用 peek 函数填充日期之间的缺失值。我使用了以下代码,但仍然无法获得我正在寻找的结果

Table:
LOAD * INLINE [
    Date,Article,Quantity
    01/02/2021,A,10
    03/02/2021,20
    06/02/2021,B,30
    07/02/2021,C,40
];

Join(Table)
LOAD
    Date(MinDate+IterNO ()-1) as Date
While
  (MinDate+IterNO ()-1) <= Num(MaxDate -1)
;

LOAD
  Min(Date) as MinDate,Max(Date) As MaxDate
Resident 
  Table
;

Join(Table)
Load
  If( Len(Quantity) = 0,peek('newQuantity'),Quantity) as newQuantity
Resident 
  Table
;

results

非常感谢您的帮助

解决方法

我尝试了一种解决方法

SET ThousandSep=' ';
SET DecimalSep=',';
SET MoneyThousandSep=' ';
SET MoneyDecimalSep=',';
SET MoneyFormat='# ##0,00 €;-# ##0,00 €';
SET TimeFormat='hh:mm:ss';
SET DateFormat='DD/MM/YYYY';
SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
SET MonthNames='janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.';
SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';
A:
LOAD *,Date(Date) as Date1
;

LOAD * INLINE [
    Date,Article,Quantity
    01/02/2021,A,10
    01/02/2021,B,12
    03/02/2021,20
    06/02/2021,30
    07/02/2021,C,40
];

//required for generating calendar for all the months
maxMin:
LOAD Date(Max(Date1)) as maxdate,Date(min(Date1)) as mindate
Resident A;

LET vStartDate = num(Peek('mindate','maxMin'));
LET vEndDate = num(Peek('maxdate','maxMin'));


//Calendar to generate all the months
 Calendar:

LOAD
Date($(vStartDate) + RangeSum(Peek('RowNum'),1) - 1) AS Date,RangeSum(Peek('RowNum'),1) AS RowNum
AutoGenerate vEndDate - vStartDate + 1;

///Joining the Existing date with the calendar generated months 
B:
LOAD  
Date(max(Date)) as Date,RowNo() as rowno
Resident Calendar
Group By Date
;
left Join 
LOAD Date,Quantity
Resident A;



//Final table
NoConcatenate
C:
LOAD Date,rowno,if(IsNull(Article),Peek(Article),Article) as Article,if(IsNull(Quantity),Peek(Quantity),Quantity) as Quantity
Resident B
Order by rowno;

DROP Tables A,Calendar,maxMin;

问题是我需要为每个日期显示所有具有先前数量的文章(如果不是零),程序仅使用最后一篇文章和数量填充缺失的日期,如下所示: [![结果][1]][1] 我正在寻找的日期是 2021 年 1 月 2 日:

日期 文章 数量
01/02/2021 A 10
01/02/2021 B 12
01/02/2021 C 0
02/02/2021 A 10
02/02/2021 B 12
02/02/2021 C 0
03/02/2021 A 20
03/02/2021 B 12
03/02/2021 C 0

基本上我需要按文章聚合或我只是不知道该怎么做,谢谢您的帮助。 [1]:https://i.stack.imgur.com/VJEJi.png

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...