1

proc メタデータ(オープン メタデータ インターフェイス) を使用して、XML から一部のメタデータを更新しています。updatemetadataメソッドを使用して、次のことをどのように達成できますか。

  • function="REPLACE"オプションを使用して、特定のテーブルの関連付けの特定の場所に新しい列を追加します (デフォルトでは、新しい列は関連付けの最初になります)。

バージョン 9.3 を使用しています。

前もって感謝します!

4

1 に答える 1

1

解決策が見つかりました。2 つのステップで実行する必要があります。

最初のステップでは、新しい列を追加する必要があります。使用する関数に応じて、テーブル メタデータの最初または最後の列になります。

2 番目のステップでは、updatemetadata で function="replace" オプションを使用する必要があります。ここで、列は目的の順序になっています。

例:

最初の updatemetadata ブロックで、フィールド TEST_PCT が HBR.TEST_7 テーブルに追加されます。function="replace" で追加されているため、テーブルの最初の列になり、それ以降は古い列になります。

したがって、適切な列順序で 2 番目の updatemetadata ブロックが必要です。この時点ですべての列が既に存在するため、適切に並べ替えられます。

<Multiple_Requests>
<UpdateMetadata>
    <Metadata>
        <PhysicalTable  id="A52YJRW0.B30005KO" name="HBR.TEST_7" MemberType="DATA" PublicType="Table"  desc="Test_1_Notes á, é, í, ó, ö, ő, ü, ű" sastablename="TEST_7" UsageVersion="1000000">
            <Columns function="replace">
                <Column  objref="A52YJRW0.B80008J0">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J1">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J2">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J3">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  id="$o601" name="TEST_PCT" desc=" " isnullable="1" PublicType="Column" sascolumnlength="8" sascolumnname="TEST_PCT" SASColumnType="N" SASFormat="COMMAX22.2" SASInformat="COMMAX22.2" UsageVersion="1000000">
                    <Notes>
                        <TextStore Name="PrivateNote"  storedtext=" " TextRole="Note" UsageVersion="0"/>
                    </Notes>
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J5">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J6">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J7">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J8">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J9">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
            </Columns>
        </PhysicalTable>
    </Metadata>
    <Reposid>A0000001.A52YJRW0</Reposid>
    <Type>PhysicalTable</Type>
    <Objects/>
    <NS>SAS</NS>
    <Flags>268435456</Flags>
</UpdateMetadata>
<UpdateMetadata>
    <Metadata>
        <PhysicalTable  id="A52YJRW0.B30005KO" name="HBR.TEST_7" UsageVersion="1000000">
            <Columns function="replace">
                <Column  objref="A52YJRW0.B80008J0">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J1">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J2">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J3">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="$o601">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J5">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J6">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J7">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J8">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
                <Column  objref="A52YJRW0.B80008J9">
                    <Table>
                        <PhysicalTable  objref="A52YJRW0.B30005KO"/>
                    </Table>
                </Column>
            </Columns>
        </PhysicalTable>
    </Metadata>
    <Reposid>A0000001.A52YJRW0</Reposid>
    <Type>PhysicalTable</Type>
    <Objects/>
    <NS>SAS</NS>
    <Flags>268435456</Flags>
</UpdateMetadata>

于 2013-06-28T11:48:01.477 に答える