我試圖在存在數字的列上運行AVG,並且該數字大於0,列中混合了數據,大多數字段都會有一個數字但只有少量信用結果回來NA或DNR。Qlik Sense IfNum與If語句結合使用
下面的表達式檢查爲OK,但不返回任何值。我知道AVG表達式正常工作,因爲我在乾淨的數據上使用了它。我相信錯誤是從ISNUM
=if(IsNum(Credit) = '-1', Avg({< [Credit] = {"<>0"} >} [Credit]), (Credit))
我試圖在存在數字的列上運行AVG,並且該數字大於0,列中混合了數據,大多數字段都會有一個數字但只有少量信用結果回來NA或DNR。Qlik Sense IfNum與If語句結合使用
下面的表達式檢查爲OK,但不返回任何值。我知道AVG表達式正常工作,因爲我在乾淨的數據上使用了它。我相信錯誤是從ISNUM
=if(IsNum(Credit) = '-1', Avg({< [Credit] = {"<>0"} >} [Credit]), (Credit))
也許是更好地創建附加列,即將在你的腳本,表示如果Credit
值數與否。
if(isNum(Credit), 1, 0) as isNumberCredit
這是你的表達後變得簡單。
avg({< isNumberCredit = {1} >} Credit)
OR
avg(Credit * isNumberCredit)
使用這種方法會減少在大數據集的性能。
我會在哪裏加載if語句? – thebusiness11
在加載數據時的加載腳本 –
這就是我所嘗試的,但重新調整了一堆錯誤 '出現以下錯誤: 意外的標記:','預期的'''','OPERATOR_PLUS','OPERATOR_MINUS ','OPERATOR_MULTIPLICATION','OPERATOR_DIVISION','OPERATOR_STRING_CONCAT','like',... 此處的錯誤發生: if(isNum(Credit)>>>>>>,<<<<<< 1,0 )asNumberCredit' – thebusiness11
是否需要'r'標籤? – akrun
是的,爲什麼r標籤? – jsb