Forguncy 10 オンラインヘルプ
アプリの開発 / 外部連携と入出力 / レポート / / 共通の関数 / その他
このトピックで
    その他
    このトピックで

    Lookup

    指定したデータセットから、指定したフィールドの最初に一致する値を返します。

    構文

    Lookup(source, destination, result, dataset)

    引数

    例:

    次の式は、Productsデータセットがデータ連結されたTableデータ領域にCategoriesデータセットのカテゴリ名を表示します。

     
    
    {Lookup(categoryId, categoryId, categoryName, "Categories")}
    
    

    LookupSet

    1対多のリレーションシップが存在する場合、指定したデータセットから指定したフィールドの一致するすべての値を返します。複数の値が返る可能性があるため、戻り値は配列となります。

    構文

    LookupSet(source, destination, result, dataset)

    引数

    例:

    次の式を使用して、現在のスコープのTerritoryID値を持つすべてのストアを検索できます。

     
    
    {LookupSet(TerritoryID, TerritoryID, StoreName, "Stores")}
    
    

    Previous

    指定したスコープ内の前のデータ行の式の値を返します。

    構文

    Previous(expression, [scope])

    引数

    例:

    次の式を使用して、現在のスコープのSalesCountフィールドの前の値を返すことができます。

     
    
    {Previous(SalesCount)}
    
    

    RowNumber

    指定したスコープ内の実行中の行数を返します。

    構文

    RowNumber([scope])

    引数

    Join

    指定した区切り文字を使用して、配列の要素を結合した文字列を作成して返します。

    構文

    Join(sourcearray, [ delimiter ])

    引数

    例:

    次の式を使用して、現在のCategoryID値を持つカテゴリの製品リストを表示できます。

     
    
    {Join(LookupSet(CategoryId, CategoryId, ProductName, "Products"), ",")}
    
    

    Lookup関数の使用例 - 異なるデータセットから一致するデータを出力

    Lookup関数の一般的な使用目的は、関連のあるデータセットから値を取得して出力することです。これはデータソースを作成する時点でビューを使用して複数テーブルを結合する方法の代替手段となる場合があります。

    たとえば、「商品」と「カテゴリ」という名前のレポートデータソースをそれぞれ作成します。商品テーブルには「カテゴリID」フィールドが含まれており、このIDはカテゴリテーブルの「カテゴリID」と関連付けされているフィールドです。

    Tableデータ領域の[データセット]プロパティに設定されているのは商品テーブルのデータセットです。TextBoxコントールに次の式を入力します。

    {Lookup(カテゴリID, カテゴリID, カテゴリ, "カテゴリ_DataSet")}

    レポートのプレビューして確認すると、その商品に関連するカテゴリテーブルの「カテゴリ」フィールドの値が出力されることを確認できます。

    LookupSet関数の使用例 - 異なるデータセットから一致する複数のデータを出力

    LookupSet関数は、指定されたデータセットから一致する複数行の値を返すため、データセット間が1対多の関係を持っている場合に使用します。

    たとえば、「商品」と「カテゴリ」という名前のレポートデータソースをそれぞれ作成します。商品テーブルには「カテゴリID」フィールドが含まれており、このIDはカテゴリテーブルの「カテゴリID」と関連付けされているフィールドです。この場合、カテゴリテーブルから商品テーブルを見た場合、「カテゴリID」により1対多の関係を持っている状態です。

    Tableデータ領域の[データセット]プロパティに設定されているのはカテゴリテーブルのデータセットです。TextBoxコントールに次の式を入力します。

    {Join(Lookupset(カテゴリID, カテゴリID, 商品名, "商品_DataSet"), ",")}

    レポートをプレビューして確認すると、各商品カテゴリに含まれる商品名がコンマ区切りの文字列として出力されることを確認できます。配列からコンマ区切りの文字列への変換はJoin関数を使用しています。