CData Excel 関数
このセクションでは、CData Excel 関数について説明します。関数 は、さまざまな操作やデータ分析をより速く実行するためのプリセットされた数式です。すべての操作は、テーブル内のデータに関連しています。つまり、行のクエリ、追加、更新、または削除を行うものですが、これらの関数を使用してストアドプロシージャを実行することもできます。
関数は、引数またはパラメータと呼ばれる指定された値に基づいて、特定の計算を特定の順序で実行します。関数パラメータは、特定のセルを参照できます。これらのセル値が変更されると、アドインは自動的に結果をリフレッシュします。
Excel 関数はExcel ファイル内に格納されるため、動的スプレッドシートを他の人と簡単に共有できます。また、計算式の手入力の手間を省くことができます。タスクを効率的に実行し、時間を節約できます。
サンプル
このセクションの例は、データ行がスプレッドシート上のどこにでも存在できるため、さまざまな範囲のデータに基づいています。
J | K | L | |
14 | Id | Username | |
15 | MyId1 | Ana Trujilo | [email protected] |
16 | MyId2 | ... | ... |
17 | MyId3 | ... | ... |
CDATAQUERY
=CDATAQUERY(Query, [Connection], [Parameters], [ResultLocation], [Options])この式はSELECT、INSERT、UPDATE、またはDELETE ステートメントを実行するか、ストアドプロシージャを呼び出します。デフォルトでは、この式が入力されたセルには、返された行数または変更された行数が表示され、それ以降の行に結果が表示されます。
Query | Query 引数は、このクエリを含む文字列です。次に例を示します。 SELECT * FROM NorthwindODataパラメータ化されたクエリを実行するには、標準の構文を使用します。 SELECT Email, Username FROM NorthwindOData WHERE Email = @Email AND Username = @Username 本製品 は範囲からパラメータを読み出します。Parameters プロパティで範囲を指定します。 |
Connection | 接続を定義する文字列で、CData リボン(接続の管理 を参照)から作成した接続プロファイル、または接続文字列のいずれかです。接続文字列にはProvider プロパティを含める必要があります。次に例を示します。 Provider=XML;DataModel=Relational;URI=C:\people.xml
[データ選択]ウィザードを使用してスプレッドシートにデータをプルした場合、Connection 引数はオプションです。デフォルトでこの接続が使用されます。 |
Parameters | Parameters 引数は、クエリのパラメータの名前と値を含むセルの範囲を指定します。範囲の最初の行はヘッダー行で、パラメータ名を指定します。
例えば、範囲A10:B11 にパラメータが含まれる場合、セルA10:B10 にはパラメータ名が含まれ、セルA11:B11 にはパラメータ値が含まれます。 |
ResultLocation | 行単位での結果の出力が開始されるセルを指定する文字列です。デフォルトでは、CDATAQUERY は式が入力されたセルの真下に結果を出力します。 |
Options | 式の動作を制御する追加オプションを含む文字列。デフォルトの動作では、最初の行にカラムヘッダーが含まれるテーブルでデータを返します。"Header=False" は、ヘッダーなしでデータを返すように設定できます。"Scalar=True" は、データの単一のセルのみを返し、式と同じセルに返すように設定できます。 |
次の式はXML を検索し、その結果をセルJ14以降に出力します。
=CDATAQUERY("SELECT Email, Username FROM NorthwindOData WHERE Email = '[email protected]'","XML.Connection1",,"J14")
次の式は、XML から単一のEmail のUsername のみを選択し、結果を式のセルに出力します。
=CDATAQUERY("SELECT Username FROM NorthwindOData WHERE Email = '"&J15&"'","XML.Connection1",,,"Scalar=True")
CDATAINSERT
=CDATAINSERT(Data, [Table], [Connection], [ColumnHeaders])指定された行を指定されたテーブルに挿入します。
Data | Data 引数は、挿入する行の範囲をJ15:L15 などで指定します。ColumnHeaders 引数でカラムヘッダーが指定されていない限り、最初の行にはカラムヘッダーを含む必要があります。ColumnHeaders を設定した場合は、Data 引数にはカラム値のみを設定します。 |
Connection | 接続を定義する文字列で、CData リボン(接続の管理 を参照)から作成した接続プロファイル、または接続文字列のいずれかです。接続文字列にはProvider プロパティを含める必要があります。次に例を示します。 Provider=XML;DataModel=Relational;URI=C:\people.xml).
[データ選択]ウィザードを使用してスプレッドシートにデータをプルした場合、Connection 引数はオプションです。デフォルトでこの接続が使用されます。 |
Table | Table 引数は、データの挿入先のテーブルを指定する文字列です。[データ選択]ウィザードを使用してスプレッドシートにデータをプルした場合、この引数はオプションです。デフォルトでこのテーブルが使用されます。 |
ColumnHeaders | ColumnHeaders 引数は、カラムヘッダーが含まれるセルの範囲を指定します。ColumnHeaders 引数は、データの最初の行にカラムヘッダーがない場合にのみ指定する必要があります。また、ColumnHeaders 引数を使用してデータテーブルの向きを指定することもできます。カラムヘッダーを垂直に配置(B20:B30 など)すると、各カラムは選択されたテーブルに行として挿入されます。 |
次の式はNorthwindOData テーブルに3行挿入します。 この挿入により、各行に新しいId が割り当てられます。Id 値をリフレッシュするには、CDATAQUERY 関数を使用します。
=CDATAINSERT(K35:Q40,"NorthwindOData","XML.Connection1",A1:G1)
CDATAUPDATE
=CDATAUPDATE(Data, [Table], [Connection], [ColumnHeaders])指定された行を更新します。
Data | 更新する行の範囲をJ15:L15 などで指定します。ColumnHeaders 引数でカラムヘッダーが指定されていない限り、最初の行にはカラムヘッダーを含む必要があります。ColumnHeaders を設定した場合は、Data 引数にはカラム値のみを設定します。 |
Connection | 接続を定義する文字列で、CData リボン(接続の管理 を参照)から作成した接続プロファイル、または接続文字列のいずれかです。接続文字列にはProvider プロパティを含める必要があります。次に例を示します。 Provider=XML;DataModel=Relational;URI=C:\people.xml。
[データ選択]ウィザードを使用してスプレッドシートにデータをプルした場合、Connection 引数はオプションです。デフォルトでこの接続が使用されます。 |
Table | Table 引数は、更新するテーブルを指定する文字列です。[データ選択]ウィザードを使用してスプレッドシートにデータをプルした場合、この引数はオプションです。デフォルトでこのテーブルが使用されます。 |
ColumnHeaders | ColumnHeaders 引数は、カラムヘッダーが含まれるセルの範囲を指定します。ColumnHeaders 引数は、指定されたデータの最初の行にカラムヘッダーがない場合にのみ定義する必要があります。また、ColumnHeaders 引数を使用してデータテーブルの向きを指定することもできます。カラムヘッダーを垂直に配置(B20:B30 など)すると、各カラムは選択されたテーブルで行として更新されます。 |
次の式はシートの行15内のレコードを更新します。
=CDATAUPDATE(A15:K15,"NorthwindOData","XML.Connection1",J1:L1)
CDATADELETE
=CDATADELETE(Data, [Table], [Connection], [ColumnHeaders])指定された行を削除します。
Data | Data 引数は、削除する行の範囲をJ15:L15 などで指定します。ColumnHeaders 引数でカラムヘッダーが指定されていない限り、最初の行にはカラムヘッダーを含む必要があります。ColumnHeaders を指定した場合は、範囲には削除する値のみを指定します。 |
Connection | 接続を定義する文字列で、CData リボン(接続の管理 を参照)から作成した接続プロファイル、または接続文字列のいずれかです。接続文字列にはProvider プロパティを含める必要があります。次に例を示します。 Provider=XML;DataModel=Relational;URI=C:\people.xml。
[データ選択]ウィザードを使用してスプレッドシートにデータをプルした場合、Connection 引数はオプションです。デフォルトでこの接続が使用されます。 |
Table | Table 引数は、レコードを削除するテーブルを指定する文字列です。[データ選択]ウィザードを使用してスプレッドシートにデータをプルした場合、この引数はオプションです。デフォルトでこのテーブルが使用されます。 |
ColumnHeaders | ColumnHeaders 引数は、カラムヘッダーが含まれるセルの範囲を指定します。ColumnHeaders 引数は、指定されたデータの最初の行にカラムヘッダーがない場合にのみ指定する必要があります。また、ColumnHeaders 引数を使用してデータテーブルの向きを指定することもできます。カラムヘッダーを垂直に配置(B20:B30 など)すると、各カラムは選択されたテーブルで行として更新されます。 |
次の式はシートの行14内のレコードを削除します。
=CDATADELETE(A15:K15,"NorthwindOData","XML.Connection1",A1:K1)