- Med OLE DB
Prova den här koden, den fungerar för mig med mina egna tabeller med SQL Server :
SELECT userid,sum(goldbalance) AS SUMGOLD
FROM deltadna.events_live
WHERE eventTimestamp >= DATEADD(DAY, -100,CONVERT(DATE,?))
GROUP BY userid
ORDER BY SUMGOLD desc
Du måste klicka på Parametrar i OLEDB Source Editor för att konfigurera det du behöver. Använd '?' för att representera en variabel i din fråga.
Om du frågar om det är för komplicerat, lagrade du det i en lagrad procedur och kallar det så här:
EXEC shema.storedProcedureName ?
Och kartlägga "?" till din variabel @user::DateString
- Med ODBC
Uttrycken ligger utanför dataflödet i Data Flow Properties. Välj expressionsegenskapen och lägg till din dynamiska fråga.
Och ditt uttryck kommer att vara
"SELECT userid,sum(goldbalance) AS SumGold
FROM deltadna.events_live
where eventTimestamp>=DATE "[email protected][User::datestring]+" +INTERVAL '-100 day'
group by userid
order by SumGold desc"