ドロップダウンでテーブル セレクターを使用する代わりに、すべての行のすべての列が必要でない限り使用すべきではありませんが、クエリを記述して、既存のデータの照合または拡張に必要な列のみを取得します。あなたの場合、少し厄介なフィルターを追加する必要があります。
私が見つけた最善の方法は、ルックアップ クエリを String 型の変数に記述することです。その中で、クエリを作成し、必要なフィルターを適用します。以下では、2 つの変数を定義したことがわかります。1 つはフィルターとして機能する int で、次にそれを使用するクエリ自体です。

私のSourceQuery変数の式は
"SELECT
D.rn
FROM
(
SELECT TOP 10
ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) * 2 AS rn
FROM
sys.all_columns AS SA
) AS D(rn)
WHERE D.rn <= " + (DT_WSTR, 10) @[User::MaxID]
私のデータフローは次のようになります

ソースがあり、ルックアップにヒットし、一致した結果に基づいて 2 つのバケットのいずれかに移動します。ソース クエリは 1 から 10 の数字を生成するだけで、ルックアップは 2 から 20 の偶数を生成するクエリです。
設計時には、そのクエリは次のようになります
SELECT
D.rn
FROM
(
SELECT TOP 10
ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) * 2 AS rn
FROM
sys.all_columns AS SA
) AS D(rn)
通常の実行では、バケット間で 50/50 の分割が発生します

もちろん、目標はルックアップ クエリがソース コンポーネントの 1 つのようなパラメータを取るようにすることですが、すぐにそれがわかるでしょう。
SELECT
D.rn
FROM
(
SELECT TOP 10
ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) * 2 AS rn
FROM
sys.all_columns AS SA
) AS D(rn)
WHERE D.rn > ?
飛ばない。代わりに、制御フローに戻ってデータ フローを選択し、右クリックして [プロパティ] を選択する必要があります。データ フローのウィンドウで、[式] に移動し、省略記号 (...) をクリックします。

ルックアップ タスクとして名前が付けられたプロパティがあります。式を使用する変数を割り当てて、すべてを動的にして出来上がりにします。maxid は 6 です。3 つの一致しか見つかりません

最後に、部分キャッシュは、探しているものである場合とそうでない場合があります。これは、ルックアップ データのコストとローカル キャッシュのバランスをどのように取るかを制御する実際のルックアップ設定です。フル キャッシュは、該当する範囲の指定されたすべての列をメモリにドロップするため、必要な列のみを指定する必要があります。数列、数百万行にまで削減できれば、おそらく苦労することはないでしょう。