メイン コンテンツをスキップする 補完的コンテンツへスキップ

Qlik script プロセッサー

Qlik スクリプトを使用して入力を作成または変換します。

Qlik script プロセッサーを使用すると、テキスト エディターで Qlik スクリプトを直接入力してデータを準備したり、入力として使用するときにデータをロードしたりできます。上級のユーザーを対象としており、テーブルを操作するときに特定の操作を手動でコーディングすることを好む場合は、Qlik 構文全体を活用できます。

使用方法

  • データ フローで Script プロセッサーを使用するには、エディターで追加するコードが、受信データのスキーマおよびこの時点までに実行された準備アクションと一致している必要があります。また、スクリプトは次の特定のルールに従う必要があります。

    • 入力フローから取得したテーブルを使用するには、スクリプトに resident ステートメントが含まれている必要があります。

      resident tablename

      詳細については、「ロード」を参照してください。

    • NoConcatenate ステートメントを含める必要があります。

      NoConcatenate LOAD A,B

      詳細については、「NoConcatenate」を参照してください。

    • 実行する特定の操作のスクリプトを追加した後、最後に drop table ステートメントを追加して、受信テーブルを削除し、生成された出力のみを保持する必要があります。

      drop table  tablename

      詳細については、「テーブルのドロップ」を参照してください。

  • プロセッサーを入力ノードとして使用する場合、最大 2 つの出力フローを使用して、2 つの異なるテーブルをロードできます。
  • プロセッサーを中間ノードとして使用する場合、複数の入力フローと最大 2 つの出力フローを持つことができます。
  • データ フローでは最大 50 個の Qlik スクリプト プロセッサーを使用できます。
警告メモデータ フローでエラーが発生しないように、スクリプト プロセッサーによって生成されるテーブル名が一意であり、フロー内の他のプロセッサーによって生成されるテーブルと異なることを確認してください。

プロパティ

構成
プロパティ 構成
スクリプト

次のプレースホルダーと必要なステートメントを含む Qlik スクリプトをテキスト エディターに入力します。

MyTable:
NoConcatenate Load *
Resident [name of input table];
Drop Table [name of input table];

入力テーブルの名前はスクリプト エディターの上部に表示されます。 これらはプロセッサーに接続された入力に対応しています。テーブル名をクリックすると、スクリプトに直接挿入されます。

プロセッサーの名前を変更したり、その説明を変更したりするには、[プロパティ] パネルで変更する名前または説明にマウスを合わせ、[編集 編集] アイコンをクリックします。

スクリプト エディターの使用

構成パネルの [エディターを開く] ボタンをクリックすると、Qlik スクリプトの作成を支援する高機能な [スクリプト エディター] が開きます。テーブル、項目名、関数の簡単な挿入、ドキュメントの参照、他の .qvf ファイルからのスクリプト挿入、式の妥当性の確認などを実行できます。

Qlik スクリプトを記述するためのスクリプト エディターの使用

左側のパネルでは、データ フローに現在ロードされているテーブルと項目を表示し、さまざまな Qlik スクリプト関数を参照できます。このパネルは、次の 3 つのタブで構成されています。

  • テーブル: フローにロードされているテーブルが一覧表示されます。いずれかのテーブル名の上にマウスを置き、+ をクリックしてスクリプトに直接挿入します。

  • 項目: フローのこの時点で使用可能な項目がリストされます。いずれかの項目名の上にマウスを置き、+ をクリックして数式に直接挿入します。

  • 関数: Qlik の関数を参照できます。 検索フィールドを使用して特定の関数を検索することや、 [関数カテゴリ] のドロップダウンを使用して関数をフィルタリングすることができます。

    いずれかの関数の上にマウスを置き、+ をクリックして数式に直接挿入します。

  • [解説ガイド] のトグルを選択すると、関数をクリックしたときに短い説明とドキュメントへのリンクが表示されます。

上部のパネルでは、スクリプトの作成時に役立つガイドとなる 3 つのツールを有効または無効にしたり、ショートカットを使用して他のファイルからスクリプトを挿入したり、間違いを修正するための元に戻すボタンとやり直しボタンを使用したりできます。

  • 検索と置換: 特定の値を自動的に検索し、必要に応じて置き換えます。

    数式エディターでの検索と置換の機能

  • ヘルプ モード: スクリプト内に記述した関数を、クリックした時にドキュメントにアクセスできるリンクに変換します。

    スクリプト エディターでヘルプ モードをアクティブ化する

  • オートコンプリート: 入力時に、関数の短い説明と例を含む候補を表示します。

    オートコンプリートを使用してスクリプト関数を記述する

  • スクリプトを含める: カタログを開き、挿入する前に .qvf ファイルとして使用できるスクリプトを参照します。

    qvf ファイルからスクリプトを挿入する

下のパネルには、不正な項目名や無効な数式など、スクリプトの潜在的なエラーが表示されます。

スクリプトのエラーを示す検証ツール

ステータス パネルに緑色の [Ok] が表示されたら、数式は有効です。[確認] をクリックして、この数式を Qlik スクリプト プロセッサーに使用し、データ フロー エディターに戻ります。その後、プロセッサー構成を検証できます。

  • 同じスキーマを持つ複数のテーブルを、フローの 1 つの入力にロードします。この例では、カタログから同じ項目を持ちながら、内容が異なる 2 つの .txt ファイルを使用します。さらに、この数式はどのデータがどのテーブルから取得されるかを追跡するための項目を追加し、ID 番号として整数を生成します。

    [MyTable_1]:
    LOAD
    'table1' as source_table,
    [firstname],
    [lastname],
    [nationality]
    FROM [lib://DataFiles/MyTable_1.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq);
    
    [MyTable_2]:
    CONCATENATE (MyTable_1)
    LOAD
    'table2' as source_table,
    [firstname],
    [lastname],
    [nationality]
    FROM [lib://DataFiles/MyTable_2.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq);
    
    [NewTable]:
    LOAD
    recno() as id,
    * RESIDENT MyTable_1;
    
    drop table MyTable_1;

    詳細については、「連結」を参照してください。

  • フローへの入力として編集可能なデータを含むインライン テーブルを作成します。

    MyTable:
    Load * Inline [
    Country, Year, Sales
    Argentina, 2014, 66295.03
    Argentina, 2015, 140037.89
    Austria, 2014, 54166.09
    Austria, 205,182739.87
    ];
    

    詳細については、「インライン ロードを使用したデータのロード」 を参照してください。

  • スクリプト式のその他の例については、「一般的なステートメント」および「スクリプトおよびチャート関数」を参照してください。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。