ドル記号展開を使った set 修飾子
ドル記号展開は、数式が解析および評価される前に計算される構成です。次に、結果が $(…) の代わりに数式に挿入されます。数式の計算は、ドル展開の結果を使用して行われます。
数式エディタにはドル展開のプレビューが表示されるため、ドル記号展開が何に評価されるかを確認できます。
数式エディタでのドル記号展開プレビュー
要素セット内で計算を使用する場合は、ドル記号展開を使用します。
例えば、可能な最後の年のみを確認する場合は、次の構造を使用できます。
<Year = {$(=Max(Year))}>
Max(Year) が最初に計算され、結果が $(…) の代わりに数式に挿入されます。
ドル展開後の結果は、次のような数式になります。
<Year = {2021}>
ドル展開内の数式は、現在の選択条件に基づいて計算されます。これは、別の項目で選択した場合、数式の結果が影響を受けることを意味します。
計算を選択から独立させたい場合は、ドル展開内で set 分析を使用します。例:
<Year = {$(=Max({1} Year))}>
文字列
ドル展開で文字列を作成する場合は、通常の見積もりルールが適用されます。例:
<Country = {'$(=FirstSortedValue(Country,Date)'}>
ドル展開後の結果は、次のような数式になります。
<Country = {'New Zealand'}>
引用符を使用しない場合、構文エラーが発生します。
数値
ドル展開で数値を作成する場合は、展開が項目と同じ書式設定になるようにします。これは、数式を書式設定関数でラップする必要がある場合があることを意味します。
例:
<Amount = {$(=Num(Max(Amount), '###0.00'))}>
ドル展開後の結果は、次のような数式になります。
<Amount = {12362.00}>
ハッシュを使用して、展開で常に小数点を使用し、千単位の区切り文字を使用しないようにします。例:
<Amount = {$(#=Max(Amount))}>
日付
ドル展開で日付を作成する場合は、拡張の書式設定が正しいことを確認してください。これは、数式を書式設定関数でラップする必要がある場合があることを意味します。
例:
<Date = {'$(=Date(Max(Date)))'}>
ドル展開後の結果は、次のような数式になります。
<Date = {'12/31/2015'}>
文字列の場合と同様に、正しい引用符を使用する必要があります。
一般的な使用例は、計算を先月 (または年) に制限することです。次に、AddMonths() 関数と組み合わせて数値の検索を使用できます。
例:
<Date = {">=$(=AddMonths(Today(),-1))"}>
ドル展開後の結果は、次のような数式になります。
<Date = {">=9/31/2021"}>
これにより、先月発生したすべてのイベントが選択されます。
例: ドル記号展開を使用した set 修飾子のチャートの数式
ロード スクリプト
以下のデータをインライン データとしてデータロードエディタにロードして、以下のチャートの数式の例を作成します。
Let vToday = Today(); MyTable: Load Year(Date) as Year, Date#(Date,'YYYY-MM-DD') as ISO_Date, Date(Date#(Date,'YYYY-MM-DD'),'M/D/YYYY') as US_Date, Country, Product, Amount Inline [Date, Country, Product, Amount 2018-02-20, Canada, Washer, 6 2018-07-08, Germany, Anchor bolt, 10 2018-07-14, Germany, Anchor bolt, 3 2018-08-31, France, Nut, 2 2018-09-02, Czech Republic, Bolt, 1 2019-02-11, Czech Republic, Bolt, 3 2019-07-31, Czech Republic, Washer, 6 2020-03-13, France, Anchor bolt, 1 2020-07-12, Canada, Anchor bolt, 8 2021-10-15, France, Washer, 1];
インライン ロードの使用の詳細については、インライン ロード を参照してください。
ドル記号展開を使用したチャートの数式
次のチャートの数を使用して、Qlik Sense シートにテーブルを作成します。
テーブル - ドル記号展開を使った set 修飾子
国 |
Sum (Amount) |
Sum({<US_Date={'$(vToday)'}>} Amount) |
Sum({<ISO_Date={"$(=Date(Min(ISO_Date),'YYYY-MM-DD'))"}>} Amount) |
Sum({<US_Date={">=$(=AddYears(Max(US_Date),-1))"}>} Amount) |
合計 |
41 |
1 |
6 |
1 |
カナダ |
14 |
0 |
6 |
0 |
チェコ共和国 |
10 |
0 |
0 |
0 |
フランス |
4 |
1 |
0 |
1 |
ドイツ |
13 |
0 |
0 |
0 |
説明
-
軸:
-
数式:
-
Sum(Amount)
合計値set 数式なしの Amount。
-
Sum({<US_Date={'$(vToday)'}>}Amount)
US_Date が変数 vToday と同じであるすべてのレコードの場合は Sum Amount です。
-
Sum({<ISO_Date={"$(=Date(Min(ISO_Date),'YYYY-MM-DD'))"}>}Amount)
ISO_Date が最初の (最小の) 可能な ISO_Date と同じであるすべてのレコードの場合は Sum Amount です。日付の形式が項目の形式と一致するようにするには、Date() 関数が必要です。
-
Sum({<US_Date={">=$(=AddYears(Max(US_Date),-1))"}>}Amount)
最新の (最大の) 可能な US_Date の 1 年前または 1 年前の日付に US_Date があるすべてのレコードの場合は Sum Amount です。AddYears() 関数は、変数 DateFormat で指定された形式で日付を返します。これは、項目 US_Date の形式と一致する必要があります。
ドル記号展開を使った set 修飾子
数式の詳細については、「ビジュアライゼーションにおける数式の使用」を参照してください。