ブログ

2021/02/24
【プリザンター】 第84回)サーバスクリプト#3 Countメソッド

サーバスクリプトのCount機能で何ができるか?

こんにちは、CCSの田中です。

さて、サーバスクリプトの3回目の投稿になります。
今回は、Countメソッドについて試したいと思います。

ExcelでCount関数などを使うと思います。どのテーブルにカウントしたいレコードがいくつあるかを数える関数ですね。Excelではこれ以外にもCountifやCountAなどの関数もあります。
プリザンターではどのように使えるかを実際の設定を行って試してみます。

itemsオブジェクトのCountメソッドの使い方

今回、具体的にしたほうが分かりやすいと思いますので、カウント対象となるテーブルはテンプレートにある[情報システム]→[パソコン資産管理]テーブルを使いましょう。ここに「メーカー」として分類Bに設定されていますので、以下のように選択肢を登録しておきます。
その他は適当に登録しておいてください。

1,HP
2,DELL
3,LENOVO

このデータを利用して、棚卸を想定しメーカごとのPC台数を登録状況から記録するようにしたいと思います。
棚卸を記録するテーブルには、「PC棚卸」テーブルとして以下の項目を作成しておきます。

日付A:棚卸日付(読取専用、初期値は0として作成した日付を入れるようにします)
数値A:HP台数
数値B:DELL台数
数値C:LENOVO台数

ここまで準備できたら、サーバスクリプトを設定していきます。

  1. 「PC棚卸」テーブルを開きます。
  2. メニューから「管理」→「テーブルの管理」を選択します。
  3. 「サーバスクリプト」タブを選択します。
  4. 「新規作成」ボタンをクリックし、タイトルには「メーカーごとの台数」などと入れてください。スクリプトは以下のように記載します。
  5. [条件]には、「計算式の後」だけにチェックをします。
  6. 「追加」ボタンをクリックします。
  7. 「更新ボタン」をクリックします。


これで準備が整いました。
「PC棚卸」テーブルを開いて、「新規作成」ボタンをクリックしてみましょう。
各メーカーごとの台数がカウントされて記録されると思います。

なお、上記のメーカーの項目は分類(Class)で作成していて、「数値、名前」(1,HP)として登録していますが、通常「名前」だけの登録の場合もあるかと思います。それで試したらうまく動作しなかったため、「数値、名前」として登録して、上記のようなスクリプトとしています。他にも方法があるのかもしれませんが、まずは上記をお試しください。

<サーバスクリプト>※下記の18918は「パソコン資産管理」テーブルのSiteIDです。

model.NumA = items.Count(18918, '{"View":{"ColumnFilterHash":{"ClassB": "[1]"}}}');
model.NumB = items.Count(18918, '{"View":{"ColumnFilterHash":{"ClassB": "[2]"}}}');
model.NumC = items.Count(18918, '{"View":{"ColumnFilterHash":{"ClassB": "[3]"}}}');


まとめ

さて、いかがでしたか?

今回はサーバスクリプトの3回目としてCountメソッドについて説明しました。
2回目のSumと似たような感じですが、レコード件数のカウントということで件数のカウントにはこちらが使えると思います。

導入の支援、スクリプト開発などでお困りの場合は、当社で支援もいたします。プリザンター逆引き辞典PDF版やスタイル・スクリプトサンプル集PDF版の販売もしております!

☆☆ブログ内容への質問や追加説明をご希望の方は
【問い合わせフォーム】 こちら からお気軽にお問い合わせください☆☆

PAGE TOP