second - スクリプトおよびチャート関数このページ上
この関数は、expression の小数部が標準的な数値の解釈に従って時間と判断される場合に、秒を表す整数を返します。
構文:
second ( expression )
戻り値データ型: 整数
使用に適しているケース
second() 関数は、集計を秒単位で比較する場合に便利です。例えば、秒ごとのアクティビティ数分布を確認したい場合は、関数を使用できます。
これらの軸は、関数を使用してマスター カレンダー テーブルに項目を作成することにより、ロード スクリプトで作成することも、計算軸としてチャートで直接使用することもできます。
関数の例
second(
'09:14:36' )
36 を返します
second(
'0.5555' )
55 を返します (0.5555 = 13:19:55 のため)
地域の設定
特に指定のない限り、このトピックの例では次の日付書式を使用しています: MM/DD/YYYY。日付書式は、データ ロード スクリプトの SET DateFormat ステートメントで指定されています。既定の日付書式は、地域の設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。
App の既定の地域設定は、Qlik Sense がインストールされているコンピューターまたはサーバーの地域システム設定に基づいています。アクセスしている Qlik Sense サーバーがスウェーデンに設定されてい場合、データ ロード エディターは、日付、時間、および通貨にスウェーデンの地域設定を使用します。これらの地域の書式設定は、Qlik Sense ユーザー インターフェースに表示される言語とは関係ありません。Qlik Sense は使用しているブラウザと同じ言語で表示されます。
例 1 – 変数 ロード スクリプトと結果 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
Transactions というテーブルにロードされるタイムスタンプによるトランザクションを含むデータセット。
既定の TimeStamp システム変数 (M/D/YYYY h:mm:ss[.fff] TT ) が使用されます。
購入がいつ発生するかを計算する、項目 second の作成。
ロード スクリプト
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
Transactions:
Load
*,
second(date) as second
;
Load
*
Inline
[
id,date,amount
9497,'01/05/2022 7:04:57 PM',47.25
9498,'01/03/2022 2:21:53 PM',51.75
9499,'01/03/2022 5:40:49 AM',73.53
9500,'01/04/2022 6:49:38 PM',15.35
9501,'01/01/2022 10:10:22 PM',31.43
9502,'01/05/2022 7:34:46 PM',13.24
9503,'01/06/2022 10:58:34 PM',74.34
9504,'01/06/2022 11:29:38 AM',50.00
9505,'01/02/2022 8:35:54 AM',36.34
9506,'01/06/2022 8:49:09 AM',74.23
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
結果テーブル 01/01/2022 10:10:22 PM 22 01/02/2022 8:35:54 AM 54 01/03/2022 5:40:49 AM 49 01/03/2022 2:21:53 PM 53 01/04/2022 6:49:38 PM 38 01/05/2022 7:04:57 PM 57 01/05/2022 7:34:46 PM 46 01/06/2022 8:49:09 AM 9 01/06/2022 11:29:38 AM 38 01/06/2022 10:58:34 PM 34
second 項目の値は、second() 関数を使用し、先行する LOAD ステートメントの数式として日付を渡すことによって作成されます。
例 2 – チャート オブジェクト ロード スクリプトとチャートの数式 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには、最初の例と同じデータセットとシナリオが含まれます。ただし、この例では、変更されていないデータセットがアプリケーションにロードされます。「second 」値は、チャート オブジェクトのメジャーを介して計算されます。
ロード スクリプト
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
Transactions:
Load
*
Inline
[
id,date,amount
9497,'01/05/2022 7:04:57 PM',47.25
9498,'01/03/2022 2:21:53 PM',51.75
9499,'01/03/2022 5:40:49 AM',73.53
9500,'01/04/2022 6:49:38 PM',15.35
9501,'01/01/2022 10:10:22 PM',31.43
9502,'01/05/2022 7:34:46 PM',13.24
9503,'01/06/2022 10:58:34 PM',74.34
9504,'01/06/2022 11:29:38 AM',50.00
9505,'01/02/2022 8:35:54 AM',36.34
9506,'01/06/2022 8:49:09 AM',74.23
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:date 。
次のメジャーを作成します:
=second(date)
結果テーブル 01/01/2022 10:10:22 PM 22 01/02/2022 8:35:54 AM 54 01/03/2022 5:40:49 AM 49 01/03/2022 2:21:53 PM 53 01/04/2022 6:49:38 PM 38 01/05/2022 7:04:57 PM 57 01/05/2022 7:34:46 PM 46 01/06/2022 8:49:09 AM 9 01/06/2022 11:29:38 AM 38 01/06/2022 10:58:34 PM 34
second の値は、second() 関数を使用し、チャート オブジェクトのメジャーの数式とて日付を渡すことによって作成されます。
例 3 – シナリオ ロード スクリプトとチャートの数式 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
このシナリオでは、チケットが 10000 枚あり、2021 年 5 月 20 日 9:00 AM に発売されました。1 分後には売り切れました。
ユーザーは、ウェブサイトへの訪問数を秒単位で表示するチャート オブジェクトを求めています。
ロード スクリプト
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
tmpTimeStampCreator:
load
makedate(2022,05,20) as date
AutoGenerate 1;
join load
maketime(9+floor(rand()*2),0,floor(rand()*59)) as time
autogenerate 10000;
Web_Traffic:
load
recno() as id,
timestamp(date + time) as timestamp
resident tmpTimeStampCreator;
drop table tmpTimeStampCreator;
結果
次の手順を実行します。
データをロードしてシートを開きます。新しいテーブルを作成します。
次に、次の数式を使用して計算軸を作成します。
=second(timestamp)
集計メジャーを作成して、エントリーの合計数を計算します。
=count(id)
結果テーブルは下記のようになりますが、集計メジャーの値は異なります。
結果テーブル 0 150 1 184 2 163 3 178 4 179 5 158 6 177 7 169 8 149 9 186 10 169 11 179 12 186 13 182 14 180 15 153 16 191 17 203 18 158 19 159 20 163 + 39 行