ファイル システム アクセス制御
セキュリティ上の理由から、Qlik Sense の標準モードでは、データ ロード スクリプトまたは関数、変数に含まれるパスはサポートされていません。これは、ファイル システムが露呈されてしまうからです。
QlikView ではこうしたファイル システム パスがサポートされていますが、QlikView ロード スクリプトを再利用するために、標準モードを無効にして、レガシー モードを使用することができます。
ODBC および OLE DB データ接続ベースでファイルに接続する場合のセキュリティ面
ファイルベースのドライバを使用する ODBC および OLE DB データ接続では、接続文字列に、接続したデータ ファイルへのパスが表示されます。このパスは、接続の編集時にデータ選択ダイアログまたは特定の SQL クエリに表示されます。標準モードとレガシー モードの両方で起こります。
標準モードの制限
標準モードでは、使用できない/制限があるステートメントや変数、関数がいくつかあります。データ ロード スクリプトでサポートされていないステートメントを使用すると、ロード スクリプト実行時にエラーが生じる可能性があります。エラー メッセージは、スクリプト ログ ファイルで確認できます。サポートされていない変数と関数を使用しても、エラーメッセージやログファイルの入力は行われません。代わりに、関数は NULL を返します。
データ ロード スクリプトの編集中には、変数やステートメント、関数がサポートされていないことを通知するメッセージは表示されません。
システム変数
変数 | 標準モード | レガシー モード | 定義 |
---|---|---|---|
Floppy |
対応していません |
サポート対象 | 見つかった最初のフロッピー ドライブのドライブ文字を返します。通常は a: です。 |
CD |
対応していません |
サポート対象 | 見つかった最初の CD-ROM ドライブのドライブ文字を返します。CD- ROM が見つからない場合は、c: が返されます。 |
QvPath |
対応していません |
サポート対象 | Qlik Sense 実行可能ファイルへの参照文字列を返します。 |
QvRoot |
対応していません |
サポート対象 | Qlik Sense 実行可能ファイルのルート ディレクトリを返します。 |
QvWorkPath |
対応していません |
サポート対象 | 現在の Qlik Sense アプリへの参照文字列を返します。 |
QvWorkRoot |
対応していません |
サポート対象 | 現在の Qlik Sense アプリのルート ディレクトリを返します。 |
WinPath |
対応していません |
サポート対象 | Windows への参照文字列を返します。 |
WinRoot |
対応していません |
サポート対象 | Windows のルート ディレクトリを返します。 |
$(include=...) | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | Include/Must_Include 変数は、スクリプトにインクルードしてスクリプト コードとして評価する必要があるテキストが格納されたファイルを指定します。データの追加には使用されません。スクリプト コードの一部を別のテキスト ファイルに保存して、複数のアプリで再利用することができます。 これはユーザー定義変数です。 |
一般的なスクリプト ステートメント
ステートメント | 標準モード | レガシー モード | 定義 |
---|---|---|---|
Binary | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | 別のアプリからデータをロードするには、binary ステートメントが使用されます。 |
Connect | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | CONNECT ステートメントは、Qlik Sense が OLE DB/ODBC インターフェースから一般的なデータベースにアクセスする方法を定義する際に使用します。ODBC の場合、まず ODBC アドミニストレータを使用して、データ ソースを指定する必要があります。 |
Directory | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | Directoryステートメントは、新たなDirectoryステートメントが作成されるまで、後続のLOADステートメントのどのディレクトリでデータ ファイルを検索するか定義します。 |
Execute | 対応していません | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | Execute ステートメントはその他のプログラムの実行に使用しますが、Qlik Sense ではデータのロードを行います。例えば、必要な変換を行う場合などです。 |
LOAD from ... | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | LOAD ステートメントは、ファイル、スクリプトで定義されたデータ、事前にロードされたテーブル、Web ページ、後続の SELECT ステートメントの結果、または自動生成されたデータから項目をロードします。 |
Store into ... | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | Store ステートメントは、QVD、CSV、または text ファイルを作成します。 |
スクリプト制御ステートメント
ステートメント | 標準モード | レガシー モード | 定義 |
---|---|---|---|
For each... filelist mask/dirlist mask |
サポートされている入力: ライブラリ接続を使用したパス 返されたアウトプット: ライブラリ接続名 |
サポートされている入力: ライブラリ接続またはファイル システムを使用したパス 返されたアウトプット: ライブラリ接続またはファイル システム パス (入力に応じて) |
構文 filelist mask は、filelist mask に一致する現在のディレクトリ内にある、すべてのファイルのコンマ区切りリストを生成します。構文 dirlist mask は、ディレクトリ名のマスクに一致する現在のディレクトリ内にある、すべてのディレクトリのコンマ区切りリストを生成します。 |
ファイル関数
関数 | 標準モード | レガシー モード | 定義 |
---|---|---|---|
Attribute() | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | 異なるメディア ファイルのメタ タグの値をテキストとして返します。 |
ConnectString() | 返されたアウトプット: ライブラリ接続名 | ライブラリ接続名または実際の接続 (入力に応じて) | ODBC または OLE DB 接続のアクティブな接続文字列を返します。 |
FileDir() |
返されたアウトプット: ライブラリ接続名 |
返されたアウトプット: ライブラリ接続またはファイル システム パス (入力に応じて) | FileDir 関数は、現在読み取り中のテーブル ファイルのディレクトリ パスを文字列で返します。 |
FilePath() |
返されたアウトプット: ライブラリ接続名 |
返されたアウトプット: ライブラリ接続またはファイル システム パス (入力に応じて) | FilePath 関数は、現在読み取り中のテーブル ファイルのフル パスを文字列で返します。 |
FileSize() |
サポートされている入力: ライブラリ接続を使用したパス |
サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | FileSize 関数は、filename ファイル のサイズをバイト数で表した整数を返します。filename が指定されていない場合は、現在読み取り中のテーブル ファイルのサイズを返します。 |
FileTime() |
サポートされている入力: ライブラリ接続を使用したパス |
サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | FileTime 関数は、ファイル filename が最後に更新された日付と時刻のタイムスタンプを UTC で返します。filename が指定されていない場合、この関数は現在読み取り中のテーブル ファイルを参照します。 |
GetFolderPath() |
対応していません |
返されたアウトプット: 絶対パス |
GetFolderPath 関数は、Microsoft Windows SHGetFolderPath 関数の値を返します。この関数は、Microsoft Windows フォルダの名前を入力として返し、フォルダのフルパスを返します。 |
QvdCreateTime() | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | このスクリプト関数は、QVD ファイルに含まれた XML ヘッダーの日付と時刻を返します (ない場合は NULL を返します)。 タイムスタンプでは、時刻は UTC で提供されます。 |
QvdFieldName() | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | このスクリプト関数は、 QVDファイルの項目番号fieldnoの名前を返します。項目が存在しない場合は、NULLを返します。 |
QvdNoOfFields() | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | このスクリプト関数は、QVD ファイル内の項目数を返します。 |
QvdNoOfRecords() | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | このスクリプト関数は、QVD ファイル内に含まれるレコードの数を返します。 |
QvdTableName() | サポートされている入力: ライブラリ接続を使用したパス | サポートされている入力: ライブラリ接続またはファイル システムを使用したパス | このスクリプト関数は、QVD ファイルに保存されているテーブルの名前を返します。 |
システム関数
関数 | 標準モード | レガシー モード | 定義 |
---|---|---|---|
DocumentPath() |
対応していません |
返されたアウトプット: 絶対パス |
この関数は、現在の Qlik Sense アプリへの完全なパスを含む文字列を返します。 |
GetRegistryString()
|
対応していません |
サポート対象 | 指定されたレジストリの path にある指定されたレジストリの key の値を返します。この関数は、チャートとロードスクリプトで使用できます。 |