機械翻訳について

IsMatch

ワイルドカード検索 / パターン一致を実行して、文字列が指定されたパターンに一致するかどうかを確認します。 入力文字列は、メンバー名、別名、属性値または任意の関連文字列です。 この関数は、指定されたパターンに一致する文字列を検索し、見つかったアーティファクトを返します。

構文

IsMatch(string, patternstring, {MATCH_CASE | IGNORE_CASE})

パラメータ

string

パターンに対してテストする文字列。

patternstring

検索するパターン。 POSIX拡張正規表現構文である必要があります。 The Open Groupの構文仕様を参照してください。

特殊文字に関するその他のルールについては、このトピックのノートを参照してください。

MATCH_CASE

オプション。 patternstringでは、大文字と小文字が区別されることを考慮してください。 MATCH_CASE / IGNORE_CASEを省略した場合、Essbaseでは、アウトライン・プロパティの大/小文字が区別される設定がデフォルトで使用されます。

IGNORE_CASE

オプション。 patternstringでは大/小文字を区別しないでください。 MATCH_CASE / IGNORE_CASEを省略した場合、Essbaseでは、アウトライン・プロパティの大/小文字が区別される設定がデフォルトで使用されます。

ノート

  • $を含むメンバー名を検索するには、patternstringで先頭に3つのバックスラッシュ(\)エスケープ文字を付ける必要があります。 たとえば、Marketでメンバーa$bcを検索するには、IsMatch(Market.CurrentMember.MEMBER_NAME, "a\\\$bc")を使用する必要があります。

  • 行末にある文字を検索するには、POSIX行末アンカーの前にドル記号($)を付け、patternstringではバックスラッシュ(\)エスケープ文字を付ける必要があります。 たとえば、Market内のcで終わるメンバー名を検索するには、IsMatch(Market.CurrentMember.MEMBER_NAME, "c\$")を使用する必要があります。

  • $以外の特殊文字を検索するには、patternstringでこれらの文字の前にバックスラッシュ(\)エスケープ文字を付ける必要があります。 たとえば、Marketでメンバーa?bcを検索するには、IsMatch(Market.CurrentMember.MEMBER_NAME, "a\\?bc")を使用する必要があります。

次の問合せは、名前が"new"で始まるメンバーを検索します:


SELECT
  Filter(Market.Levels(0).Members, 
   IsMatch(Market.CurrentMember.MEMBER_NAME, "^new")
  )
ON COLUMNS
FROM  Sample.Basic

次の問合せは、名前が少なくとも"n"で始まるメンバーを検索します:


SELECT
  Filter(Market.Levels(0).Members,
   ISMATCH(Market.CurrentMember.MEMBER_NAME, "^n+")
  ) 
ON COLUMNS
FROM  Sample.Basic

次の問合せは、名前に"*"が含まれるメンバーを検索します:


SELECT
  Filter(Year.Members,
   ISMATCH(Year.CurrentMember.MEMBER_NAME, "\\*")
  ) 
ON COLUMNS
FROM  Sample.Basic

次の問合せは、名前にゼロまたは"a"が含まれるメンバーを検索します:


SELECT
  Filter(Year.Members,
   ISMATCH(Year.CurrentMember.MEMBER_NAME, "a?")
  ) 
ON COLUMNS
FROM  Sample.Basic