Запуск Excel 2010 с PowerPivot 10.50.1747.0, доступ к SQL Server 2005 с пакетом обновления 2 (SP2).
Я изменяю сводную таблицу Excel.Он получает свои данные из таблицы SQL через запрос.Я делаю изменения в запрос в разделе «Свойства таблицы».Когда я ввожу свой новый запрос и нажимаю кнопку «Проверить», я получаю «Оператор SQL действителен».Если я нажимаю кнопку «Дизайн» и в появившемся окне нажимаю кнопку «Выполнить» («!»), Я получаю правильные данные.НО, когда я выхожу из окна «Дизайн» и нажимаю кнопку «Сохранить», я получаю сообщение об ошибке:
==============
The refresh operation failed because the source data base or the table does
not exist, or because you do not have access to the source
More Details:
OLE DB or ODBC error.
An error occurred while processing the 'Query' table.
The operation has been cancelled.
==============
Что здесь происходит?(Я использую переменную таблицы - будет ли это причиной проблемы?) Спасибо за любую помощь.
Вот код:
declare @WCsWithDups TABLE(
WOStatus Char(1) not null,
WOCreated DateTime not null,
WorkOrderNo VarChar(15) not null,
WorkCenterID VarChar(6) not null,
ItemClassID VarChar(12) not null,
StockItem Char(1) not null,
FirstChar Char(1) not null,
MaxWODays SmallInt not null
)
insert into @WCsWithDups(WOStatus, WOCreated, WorkOrderNo, WorkCenterID, ItemClassID, StockItem, FirstChar, MaxWODays)
select DISTINCT
case
when wocompleted is null then 'O'
else 'C' end as WOstatus,
wocreated,
WorkOrderNo,
workcenterid,
itemclassid,
case when timinventory.minstockqty>0 then 'Y'
when timinventory.maxstockqty>0 then 'Y'
when timinventory.safetystockqty>0 then 'Y'
when timinventory.stdordqty>0 then 'Y'
else 'N' end as stockitem,
left(itemproduced,1) as FirstChar,
(select max(datediff(day,wocreated,transdate)+1) from vdvMT b where TR1.workorderno=b.workorderno) as maxwodays
from vdvMT as TR1
left join tInv on TR1.itemkeyproduced=tInv.itemkey and TR1.whsekey=tInv.whsekey
where type='L' and wocreated>=(getdate()-365) and (workcenterid = 'Shed' or workcenterid = 'OP')
delete from @WCsWithDups
where WorkOrderNo in (
select WorkOrderNo from @WCsWithDups group by WorkOrderNo having count(WorkOrderNo) = 1);
select distinct WOStatus, WOCreated, WorkOrderNo, 'Shed+OP' as WorkCenterID, ItemClassID, StockItem, FirstChar, MaxWODays
from @WCsWithDups