我輩はブロガーではない。ネタもまだない

SASとかDelphiあたりの人様の役に立たないネタを提供します

2020-01-01から1年間の記事一覧

SAS Inner Circle

SAS

もう2年も前のことでうろ覚えなのですが、SASの顧客満足度調査に回答し、その中で SAS Inner Circleというものに参加するかどうか、という項目にチェックしていたところ、 「Still interested in the SAS Inner Circle Panel?」というメールが届いていました…

SAS xportファイルに仕様上の不備?

SAS

ちょっと前にSASxportファイルへのアクセスを試してみましたが、その際、おかしな挙動をしたのでまとめておきます。 (2020/11/20追記)

DelphiからSASxptファイルにアクセスする(2:bug fixed)

CDATA FireDac ComponentsのBuild 7593がリリースされています。 前回の不具合が修正されていますので確認してみます。

DelphiからSASxptファイルにアクセスする(1)

いつの間にか、CDATAからSAS xptファイルへのアクセスコンポーネントがリリースされていました。 Delphi用のFireDAC Componentもしっかり用意されていた(&バグが修正されたらしい)ので、早速使ってみました。 (2020/10/14時点の最新はVer20.0 Build 7587…

KX800 MX KEYSのレビュー

在宅勤務になって半年くらいですが、自宅の作業環境が少しずつ会社より良くなってきています。テレワーク助成金で購入していただいたものですが、この度、キーボードをLogicoolのMX Keysにしました。 理由はフルサイズ、無線接続、(マウスで使っている)log…

SASの右クリックシェルメニューをカスタマイズする

SAS

さて、SASをお使いの皆様はいかにしてSASを起動していますか。 どうやってプログラムをロードしていますか。sasプログラムを右クリックして開く、ダブルクリックで開く、SASを起動してプログラムをopenする、 色々あると思いますが、ちょっと待って…右クリッ…

PDVの初期化と値保持の仕組み

SAS

先日、プログラムデータベクトル(PDV)の込み入った話ということで 意図せず変数の値がretainされている、という内容の記事を書きました。その後調べたところ、なんと、setステートメントでは、PDVは初期化されていないということを知りました。 PDVが毎回初…

PROC DELETEの注意点

SAS

SAS9.4から追加された機能でproc deleteというプロシージャがあります。 Technical Support:データセットの削除 https://go.documentation.sas.com/?docsetId=proc&docsetTarget=n1469bsvzgd33jn0z4xecxmx2bgo.htm&docsetVersion=9.4&locale=ja単純にデータ…

プログラムデータベクトル(PDV)の込み入った話

SAS

SASのデータステップには、プログラムデータベクトル(PDV)というものが存在します。普通にデータステップ実行している分にはあまり気にすることもなく、認定試験のために勉強して知った、という人がほとんどかと思います。 (自分もですが)そのPDVがちょっ…

SASでファイルのハッシュ値を生成する

SAS

前回、文字列のハッシュ値をSHA256関数で生成しましたが、どうやらSAS9.4 TS1M6からハッシュ関連の関数がいくつか追加されていたようです。 追加された中で、ファイルのハッシュ値を調べる関数「HASHING_FILE」もありましたので紹介したいと思います。https:…

SASで復元不可能な一意のダミー文字列

SAS

Twitter上で 「SASで、患者IDから復元不可能な一意のダミー文字列を生成したい」 というつぶやきを見つけました。(超意訳)SASで、任意の文字列 (患者ID) から一意のダミー文字列を生成し、かつダミー文字列から元の文字列は復元不可能とする方法が思い付き…

NASに無線LAN子機を

今更ながらBuffalo WLI-UC-GNMを買いました。設置場所の関係でNASを有線LANに接続しているのですが、メッシュネットワークにも 参加させておきたくて、小さい無線子機として購入しました。 400円。速度は必要ないのでこれで十分です。

hpの27f 4k displayを買いました

テレワーク助成金活用で会社で購入予定でしたが、価格に惹かれ、つい。 item.rakuten.co.jp (アフィではありません)買い回りしなくても、アプリ、楽天カード、5の付く日、だけでポイント4.5倍。現在価格37,500円ですが、35,000→10%引きで31,500円、実質290…

LIFEBOOK WU2/B3のSSDを入れ替えました

表題の通りですが、色々試行錯誤が必要そうでそうでもなかったのでまとめます。 SSDの外付けケースはありませんがちゃんとクローンできました。 必要なものは現在のSSDの容量をカバーできるHDDものと、32GB程度の外付けHDDだけでOKです。 私は古いラップトッ…

SAS 認定プロフェッショナル試験がスペシャリスト試験に変更になったようです

SAS

SASの認定プロフェッショナル(ここではBase Programmerを例にあげます) という試験区分が廃止され、SAS認定スペシャリストというものに切り替わったそうです。基本的なターゲットは同じようですが、試験方法に大きな違いがあります

Noble audio FALCONのファームウェアupgrade

最近めっきり電車に乗らなくなったんですが、みんなワイヤレスイヤホンしてますね。 Amazonでも有象無象が大量に見つかります。私が最初に手に入れたのはM-SoundsのMS-TW1でした。 www.m-sounds.jp ぼちぼちプチプチ切れていて、最初はこんなもんか、という…

google homeに喋らせるお話(Windows only)

久方ぶりの更新です。楽勝ぶっこいてたら、開発が遅れて+新しい仕事が入ってきててんやわんやです。さて、今日はもう目新しくもなんともない、google homeのお話。 我が家にはgoogle home miniが4つほどあるのですが、使うことと言ったら 「タイマーセット…

fetchとfetchobsの処理速度

SAS

かなり久しぶりの投稿です。年始に余裕ぶっこいてたら、ちょっと危ないことになってしまいました。 プロジェクトは佳境です。さて、今日はためにならないSCL、fetchとfetchobsのお話。 両者の違いを簡単に言うと、fetchは現在のobsの情報を取得、 fetchobsは…

0オブザベーションのデータセット

SAS

仕事柄か、0オブザベーションのデータセットを作成することがよくあります。 今まではdataステップでdeleteステートメントを利用していたのですが、 Base Certificateのトレーニングテキストを読んで、obsデータセットオプションに 切り替えた方が早そうだ、…

配列の括弧指定

SAS

今日ソースレビューをしていて気がつきました。sasの配列は 配列名{i} という形で表現しますが、この括弧が()でもでもいい、ということは知られていると思います。 [https://documentation.sas.com/?docsetId=lestmtsref&docsetTarget=p08do6szetrxe2n136ush…

処理をベタ書きするか、別ラベルにまとめるか、別ソースに分けるか、という話

SAS

プログラムを書いているとき、何度も繰り返し使うコードはまとめたくなります。 SASでももちろん同じで、SASマクロにして繰り返し使うことで、コードの可視性が上がり、コーディングのミスを減らすことができます。最近引き継いだSAS/AFのsclソースプログラ…

Google nest wifiを買った話

唐突ですがgoogle nest wifiを購入しました。拡張ポイントとセットのやつです。 store.google.com

cexist関数の注意点

SAS

sasにはcexist関数という、カタログの存在チェックを行う関数が用意されています。通常の記述方法はこんな感じです。 data _null_; if cexist("SASカタログ名") then do; /* カタログがあるときの処理 */ end; run; 単発実行してもいいのですが、簡単なマク…