0

SAS Studio でカスタム タスクを作成しようとしています。XML属性またはタグ付きテキスト<DataSource>の変数を使用できないという問題に直面しまし た。<Option>

事前定義されたライブラリに新しいデータセットを作成するタスクをプログラミングする必要があります。データセットの名前は、同じかカスタムにすることができます。コードの例を次に示します。

<?xml version="1.0" encoding="utf-8"?>
<Task schemaVersion="5.0" runNLS="never">
    <Registration>
        <Name>Sample Task</Name>
        <Description>Demonstrates the Common Task Model functionality.</Description>
        <GUID>C6AC34BD-D14A-4CF5-BF2F-A110711BF819</GUID>
        <Procedures>PRINT</Procedures>
        <Version>3.5</Version>
        <Links>
            <Link href="http://www.sas.com">SAS Home page</Link>
        </Links>
    </Registration>
    <Metadata>
        <DataSources>
            <DataSource name="DATASOURCE">
        </DataSource>
        </DataSources>
        <Options>
            <Option name="DATATAB" inputType="string">DATA</Option>
            <Option name="DATAGROUP" inputType="string">DATA</Option>
            <Option name="ROLESGROUP" inputType="string">ROLES</Option>
            <Option name="OPTIONSTAB" inputType="string">OPTIONS</Option>
            <Option name="GROUP" inputType="string">GROUPS</Option>
            <Option name="labelRADIO" inputType="string">Choose name</Option>
            <Option name="nameRadioDefault" variable="radioNameChoice" defaultValue="1" 
                    inputType="radio">$DATASOURCE.getTable()</Option>
            <Option name="nameRadioAlter" variable="radioNameChoice" 
                    inputType="radio">Enter alter name:</Option>
            <Option name="textTableName" defaultValue="" inputType="inputtext" 
                    required="true"
                    indent="1"
                    promptMessage="Enter new table name"
                    missingMessage="Missing text."></Option>
        </Options>
    </Metadata>
    <UI>
        <Container option="DATATAB">
                <DataItem data="DATASOURCE"/>
                <OptionItem option="labelRADIO"/>
                <OptionItem option="nameRadioDefault"/>
                <OptionItem option="nameRadioAlter"/>
                <OptionItem option="textTableName"/>
        </Container>
    </UI>
    <Dependencies>
        <Dependency condition="$radioNameChoice == 'nameRadioDefault'">
            <Target action="disable" conditionResult="true" option="textTableName"/>
        </Dependency>
        <Dependency condition="$radioNameChoice == 'nameRadioAlter'">
            <Target action="enable" conditionResult="true" option="textTableName"/>
        </Dependency>
    </Dependencies>
    <CodeTemplate>
        <![CDATA[
%put DATASET=$DATASOURCE;
%put SASLIBRARY=$DATASOURCE.getLibrary();
%put SASTABLE=$DATASOURCE.getTable(); 
        ]]>
    </CodeTemplate>
</Task>

その結果、次のような単純なカスタム タスクができました。

ここに画像の説明を入力

コード領域では、オプションを変更することによる反応が見られます。

ここに画像の説明を入力

ここに画像の説明を入力

ほかを選ぶ:

ここに画像の説明を入力

ここに画像の説明を入力

残念ながら、ラジオボタンの名前は変わりません。VTL変数 $DATASOURCE.getTable()をでラップしようとしまし<![CDATA[...]]>たが、うまくいきません。

In SAS Studio 3.5: カスタムタスクの作成に関する開発者ガイド

私の質問は、そのように VTL 変数を使用することは可能ですか? そして、可能であれば、それを実現する方法は?

SAS Studio 3.5: Developer's Guide to Writing Custom Tasksで答えが見つかりませんが、SAS Studio にはグラフィカル データ ソースを持つ「結合」という複雑なタスクがあります。また、ガイドには記載されていません。これがアイデアにつながりました - すべての機能がガイドに記載されているわけではありません。私が間違っていたら、私を正してください。ありがとう。

ありがとう。

4

0 に答える 0