私の会社は、直接フォーマットでデータを提供できないクライアントからデータを受け取り、以下のようなグループ化されたレイアウトのレポートをいくつかインポートする必要があります。レポートをグループ化してからデータをインポートして、必要なすべてのデータを取得するための社内の方法を開発する必要があります。現在私のチームのメンバーは、必要な詳細レコードを生成するためにMS Access/VBAを使用していますが、これをサーバーベースの自動プロセスに移行したいと考えています。私たちはストレージ用にSQL Server 2008 R2を使用しています。私はこの作業を行うためにSSISを使用したいと考えています。詳細レコードを生成してデータをSQL Serverに直接インポートする方法を知っている人はいますか?グループ化されたレポートデータをデータベースにインポートする
0
A
答えて
1
うーん - だけでなく、あなたは間違いなく明細行に、そのグループの日付を追加するために、データセットのいくつかのプログラムの調整を行う必要があります。どのようにxlsxをインポートするのか分かりませんが、まずSSISパッケージを使用し、スクリプトタスクでこれを行う「最良の」方法として調整を行うことをお勧めします。 SSISスクリプトタスクでExcelを処理する方法については、hereを参照してください。
もしあなたがSSISを知っていない、あるいは特にプログラミングしているのであれば、私の意見ではステージングテーブルにデータをインポートし、T-SQLで操作してからテーブルを挿入するだけですあなたのメインテーブルに。私はこのhereのSQLフィドルをしました。
CREATE TABLE ActivitySummary
(
id int identity(1,1),
activity_date date,
activity varchar(100),
paid_time decimal(5,2),
unpaid_time decimal(5,2),
total_time decimal(5,2)
)
CREATE TABLE ActivitySummary_STG
(
id int identity(1,1),
activity_date date,
activity varchar(100),
paid_time decimal(5,2),
unpaid_time decimal(5,2),
total_time decimal(5,2)
)
GO
-- Simulate import of Excel sheet into staging table
truncate table ActivitySummary_STG;
GO
INSERT INTO ActivitySummary_STG (activity_date, activity, paid_time, unpaid_time, total_time)
select '8/14/17',null,null,null,null
UNION ALL
select null,'001 Lunch',0,4.4,4.4
UNION ALL
select null,'002 Break',4.2,0,4.2
UNION ALL
select null,'007 System Down',7.45,0,7.45
UNION ALL
select null,'019 End of Work Day',0.02,0,0.02
UNION ALL
select '8/15/17',null,null,null,null
UNION ALL
select null,'001 Lunch',0,4.45,4.45
UNION ALL
select null,'002 Break',6.53,0,6.53
UNION ALL
select null,'007 System Down',0.51,0,0.51
UNION ALL
select null,'019 End of Work Day',0.02,0,0.02
GO
-- Code to massage data
declare @table_count int = (select COALESCE(count(id),0) from ActivitySummary_STG);
declare @counter int = 1;
declare @activity_date date,
@current_date date;
WHILE (@table_count > 0 AND @counter <= @table_count)
BEGIN
select @activity_date = activity_date
from ActivitySummary_STG
where id = @counter;
if (@activity_date is not null)
BEGIN
set @current_date = @activity_date;
delete from ActivitySummary_STG
where id = @counter;
END
else
BEGIN
update ActivitySummary_STG SET
activity_date = @current_date
where id = @counter;
END
set @counter += 1;
END
INSERT INTO ActivitySummary (activity_date, activity, paid_time, unpaid_time, total_time)
select activity_date, activity, paid_time, unpaid_time, total_time
from ActivitySummary_STG;
truncate table ActivitySummary_STG;
GO
select * from ActivitySummary;
1
私はスクリプトコンポーネントを使用します。スクリプトコンポーネントで> SQL先
ExcelSource - >スクリプトコンポーネント(形質転換により) - - >条件分割:InputColumns
上チェックaccountSummary
総データフロー
ActivityDateを出力列として追加します。
オープンスクリプト:
行処理外。
追加:行処理の内部
public datetime dte;
:
if (DateTime.TryParse(Row.ActivitySummary.ToString()))
{dte=DateTime.Parse(Row.ActivitySummary.ToString());}
else
{Row.ActivityDate = dte;}
そして、ヌルのアクティビティを削除するには条件分割を追加し、私は質問を理解していない
関連する問題
- 1. グループ化されたハイチャートのグループ化されたグラフ - グループ化された看護援護者のプラグイン
- 2. ネストされたドキュメントをグループ化する
- 3. グループ化された列をソートする
- 4. グループ化されたSQLによるエラー
- 5. ggplot2を使用したRのグループ化されたボックスプロットに対するグループ化された散布図
- 6. MySQLクエリでグループ化されたグループ
- 7. SQL Serverの高度なグループ化された行を列にグループ化する
- 8. パンダ:グループ化されたデータフレーム
- 9. グループ化されたUITableView
- 10. グループ化されたデータ
- 11. グループ化されたログインビュー
- 12. Linqネストされたグループ化
- 13. グループ化されたバープロットPython
- 14. 多くのインポート/エクスポートされたデータベースの正規化
- 15. Golangのパッケージによるグループ化のインポート
- 16. グループ化されたbarchartはグループ化されたパネルではない
- 17. 月別にグループ化されたデータ
- 18. パンダデータフレームSeabornにグループ化された棒グラフ
- 19. ListCollectionViewグループ化されたアイテムを既にグループ化しています
- 20. SQLグループ化:グループ化されたデータで毎月のカラムを作成する
- 21. IDでグループ化し、グループ化されたデータから配列を作成する
- 22. ブロックされた行を生成するためにグループ化されたUITableView
- 23. Chart.jsでグループ化されスタックされたチャートを作成する
- 24. 2次元に沿ってデータをグループ化できるクラスタ化されたデータベースはありますか?
- 25. インポートされたexcelをデータベースCに保存する方法
- 26. MySQLグループ化されたクエリを選択
- 27. データベース内のテーブルをグループ化する
- 28. グループ化されたgvim Buffersメニューを整列させるには?
- 29. インデックスでグループ化されたシリアル化されていないアレイをカウントする
- 30. グループ化されたuitableviewのヘッダーフォントを変更するには?
日付。 SQL Serverでデータをグループ解除する方法を尋ねていますか? SSISを使用してMS AccessをSQLにインポートする方法は?元のレポートをSQL Serverにインポートする方法どうか明らかにしてください。 –
少し質問を更新しました。私は詳細なレコードをプログラムで生成してSQLサーバーにインポートする方法を探しています。私は、MS Accessコンポーネントを完全に排除したい。 –
グループ化されているデータのサンプルを提供してからグループ化されていないデータのサンプルを提供できない限り、これは困難です。たとえデータが現在どのようにグループ化されていないのかの方法を持っていなければ、それを実行するのは難しいかもしれません。私はあなたが付けたイメージが何を表しているのか分かりません。また、データはcsv形式で、またはどのようにあなたに来ますか?これらの詳細を提供できますか?ありがとう –