Динамична заявка с mongodb в BIRT

Трябва да направя рапорт с 3 параметъра, които трябва да се използват в заявката. Параметрите са две дати и низ.

Опитах се да го направя в набора от данни beforeOpen, както е посочено за sql заявки, но не проработи.

Пиша преди Open набор от данни за изрази:

this.queryText = '{
"findQueryExpr": { "ref":  "'+params["ref"].value+'",  "sts": { $gt: "'+params["startDate"].value+'" , $lte: "'+params["endDate"].value+'"} } , 
"operationType" : "FIND" , 
"collectionName" : "events", 
"queryReadPreference" : "secondary" , 
"selectedFields" : [ "ref" , "sts" , "rts" , "c.value" , "c.type" , "c.quality" , "r.value" , "r.type" , "r.quality"] 
}';

И заявката хвърля върху общия брой документи в колекцията, независимо от параметрите.

Възможно ли е да се направи mongo заявка в Birt с параметри?


person Tadeo Julián Segarra    schedule 27.10.2014    source източник


Отговори (1)


Щракнете два пъти върху вашия набор от данни, изберете „Свързване на свойства“ и въведете функцията си в текста на заявката.

Трябва също така да зададете своя низ на заявка на глобална постоянна променлива и да го отпечатате в отчета си за отстраняване на грешки, като се уверите, че крайният ви израз е валиден. Датите може да са в различен формат във вашия отчет и базата данни и да доведат до неограничаване на вашия набор от резултати:

reportContext.setPersistentGlobalVariable("testglobal", queryString);// in the script of your data source.
reportContext.getPersistentGlobalVariable('testglobal');//in a dynamic text fild.
person Simulant    schedule 04.12.2014