2015-09-10 68 views
0

我正在將Access數據庫表和更新過程移動到SQL Server上。我已經能夠通過SSIS傳輸歷史數據並創建任務以定期導入數據問題正在複製保存在Access中的查詢從Access遷移到SQL Server:最佳計算選項?

例如,我有一個使用SQ1計算多個KPI的查詢,如

SUM(Case when ThisField = 5 then 1 else 0)) 

但是,在SQL Server中創建查詢並將其保存在某處我不能找到更好的答案。

用SSAS我曾經考慮過,這樣所有這些功能適用,然而預定義爲廣大這簡直是在1臺被證明難以

其他用戶需要訪問這些查詢,保存之前,他們在Access中並且可以根據需要進行修改,但我不太確定使用SQL Server,那麼最好的選擇是什麼?

謝謝

+0

我不認爲我真的明白你在問什麼,但不知何故計算列可以想到。如果需要聚合,請查看索引視圖。 – Biscuits

+0

我不相信我可以使用計算列的聚合上下文?上面例子中的代碼試圖在整個查詢的特定字段中返回總共5個字符,而不僅僅是行 – Chris

+0

在我進一步混淆之前,您熟悉視圖和存儲過程,對嗎? – Biscuits

回答

1

我還沒有評論,但我會給你一個「答案」。存儲過程是「保存」事物的最佳方式,然後您可以創建作業來運行它們。基本上

CREATE PROCEDURE YourNewProcedureName 
declare @Parameter as varchar(50) --if you need a parameter 
as 
Select * from yourtable 
where ThisColumn = @Parameter 

然後一旦創建改名CREATE到ALTER並再次執行。這樣,你現在只是改變現有的程序。

ALTER PROCEDURE YourNewProcedureName 
declare @Parameter as varchar(50) --if you need a parameter 
as 
Select * from yourtable 
where ThisColumn = @Parameter 

然後,

execute YourNewProcedureName 
在一個作業步

,將觸發它按計劃運行,如果你需要這個功能。您也可以在SSRS中使用proc名稱來創建報告。

至於訪問查詢,我相信不幸的是你正在尋找手動代碼轉換。找到知道兩種語法的人或者自己學習SQL語法是最好的選擇。有些事情可以做得更好,特別是如果你使用的是更新的版本。

玩得開心!希望這可以幫助!