在 Qlik Sense 中从上面的值填充空白值?
Filling Blank values from value from above in Qlik Sense?
Qlik Sense 是一个 BI 工具,我需要用上面的值填充空白值
(图片来自这个相关的thread)
Qlik View 中的解决方案如下 thread 但在 Qlik Sense 中,它只填充低于上述值的一个值。
if(len(trim("Date"))=0, peek("Date"), "Date") as Date1,
if("Date"= ' ' or "Date"= '' or isnull ("Date"), Previous("Date"),"Date") as Date11,
那么如何用日期 01.01.2013
来填充值 45、213 和 688 的空白; 02.01.2013
3232、578 和 64421。
不起作用的小例子
Dataaaaa:
Load
if( len( trim([Date 1]) ) = 0, peek([Date 1]), [Date 1]) as Datee,
if( len( trim(Dat) ) = 0, peek(Dat), Dat) as DateII
;
Load * Inline [
Date 1 , Dat , Value11, Value22,
'Hello' , 'ha' , 20 , 30
'' , , 45 , 321,
'' , , 213 , 23
'' , , 678 , 798
'No Word' , 'he' , 123 , 123
'' , , 3232 , 3232
'' , , 578 , 953
'' , , 64421 , 7655
];
如何在 Qlik Sense 的数据加载编辑器中填充空白?
在 运行 之后,Date
和 Date1
字段下方的脚本将被填充。 Date1
只是一个如何在新领域实现这一目标的示例。
顺便说一句,QlikView v12 和 Qlik Sense 在后台具有相同的引擎,因此脚本 运行 应该没有任何区别。
Data:
Load
// Date,
Value1,
Value2,
if( len( trim(Date) ) = 0, peek(Date), Date) as Date,
if( len( trim(Date) ) = 0, peek(Date1), Date) as Date1
;
Load * Inline [
Date , Value1, Value2,
'01.01.2013', 20 , 30
'' , 45 , 321,
'' , 213 , 23
'' , 678 , 798
'02.02.2013', 123 , 123
'' , 3232 , 3232
'' , 578 , 953
'' , 64421 , 7655
];
结果:
您可以获得如下所示的非工作示例。 peek 命令指的是正在进行的列,而不是内联列,因此进行了更正。
Dataaaaa:
Load
if( len( trim([Date 1]) ) = 0, peek(Datee), [Date 1]) as Datee,
if( len( trim(Dat) ) = 0, peek(DateII), Dat) as DateII
;
Load * Inline [
Date 1 , Dat , Value11, Value22,
'Hello' , 'ha' , 20 , 30
'' , , 45 , 321,
'' , , 213 , 23
'' , , 678 , 798
'No Word' , 'he' , 123 , 123
'' , , 3232 , 3232
'' , , 578 , 953
'' , , 64421 , 7655
];
preceding load 中的更多信息。
Qlik Sense 是一个 BI 工具,我需要用上面的值填充空白值
Qlik View 中的解决方案如下 thread 但在 Qlik Sense 中,它只填充低于上述值的一个值。
if(len(trim("Date"))=0, peek("Date"), "Date") as Date1,
if("Date"= ' ' or "Date"= '' or isnull ("Date"), Previous("Date"),"Date") as Date11,
那么如何用日期 01.01.2013
来填充值 45、213 和 688 的空白; 02.01.2013
3232、578 和 64421。
不起作用的小例子
Dataaaaa:
Load
if( len( trim([Date 1]) ) = 0, peek([Date 1]), [Date 1]) as Datee,
if( len( trim(Dat) ) = 0, peek(Dat), Dat) as DateII
;
Load * Inline [
Date 1 , Dat , Value11, Value22,
'Hello' , 'ha' , 20 , 30
'' , , 45 , 321,
'' , , 213 , 23
'' , , 678 , 798
'No Word' , 'he' , 123 , 123
'' , , 3232 , 3232
'' , , 578 , 953
'' , , 64421 , 7655
];
如何在 Qlik Sense 的数据加载编辑器中填充空白?
在 运行 之后,Date
和 Date1
字段下方的脚本将被填充。 Date1
只是一个如何在新领域实现这一目标的示例。
顺便说一句,QlikView v12 和 Qlik Sense 在后台具有相同的引擎,因此脚本 运行 应该没有任何区别。
Data:
Load
// Date,
Value1,
Value2,
if( len( trim(Date) ) = 0, peek(Date), Date) as Date,
if( len( trim(Date) ) = 0, peek(Date1), Date) as Date1
;
Load * Inline [
Date , Value1, Value2,
'01.01.2013', 20 , 30
'' , 45 , 321,
'' , 213 , 23
'' , 678 , 798
'02.02.2013', 123 , 123
'' , 3232 , 3232
'' , 578 , 953
'' , 64421 , 7655
];
结果:
您可以获得如下所示的非工作示例。 peek 命令指的是正在进行的列,而不是内联列,因此进行了更正。
Dataaaaa:
Load
if( len( trim([Date 1]) ) = 0, peek(Datee), [Date 1]) as Datee,
if( len( trim(Dat) ) = 0, peek(DateII), Dat) as DateII
;
Load * Inline [
Date 1 , Dat , Value11, Value22,
'Hello' , 'ha' , 20 , 30
'' , , 45 , 321,
'' , , 213 , 23
'' , , 678 , 798
'No Word' , 'he' , 123 , 123
'' , , 3232 , 3232
'' , , 578 , 953
'' , , 64421 , 7655
];
preceding load 中的更多信息。