2016-08-03 25 views
1

負載我已經裝表這個SQL查詢中QlikSense數據加載編輯如下無效路徑,Qlik檢測誤差,同時利用從住戶表

[RESOURCE_ALLOCATION]: 
select t.rec_id as RESOURCE_ALLOC_TASKID, 
t.name as RESOURCE_ALLOC_TASKNAME, 
t.actual_starttime as RESOURCE_ALLOC_STARTTIME, 
t.actual_endtime as RESOURCE_ALLOC_ENDTIME, 
extract(year from t.actual_starttime) as RESOURCE_ALLOC_YEAR, 
(t.actual_endtime - t.actual_starttime) as RESOURCE_ALLOC_DAYS, 
t.resource_id as RESOURCE_ALLOC_ERSOURCEID, 
r.name as RESOURCE_ALLOC_ERSOURCENAME 
from public.dsh_project_tasks t, public.dsh_resources r 
where t.resource_id = r.rec_id and extract(year from t.actual_starttime) = extract (year from t.actual_endtime); 

然後我特林通過選擇加載另一個表最後加載表[RESOURCE_ALLOCATION]由另一查詢剛過負載數據編輯器上方的一個,如下

[Resource_Utilization]: 
load rr.RESOURCE_ALLOC_ERSOURCENAME as busy_resourcename, 
      rr.RESOURCE_ALLOC_YEAR as busy_resourceyear, 
      Sum(rr.RESOURCE_ALLOC_DAYS) as busy_resourceDays, 
      if(Sum(rr.RESOURCE_ALLOC_DAYS) < 368, 'busy', 'free')as BUSY_RESOURCESTATUS 
from RESOURCE_ALLOCATION rr 
group by rr.RESOURCE_ALLOC_ERSOURCENAME, rr.RESOURCE_ALLOC_YEAR; 




[Resource_Utilization]: 
load rr.RESOURCE_ALLOC_ERSOURCENAME as busy_resourcename, 
rr.RESOURCE_ALLOC_YEAR as busy_resourceyear, 
(365 - Sum(rr.RESOURCE_ALLOC_DAYS)) as busy_resourceDays, 
if((365 - Sum(rr.RESOURCE_ALLOC_DAYS)) < 366, 'free', 'busy') as BUSY_RESOURCESTATUS 
from resource_allocation rr 
group by rr.RESOURCE_ALLOC_ERSOURCENAME, rr.RESOURCE_ALLOC_YEAR; 

但是我對負載數據的錯誤,說

發生以下錯誤:發生在這裏 無效路徑 錯誤:

[Resource_Utilization]: 
load rr.RESOURCE_ALLOC_ERSOURCENAME as busy_resourcename, 
rr.RESOURCE_ALLOC_YEAR as busy_resourceyear, 
Sum(rr.RESOURCE_ALLOC_DAYS) as busy_resourceDays, 
if(Sum(rr.RESOURCE_ALLOC_DAYS) < 368, 'busy', 'free')as BUSY_RESOURCESTATUS 
from RESOURCE_ALLOCATION rr group by rr.RESOURCE_ALLOC_ERSOURCENAME, rr.RESOURCE_ALLOC_YEAR 

請幫幫忙,爲什麼我得到這個錯誤,雖然同樣的查詢在DB控制檯中選擇數據好?

回答

2

[Resource_Utilization]: load rr.RESOURCE_ALLOC_ERSOURCENAME as busy_resourcename, rr.RESOURCE_ALLOC_YEAR as busy_resourceyear, Sum(rr.RESOURCE_ALLOC_DAYS) as busy_resourceDays, if(Sum(rr.RESOURCE_ALLOC_DAYS) < 368, 'busy', 'free')as BUSY_RESOURCESTATUS from RESOURCE_ALLOCATION rr group by rr.RESOURCE_ALLOC_ERSOURCENAME, rr.RESOURCE_ALLOC_YEAR;

當查詢被傳遞到SQL Server中的SQL語法纔有效。使用結果表時,您需要使用本機Qlik Sense腳本語言語法。這與你需要使你的腳本工作非常相似,

[Resource_Utilization]: 
load RESOURCE_ALLOC_ERSOURCENAME as busy_resourcename, 
     RESOURCE_ALLOC_YEAR as busy_resourceyear, 
     Sum(RESOURCE_ALLOC_DAYS) as busy_resourceDays, 
     if(Sum(RESOURCE_ALLOC_DAYS) < 368, 'busy', 'free') as BUSY_RESOURCESTATUS 
resident RESOURCE_ALLOCATION 
     group by RESOURCE_ALLOC_ERSOURCENAME, RESOURCE_ALLOC_YEAR; 

關鍵的變化是從駐地改變這樣的感覺知道看裏面的自己的結果不表爲表您參考一些外部來源。 rr。縮寫會導致它失敗,因爲Sense只能爲每個腳本請求引用一個表。