あなたが探している解決策はLookup Transformation
、パラメータを使用しようとする代わりに、すべての名前のカウントを計算してから、Excel の列をテーブルの列にマッピングすることです。
注意すべき 2 つのことは、データ型 (それらは一致している必要があり、Excel から取得したものは wstr/nvarchar/unicode として始まります) と、不明な場合に何が起こるかです。
サンプル実装
私の制御フローは次のようになります
最初のタスクでは、サンプル データが入力された "MyTable" に相当するものがあることを確認します。
IF EXISTS
(
SELECT * FROM sys.tables T WHERE T.name = 'so_18853565' and T.schema_id = schema_id('dbo')
)
BEGIN
DROP TABLE dbo.so_18853565;
END;
CREATE TABLE dbo.so_18853565
(
Name varchar(50) NOT NULL
);
INSERT INTO dbo.so_18853565
SELECT
D.Name
FROM
(
VALUES ('Tim')
) D(Name)
CROSS APPLY
(
SELECT TOP 9 1 AS foo FROM sys.all_columns AS AC
) X(foo)
UNION ALL
SELECT
D.Name
FROM
(
VALUES ('Mark')
) D(Name)
CROSS APPLY
(
SELECT TOP 4 1 AS foo FROM sys.all_columns AS AC
) X(foo)
UNION ALL
SELECT
D.Name
FROM
(
VALUES ('Sam')
) D(Name)
CROSS APPLY
(
SELECT TOP 2 1 AS foo FROM sys.all_columns AS AC
) X(foo);
データ フローでは、集計クエリを使用するルックアップがあります。
これにより、すべての名前のすべてのカウントが計算されます
SELECT
S.Name
, COUNT(1) AS NameCount
FROM
dbo.so_18853565 AS S
GROUP BY
S.Name;
名前を名前に接続し、クリックNameCount
してそれをデータフローに追加します