問題タブ [fcmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1159 参照

sas - PROC FCMP関数が常に33バイトを返し、それ以上は返さないのはなぜですか?

次の関数をで定義していPROC FCMPます。コードの要点は非常に明白で、比較的単純なはずです。XHTMLの行から属性の値を返しています。コードは次のとおりです。

返されるデータ型を明示的に宣言しようとする長さやattribステートメントをどのように処理しても、実際の戻り値の長さに関係なく、常に要求された文字列の最大33バイトのみが返されます。これは、検索している属性に関係なく発生します。データステップに同じコード(ハー​​ドコードされている)は正しい結果を返すため、これはに関連していPROC FCMPます。

これが私がそれをテストするために使用しているデータステップです(ここで、PageSource.htmlはxhtml準拠の属性を持つ任意のhtmlファイルです-完全に引用されています):

更新:これは、SAS9.2にアップグレードした後は正しく機能するようです-リリース2

0 投票する
2 に答える
1487 参照

proc-sql - この SAS コードの何が問題になっていますか?

インターネットで見つけた紙からコードをコピーします。

コードを実行すると、次のメッセージが表示されます。エラー 68-185: 関数 WHATAMI が不明であるか、アクセスできません。

他の機能を試しましたが、常にこのメッセージが表示されます。libname を変更しましたが、何も機能しません。どうしたの?

0 投票する
1 に答える
754 参照

sas - SAS9.3 PROC FCMP はユーザー定義関数を保存できません

proc fcmp を使用して、SAS9.3 で独自の関数を定義したいと考えています。OSはaix 64bitです。これが私のコードです(reg_func.sas):

しかし、sas reg_func.sas を実行した後、いくつかの警告が表示されました

警告: モデルをデータ セット mylib.funcs に書き込めません。これは、現在開いているか、標準データ セットとして既に存在するためです。V8 CATALOG instread に戻ります。警告: 関数 gen_sub_rule を mylib.funcs.rule に保存できませんでした。

誰でも助けてくれますか?ありがとう!

0 投票する
1 に答える
43 参照

sas - SAS関数で使用する「of some_array{*}」フォームに相当するものはありますか

私たちのデータベースは、優れた Unicode サポートを備えたデータベース ソフトウェアよりも前のものであり、その代わりに、ASCII フィールドに UTF16 文字を格納するために使用する疑似 base64 エンコーディングがあります。SAS内でこのタイプのフィールドをストレートUTF8に変換する関数を書いています。

この関数は、3 つの ASCII 文字の各セットを Unicode 文字に変換して配列に配置する文字列をループ処理します。データ ステップでコードを試したときにcat(of final{*})、配列を文字列に変換していましたが、同じコードは関数内では有効ではないようです。

現在、ループ内の文字列collate = trim(collate)!!trim(final{i})と任意の長さの照合文字列を照合していますが、これを配列から直接生成するか、少なくとも入力文字列の長さに基づいて照合文字列のサイズを設定したいと考えています。

ここにデータと関数のペーストビンを含めました。

編集:私が使用していたSASのバージョンは9.3です

0 投票する
1 に答える
166 参照

sas - PROC FCMP でデータをハッシュする際に libname が保証されない

SAS の PROC FCMP を使用して、再コーディング用の関数を作成しています。これらは共有ディレクトリのデータ セットに保存されるため、同僚が使用できます。ほとんどの場合、関数は同じディレクトリ内のルックアップ テーブルをハッシュする単なるラッパーです。

簡単な例:

関数は元の libname で動作します。

しかし、誰かが別の libname を使用すると、次のようにはなりません:

全員が同じ libname を使用することを主張する以外に、これらの関数が常に機能することを確認する方法はありますか?

0 投票する
1 に答える
143 参照

sas - SAS proc fcmp が行方不明を返す

次のコードがあります。

N結果として一時的に得られると思っていました。しかし、それはありません。私が言及したデバッグ中に、それは, but ;に%put &=res;解決されます。.`. 問題は何ですか?Nput resreturns

0 投票する
1 に答える
252 参照

sas - ハッシュ オブジェクトを FCMP パラメータとして渡す

proc fcmp関数では、ハッシュ オブジェクトをパラメーターとして渡すことができます。fcmpドキュメントは少しあいまいで、この機能が他の関数からの呼び出しに制限されているかどうか、またはデータ ステップ呼び出しからも許可されているかどうかについては言及されていません。

データ ステップでハッシュを定義し、参照によってそのハッシュをfcmp関数に渡そうとしています。ただし、以下のコードを試すと、次のようになります。NOTE: Invalid type conversionどこが間違っているのか(またはこれが可能かどうか)わかりません。

私がこれをやろうとしている理由は、最終的には同じハッシュ テーブルをパラメーターとして渡すことができるいくつかの関数が必要だからです。