2016-08-03 5 views
1

Ich habe eine Tabelle geladen, wie durch diese SQL-Abfrage in QlikSense Datenlade Editor folgt,Qlik Sense Fehler, Invalid Pfad während Belastung von resident Tabelle mit

[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); 

Dann Tring ich eine andere Tabelle zu laden, indem Sie von der Auswahl die zuletzt geladene Tabelle [RESOURCE_ALLOCATION] von einer anderen Abfrage direkt nach der oben im Dateneditor Last wie folgt

[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; 

Aber ich habe einen Fehler bei der Lastdaten, sagen

Folgender Fehler ist aufgetreten: Ungültiger Pfad Der Fehler trat hier:

[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 

Bitte helfen Sie, warum Bekomme ich diesen Fehler, obwohl gleiche Query-Daten auch in DB-Konsole Auswahl ??

Antwort

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;

Die SQL-Syntax funktioniert nur, wenn die Abfrage in eine SQL-Server übergeben wird. Wenn Sie die resultierenden Tabellen verwenden, müssen Sie die native Qlik Sense-Skriptsprachensyntax verwenden. Es ist ziemlich ähnlich, was Sie brauchen, damit Ihr Skript funktioniert.

[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; 

Der Schlüssel Änderung der FROM zu RESIDENT Ändern wird, so dass die Sense innerhalb seiner eigenen Ergebnistabellen nicht einige externe Quelle für die Tabelle, die Sie Bezug zu suchen weiß. Die rr. Abkürzungen führen zum Fehlschlagen, da Sense nur eine Tabelle pro Skriptanforderung referenzieren kann.

Verwandte Themen