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