フィルター

フィルターを使用するとデータを絞り込めます。タスク、レポート、オブジェクトおよびユーザーにフィルターを追加できます。動的フィルター、静的フィルターのどちらにも設定できます。

アプリ内でタスク、レポート、オブジェクト、またはユーザーに適用できるフィルター数に制限はありません。ただしオブジェクト フィルターは、単一のオブジェクトにつき 1 つしか適用できません。フィルターは例えば次のように使用できます。

  • タスク: 公開タスクを現在の四半期からの共有データだけにフィルターします。
  • レポート: 上位 5 人の売り手に関連した情報を表示するようにレポートをフィルターします。
  • オブジェクト: 食品の売上を詳しく示す円グラフを、果物の売上のみを表示するようにフィルターします。
  • ユーザー: 地理的な位置に関するデータのみが表示されるよう、ユーザー グループにフィルターを適用する。

静的フィルターを使用すると、QlikView または Qlik Sense フィールドから値のリストを選択できます。値を変更するにはフィルターを手動で編集する必要があります。

動的フィルターでは QlikView または Qlik Sense の数式が用いられます。数式では QlikView または Qlik Sense ルールおよび構文を使用し、1 つの値を返します。数式は評価され、結果をもとにデータが絞られます。動的フィルターを変更して新しい値を取得する必要はありません。

フィルター ルール

Qlik NPrinting でのフィルター ルールは、限られたオプションで予想可能な動作を提供できるようデザインされています。レポート作成において異なるエンティティに複数のフィルターを適用した場合には:

  • フィルターは、タスク、ユーザー、レポート、オブジェクトの順で評価されます。
  • フィルター処理した場合、過去の選択が上書きされるとは限りません。厳密な序列はありません。

単一フィルター アプリケーションの場合の評価フロー:

  1. [値の上書き] を選択してすべてのフィールドの選択項目をクリアします。
  2. 数式の各フィールドに対して値を評価します。
  3. 値に基づいて選択項目をすべてのフィールドに適用します。

フィルターは各レポート生成の前に確認されます。タスク、ユーザー、レポートのフィルターはドキュメントのデータと照合されます。フィルターが無効である場合、フィルターを [タスクの実行] ページに適用できないことを告げるエラーjメッセージが表示されます。これはレポート条件の計算の前、およびレポート生成の前に起こります。

フィルターの適用順:

  1. すべてのタスク フィルターは並べ替え順に従って一度に適用されます。
  2. すべてのユーザー フィルターは並べ替え順に従って一度に適用されます。
  3. すべてのレポート フィルターは並べ替え順に従って一度に適用されます。
  4. すべてのオブジェクト フィルターは並べ替え順に従って一度に適用されます。

ルール

  • 静的な値を管理するため、最初に数式を評価します。
  • 各フィルターは順に (タスク -> ユーザー -> レポート -> オブジェクト) 分析されます。
  • 異なるレベルのフィルター フィールドの値が交差します。
  • 交差によって空の結果が返された場合、フィルター チェーンは無効になります。
  • フィルター結果のアプリケーションが不可能な選択の場合、特定のエラーが返されます。
  • これらの動作を変更できるフラグが 1 つあります。[値の上書き] です。このフラグはフィルターの特定のフィールドに関連しており、チェーンの特定のレベルにある特定のフィールドの選択項目をクリアできます。また、代わりに他の値を追加することもできます。

フィルター適用後の結果の例

次の例は、同じフィールドの異なる値の特定のエンティティにフィルターを割り当て、[値の上書き] を選択または選択解除した状態を示します。

  • タスク フィルター: Country = ItalySpain
  • ユーザー フィルター: -
  • レポート フィルター: Country = ItalyGermany
  • フィルター適用後の結果: Country = Italy

 

  • タスク フィルター: Country = ItalySpain
  • ユーザー フィルター:値を上書き = Country をチェックする
  • レポート フィルター: Country = ItalyGermany
  • フィルター適用後の結果: Country = ItalyGermany

 

  • タスク フィルター: Country = ItalySpain
  • ユーザー フィルター: Country = ItalyGermany
  • レポートフィルター:値を上書き = Country をチェックする
  • ユーザー フィルター: Country = すべての国

 

  • タスク フィルター: Country = Italy
  • ユーザー フィルター: -
  • レポート フィルター: Country = Germany
  • 結果フィルター: 空

 

  • タスク フィルター: Country = Italy
  • ユーザー フィルター:値を上書き= Country で true
  • レポート フィルター: Country = Germany
  • 結果フィルター: Germany

値の選択

[] ドロップダウン メニューには、以下の選択肢があります。

  • [値は]: 文字列を選択する場合はこのオプションを使用します。たとえば、Country フィールドで USA を選択します。
  • [数値 は]: QlikViewQlik Sense では、すべてのフィールド値は潜在的に dual 値です。フィールド値には数値とテキスト値の両方を使用できます。例として、日付では数値が 40908、テキスト表記が「2011-12-31」となります。数値を選択する場合はこのオプションを選択します。
  • [値の評価]: 評価が必要な数式を挿入する場合はこのオプションを選択します。1 つの値が返されます。

右側に [完全キャッシュ] 通知が表示された場合、Qlik NPrinting キャッシュにはフィールドのすべての値が含まれることを示します。つまり、[] ダイアログ ボックスに入力し始めると、Qlik NPrinting は入力した文字列と一致するすべての値を検索します。

個別の値が大量にある場合、Qlik NPrinting キャッシュは QlikView フィールドからのすべての値を保存するわけではありません。この場合、[完全キャッシュ] の緑のラベルは表示されません。代わりに、値のフィールドの右側に [検索] ボタンが表示されます。検索対象の文字列あるいはその一部を入力します。[検索] をクリックし、Qlik NPrinting に対し、接続されている QlikView ドキュメント内の文字列の検索を強制します。

Qlik NPrinting キャッシュは各 QlikView フィールドから最初の 1,000 個の値のみを保存します。個別の値が大量にある場合は、フィルターする値全体を手動で挿入する必要があります。

静的フィルターの作成

以下を実行します。

  1. Qlik NPrinting メイン メニューで [アプリ] を選択してから、[フィルター] を選択します。
  2. [フィルターの作成] をクリックします。
  3. フィルターの [名前] を入力します。
  4. [アプリ] ドロップダウン リストからアプリを選択します。
  5. [作成] をクリックしてレポートを作成します。

フィールドの追加

以下を実行します。

  1. フィルター メニューで [フィールド] をクリックします。
  2. [フィールドの追加] をクリックします。
  3. [接続] から該当の接続を選択します。
  4. [名前] の下でフィールド名を選択します。

  5. [値の上書き]: このチェック ボックスを選択すると、同じフィールドの他のフィルターによって適用されるすべての選択項目が削除され、現在のフィルターで設定されたフィールドの値に置き換えられます。[値の上書き] が選択されていない場合 (既定の設定)、選択したフィールドに適用された異なるフィルターのフィールド値が交差すると新しいフィルターが作成されます。

    注: そのフィールドに対して空の値を使用したフィルターを作成し、[値の上書き] チェック ボックスを選択することで、フィールド上のすべての選択項目をクリアできます。

フィールドに値を追加する

以下を実行します。

  1. [] エリアに [] を残します。このオプションを選択すると、指定した値のリストを選択するよう Qlik NPrinting を強制します。
  2. ダイアログ ウィンドウに該当の値を入力し始めます。
  3. 表示されたら該当の値を選択します。
  4. 二番目の値を追加したい場合は、[値の追加] をクリックします。

    新しい空の行が表示されます。

  5. 新しいダイアログ ウィンドウに二番目の値を入力し始めます。
  6. 表示されたら該当の値を選択します。
  7. [作成] をクリックします。

数式を使用して動的なフィルターを作成する

QlikViewQlik Sense の数式を用いてフィルターに使用する値を計算することができます。各数式は、1 つの値を返し、QlikView または Qlik Sense の構文を使用する必要があります。たとえば、去年の値を計算し、フィルターの [] フィールドの値と比較する数式を作成します。

以下を実行します。

  1. 上述のように新規の フィルター を作成します。
  2. [] エリアを下にスクロールします。
  3. ドロップダウン リストから [値の評価] を選択します。

    このオプションを使用すると、ダイアログ ボックスで挿入した数式が Qlik NPrinting から強制的に QlikViewQlik Sense に送信され、そこで結果が評価されて返されます。これをフィルターで使用します。

  4. [] ボックスに数式を入力します。

    たとえば、去年の値を取得するには、「=Year(now())-1」と入力します。

    別の数式を追加するには [値の追加] をクリックします。同じフィールドに複数の値を追加すると、論理的な "or" 関連付けが作成されます。フィルターは 1 つまたは両方の値と一致するデータを保持します。

  5. [作成] をクリックします。

新規レポートへのフィルター追加

注: フィルターをレポート、タスク、オブジェクト、またはユーザーに追加する前に、フィルターを作成する必要があります。別のエンティティ内で新しいフィルターを作成することはできません。

以下を実行します。

  1. 新規レポートを作成します。
  2. メイン メニューで [フィルター] をクリックします。
  3. 目的のフィルターを [利用可能なアイテム] から選択します。
  4. [ë] をクリックし、フィルターを [選択されたアイテム] 列に移します。
  5. [フィルターの追加] をクリックします。

オブジェクトへのフィルターの適用

特定のテーブルまたは画像をフィルターする場合、オブジェクト フィルターが便利です。たとえば、フィルターのないレポートがあり、昨年の売上のみを表示するテーブルを追加する場合は、オブジェクト フィルターを適用するとよいでしょう。

オブジェクトは単一のフィルターのみ持てます。単独のオブジェクトに複雑なフィルターを加える必要がある場合、レポートのテンプレートを編集する前に固有のフィルターを作成しなければなりません。

以下を実行します。

  1. [レポート] 画面で該当のレポートをクリックします。
  2. [テンプレートの編集] ボタンをクリックして Qlik NPrinting Designer テンプレート エディターを開きます。
  3. 左側のパネルでフィルターするオブジェクトのタイプを右クリックし、[Add objects] (オブジェクトの追加) を選択します。

    テーブルおよび画像をフィルターできます。

  4. 新しいウィンドウが開きます。フィルターするオブジェクトを選択し、[OK] をクリックします。
  5. 新しいオブジェクトをドラッグして左パネルからレポート テンプレートに移します。
  6. [プロパティ] パネルで、[フィルター] に移動し、¥ をクリックします。
  7. 新しいウィンドウが開きます。使用するフィルターを選択し、[OK] をクリックします。
    注: 誤って違うフィルターを選んだ場合には、[¥] アイコンの横にある消しゴムのアイコンをクリックすればオブジェクトからすべてのフィルターを削除できます。
  8. [プレビュー] をクリックします。

    レポート オブジェクトには、フィルターに関連した情報のみが表示されます。

ユーザーに関連付けられたオブジェクト フィルターのインポート

性能上の理由から、ユーザーに関連付けられたオブジェクト フィルターは Qlik NPrinting Designer には自動的に含まれていません。何千ものユーザーに関連付けられたフィルターのすべてをインポートするには長い時間がかかり、Qlik NPrinting がストールする可能性もあります。

この動作は webengine.config ファイルを編集することで変更できます。

以下を実行します。

  1. webengine.config ファイルを開きます。
  2. <!-<add key="include-user-filters" />-> のコメントを解除します。
  3. Qlik NPrinting Designer を一旦閉じてから開きます。
  4. これでこれらのフィルターは、リポジトリに保存されたすべてのフィルターをアップロードするようになりました。

    保存されているフィルター数によって、これには非常に長い時間がかかる可能性があります。

webengine.config ファイルを編集したくない場合、特定のユーザー フィルターを手動でインポートすることができます。その方法は 2 つあります:

  • フィルターの関連付けをすべてのユーザーから削除する。
  • フィールドおよび値が同じで、いかなるユーザーにもリンクされていない、新しいフィルターを作成する。

レポート動作の設定

チャートやテーブルのオブジェクト フィルター エラーをレポートでどう処理するかを、テンプレートで設定することができます。レポートを開き、[エラーの処理] まで下向きにスクロールして次の 2 つのオプションのいずれかを選択します:

  • レポートを生成する。無効なコンテンツの場合、プレースホルダーの画像が表示されます。

    無効なチャートの場合、プレースホルダーの画像が表示されます。その場合、灰色の背景に「Invalid selections」(無効な選択です) という黒いオーバーレイ テキストが表示されます。これらの画像は、レポート テンプレートの最大サイズ設定に従ってサイズ調整されます。無効なテーブルは空のテーブルに置き換えられます。この場合文字は表示されません。

  • レポートを生成しない。レポートは問題が解決されるまで生成されません。

    レポート全体の生成が失敗します。ユーザーはレポートを閲覧できません。

Qlik NPrinting April 2018 以降、プレースホルダー画像を追加するのが新規レポートの既定の動作になっています。Qlik NPrinting February 2018 以前のバージョンからより新しいバージョンに更新した場合、レポートでは、以前からの既存のレポート エラー動作が引き継がれます。

空のコンテンツの設定

プレースホルダーの画像として、空のコンテンツが表示されます。その場合、「Invalid selections」(無効な選択です) という黒いオーバーレイ テキストが表示されます。このオーバーレイ テキストは変更可能です。

以下を実行します。

  1. 設定ファイル scheduler.config を開きます。
  2. 「empty-content-text」(空のコンテンツ テキスト) を検索します。この行のコメントを解除し、値を編集します。
  3. Qlik NPrinting scheduler service を再起動します。

この変更は空のコンテンツのプレースホルダーすべてに適用されます。