Я пытаюсь использовать R для очистки выходных данных из следующей команды SQL, однако после завершения загрузки получается пустой набор данных. Основная цель запроса - создать несколько временных рядов для каждого человека в группе. Временные таблицы были использованы из-за размера наборов данных.
это то, что я имею до сих пор:
conn<-odbcConnect("ks208")
Query<-"
---temp table for daily balances
Create Table #dmhi_hist
(rowno_dmddmhi_dmd int,
balance float,
amount float,
effective date,
)
Insert Into #dmhi_hist
SELECT data_.rowno_dmddmhi_dmd,
dmd.balance,
Sum(data_.amount) AS amount,
data_.effective
FROM (
--Top False Cap
SELECT dmhi.rowno,
dmhi.rowno_dmddmhi_dmd,
0 AS amount,
CONVERT(Date, Getdate()) AS effective
FROM ks208.dbo.dmd
INNER JOIN dmon208.dbo.dmhi
ON dmd.rowno = dmhi.rowno_dmddmhi_dmd
UNION
SELECT dmhi.rowno,
dmhi.rowno_dmddmhi_dmd,
dmhi.amount,
CONVERT(Date, dmhi.effective) AS effective
FROM ks208.dbo.dmd
INNER JOIN ks208.dbo.dmhi
ON dmd.rowno = dmhi.rowno_dmddmhi_dmd
UNION
SELECT dmhi.rowno,
dmhi.rowno_dmddmhi_dmd,
dmhi.amount,
CONVERT(Date, dmhi.effective) AS effective
FROM dmon208.dbo.dmd
INNER JOIN dmon208.dbo.dmhi
ON dmd.rowno = dmhi.rowno_dmddmhi_dmd
-- False Bottom Cap
UNION
SELECT dmhi.rowno,
dmhi.rowno_dmddmhi_dmd,
0 AS amount,
CONVERT(Date, Dateadd(year, -4, Getdate())) AS effective
FROM ks208.dbo.dmd
INNER JOIN dmon208.dbo.dmhi
ON dmd.rowno = dmhi.rowno_dmddmhi_dmd) AS data_
INNER JOIN ks208.dbo.dmd
ON dmd.rowno = data_.rowno_dmddmhi_dmd
WHERE Year(data_.effective) >= Year(Getdate()) - 4
GROUP BY data_.rowno_dmddmhi_dmd,
data_.effective,
dmd.balance
--- Joining the balances and transations to the calandar
DECLARE @start_date DATE = Dateadd(year, -4, Getdate());
DECLARE @end_date DATE = getdate();
WITH AllDays
AS ( SELECT @start_date AS [Date]
UNION ALL
SELECT DATEADD(DAY, 1, [Date])
FROM AllDays
WHERE [Date] < @end_date )
Insert Into #dmhi_hist(effective,rowno_dmddmhi_dmd,amount,balance)
SELECT [Date] as effective,dmd.rowno as rowno_dmddmhi_dmd,isnull(#dmhi_hist.amount,0) as amount,dmd.balance
FROM AllDays
cross join KS208.dbo.dmd
left outer join #dmhi_hist on AllDays.Date = #dmhi_hist.effective and dmd.rowno = #dmhi_hist.rowno_dmddmhi_dmd
OPTION (MAXRECURSION 0)
select * from #dmhi_hist
"
conn<-odbcConnect("ks208")
dataset <-sqlQuery(conn,Query)
это то, что RODB C просто ограничено запросами или это структура моей команды?