itemsオブジェクトのCountメソッドの使い方
今回、具体的にしたほうが分かりやすいと思いますので、カウント対象となるテーブルはテンプレートにある[情報システム]→[パソコン資産管理]テーブルを使いましょう。ここに「メーカー」として分類Bに設定されていますので、以下のように選択肢を登録しておきます。
その他は適当に登録しておいてください。
1,HP
2,DELL
3,LENOVO
このデータを利用して、棚卸を想定しメーカごとのPC台数を登録状況から記録するようにしたいと思います。
棚卸を記録するテーブルには、「PC棚卸」テーブルとして以下の項目を作成しておきます。
日付A:棚卸日付(読取専用、初期値は0として作成した日付を入れるようにします)
数値A:HP台数
数値B:DELL台数
数値C:LENOVO台数
ここまで準備できたら、サーバスクリプトを設定していきます。
- 「PC棚卸」テーブルを開きます。
- メニューから「管理」→「テーブルの管理」を選択します。
- 「サーバスクリプト」タブを選択します。
- 「新規作成」ボタンをクリックし、タイトルには「メーカーごとの台数」などと入れてください。スクリプトは以下のように記載します。
- [条件]には、「計算式の後」だけにチェックをします。
- 「追加」ボタンをクリックします。
- 「更新ボタン」をクリックします。
これで準備が整いました。
「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]"}}}');
サーバスクリプトのCount機能で何ができるか?
こんにちは、CCSの田中です。
さて、サーバスクリプトの3回目の投稿になります。
今回は、Countメソッドについて試したいと思います。
ExcelでCount関数などを使うと思います。どのテーブルにカウントしたいレコードがいくつあるかを数える関数ですね。Excelではこれ以外にもCountifやCountAなどの関数もあります。
プリザンターではどのように使えるかを実際の設定を行って試してみます。