ループクエリのヘルプこんにちは皆さん、
私は質問に苦しんでいて、あなたの助けを必要としています!
私はこれを変えようとしています:
これに:
これが私がこれまでに持っているコードですが、私はそれを働かせることができません。
スナム= データベースを開く (
"DSN ="接続文字列... 「 、
"SELECT [dbo]。[BOM]。[PARENT]としてPARENTTID、[dbo]。[BOM]。[COMPONENT]としてSUBPARENTID
FROM [dbo]。[BOM] - as tb1
- 左結合[dbo]。[BOM]オン[dbo]。[BOM]。[親] = [dbo]。[BOM]。[コンポーネント] "
;
スナム<< 新しいコラム ( "SUBPARENTID2" 、キャラクター );
にとって (i = 1 、i <= N行 (Snums)、i ++、
r = Snums << 行を取得する (:PARENTID ==:SUBPARENTID [i]);
もし (
N行 (r)== 0 、持続する ()、
N行 (r)== 1 &r [ 1 ] == i、:SUBPARENTID2 [i] = 0 、
N行 (r)== 1 、:SUBPARENTID2 [i] =:SUBPARENTID [r [] 1 ]]、
::SUBPARENTID2 [i] =:SUBPARENTID2 [i]
;);
私はできるだけ早くJMPコードを習得しようとしています(新しい仕事)が、これは厳しい締め切りの間にあります。助けてください!
;
;
再:ループヘルプヘルプ! @ Minutemaid23 、
ここでは、これはあなたが提供した例に対してうまくいきます。私はこれが大体うまくいくと思うし、私が見ることができる唯一の複雑さは親とコンポーネントの元のリストが1対1の代わりに多対多の関係を持っていたかどうかです。
Clear Log(); Clear Globals();
// Get Reference for data table
dt = Current Data Table();
// Extract Values from Parent and Component and wrap them in associative arrays
ParentVals = Associative Array(dt:Parent << Get Values) ;
ComponentVals = Associative Array(dt:Component << Get Values);
// Find Common elements between Parents and Components
Intersection = ParentVals;
Intersection << Intersect(ComponentVals);
Common = Intersection << Get Keys;
// Update Data Table
dt << Begin Data Update;
for(i = 1, i <= N Items(Common), i++,
SR1 = dt << Select Where(:Parent == Common[i]) << Get Selected Rows;
dt << Clear Select;
SR2 = dt << Select Where(:Component == Common[i]) << Get Selected Rows;
NewParent = dt:Parent[SR2];
dt << Clear Select;
dt << Add Rows(1);
nR = nRows(dt);
dt:Parent[nR] = NewParent;
dt:Component[nR] = Common[i];
);
dt << End Data Update;
// Remove Duplicates
dt_res = dt << Summary(
Group( :Parent, :Component ),
Freq( "None" ),
Weight( "None" )
);
再:ループヘルプヘルプ!私が提供できる最高の説明は以下の通りです。5は1の下の要素であり、6は5の要素なので、5と6は1の下にあります。
それはこれを向ける:
これに:
再:ループヘルプヘルプ! @ Minutemaid23 、
私が理解したことから、これが私が行くところです
Clear Log(); Clear Globals();
// Get Reference for data table
dt = Current Data Table();
// Extract Values from Parent and Component and wrap them in associative arrays
ParentVals = Associative Array(dt:Parent << Get Values) ;
ComponentVals = Associative Array(dt:Component << Get Values);
// Find Common elements between Parents and Components
Intersection = ParentVals;
Intersection << Intersect(ComponentVals);
Common = Intersection << Get Keys;
私が進んでいるアイデアは:
ステップ1:あなたがこれらの要素を持ってくるためには、まず共通の要素が何であるかを特定する必要があります。
ステップ2:あなたが共通の要素を知った後、私があなたが私がもう少し良いことを理解するのを助けることができるならば、私はあなたがそれらを持ってくることによって何を意味するのかわかりません。
再:ループヘルプヘルプ!最善をつくします。
ODBCを介して、ParentとComponentの2つの列を持つテーブルに接続しています。テーブルでは、コンポーネントが親列にあることも可能です。 たとえば、5という数字はコンポーネントおよび親です。コンポーネントが親列にあるかどうかを確認するコードを作成しようとしています。もしそうなら、私はそれがそのコンポーネントの値(この例では6)を取り戻したいと思います。それから私はそれが6が親テーブルにあるかどうかなどをチェックするためにそれを試みています。
再:ループヘルプヘルプ! @ Minutemaid23 、
あなたが私があなたがやろうとしていることを理解するのを手伝ってもらえますか?私は表1と表2が何であるかを理解することができません。質問がより明確であれば、それはコミュニティ一般とあなた自身を助けるでしょう - それで人々はあなたを試みて助けることができます。