概要
Yellowfin内のUI構成オプションに加えて、以下に概説されるように、SQLにより引き起こされる設定がいくつかあります。
グローバル言語の強制使用
Yellowfin インスタンスのグローバル言語を上書きすることができますが、これはプライマリーおよびクライアント含め、インスタンス内のすべての組織に適用されることに注意してください。これにより、Yellowfinは例外なく指定された言語に翻訳されます。こちらを実現するには、リポジトリデータベースに以下のSQLを追加します。
INSERT INTO Configuration VALUES (1, "SYSTEM", "OVERRIDE_LANGUAGE", "zh_CN");
上記の例で「“zh_CN”」は、強制したい言語のJava言語ロケールコードを表しています。
そして「1」は、プライマリー/デフォルト組織を表しています。これは、システム全体に適用される設定のため、特定のクライアント組織にのみ有効にすることができません。そのため、この値は常に「1」になります。
JS API詳細の非表示
HIDEJSAPIDETAILSをtrueに設定することで、JS APIの応答からJava バージョンやOS バージョンを非表示にすることができます。この場合は、serverInfo オブジェクトの次のコンポーネントです。
javaVersion, operatingSystem, opertatingSystemArch, operatingSystemVersion, releaseVersion, schemaVersion, subVersion, buildVersion
注意:ベースリソースとロードされたリソースの値は、JS APIの他の部分をロードするためにブラウザにより常に必要とされるため非表示になりません。
このオプションを使用するには、まずデータベース上でこちらのSQLを実行します(これは、システム全体に適用される設定なので、IP Orgは1に設定します)
INSERT INTO Configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) values(1, 'SYSTEM', 'HIDEJSPAPIDETAILS', 'true');
次に、Yellowfin インスタンスを再起動し、JS APIからコンテンツを組み込みます。それが何であるかは問題ではなく、JS APIをロードするだけです。これは、ベーシックスクリプトタグで実行することも可能です。
<script src="http://yourYfServer/JsAPI/v3"></script>
これが機能しているかをテストするには、ブラウザコンソールを開き、こちらを入力します。
yellowfin.serverInfo |
コンソールには、(ブラウザが必要とする)ベースリソースおよびロードされたリソースの値以外に、serverInfo オブジェクトの空のコンポーネントが表示されます。
キャッシュされたフィルターコンテキストを制限
このパラメーターを使用することで、フィルターの書式設定オプション「キャッシュされた値を読み込むときにレポートのフィルターを無視」および「参照するテーブル数を限定 」を強制的に有効化します(詳細については、こちらのディメンション(次元)フィルターのイベント設定表を参照してください)。
FALSEに設定すると(デフォルトです)、これら2つのオプションはユーザーインターフェースに表示され、ユーザーはオプションの有効、または無効を選択することができます。
TRUEに設定すると、これら2つのオプションは、すべてのデータソースのすべてのレポートのすべてのフィルターで強制的に有効化され、オプションはユーザーインターフェースに表示されません。この場合、ユーザーは設定を有効化する必要はありませんが、無効化する唯一の方法は、こちらの高度なシステム構成をTRUEからFALSEに変更することです。
INSERT INTO Configuration(1, 'SYSTEM', 'LIMITCACHEDFILTERCONTEXT', 'TRUE');
上記の例で「1」は、プライマリー/デフォルト組織を表しています。
オフライン時にデータソースが「利用不可」とフラグ付けされるのを防止
Yellowfinがデータソースを利用不可にフラグ付けすると、そのデータソースが個別にオンラインに戻ったとしても、Web サービスの呼び出しまたはYellowfinのシステム管理者が、管理コンソールからデータソースの一覧にアクセスし、オフラインとフラグ付けされたデータソースを探して、テスト接続ボタンをクリックすることで、手作業でこれをオンラインに戻さなくてはいけません。データソースが一時的にしかオフラインにならない状況では、手作業での操作を削減するために、データソースに利用不可のフラグが付けられないようにしたいでしょう。この場合、パラメーターを使用することで、フラグ付けを防止できます。
FALSEに設定すると (デフォルト)、データソースがオフラインであることが検出されると、利用不可のフラグが付けられ、オンラインに戻すには手作業での操作が必要になります。
TRUEに設定すると、一時的または永続的にオフラインになっているかに関わらず、データソースに利用不可のフラグが付けられることはありません。Yellowfinとは別に、各データソースを手作業で調査する必要があります。
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'NEVERMARKSOURCEUNAVAILABLE', 'true');
これはシステム全体の設定であり、特定のクライアント組織に対して有効にすることはできません。そのため、この値は常に1に設定する必要があります。
オラクルのスコープセレクター
このオプションは、Oracleデータソースからシノニムオブジェクトを取得する際に、Yellowfinが使用する範囲を狭めることができます。
このオプションを使用しない場合、Yellowfin は ALL_OBJECTS および ALL_SYNONYMS を取得します。
この構成オプションの値が「USER」の場合、YellowfinはUSER_OBJECTSとUSER_SYNONYMSを取得してパフォーマンスを向上させます。
INSERT INTO Configuration VALUES(1,'SYSTEM', 'ORCL_SCOPE','USER');
これはシステム全体の設定であり、特定のクライアント組織に対して有効にすることはできません。そのため、この値は常に1に設定する必要があります。
キャッシュされたフィルターにおける空またはnull値の使用許可
このパラメーターを使用することで、子フィルターの結果に空またはnull値が含まれる場合に保持される親フィルターの結果を取得します。
FALSEに設定すると(デフォルト)、キャッシュされたフィルターは空またはnull値を無視します。
TRUEに設定すると、キャッシュされたフィルターは空またはnull値を無視しません。
INSERT INTO Configuration values(1, 'SYSTEM', 'ALLOWNULLCACHEFILTERS', 'TRUE');
上記の例で「1」は、プライマリー/デフォルト組織を表しています。
URLタイトル取得の無効化
このパラメーターは、ディスカッション内でリンクを共有した場合に、YellowfinがURLのタイトルを取得するのを防ぎます。TRUEに設定した場合、ディスカッション内にはURLのみが表示されます。FALSE(または、デフォルト設定である省略)に設定すると、ディスカッション内にURLのタイトルが表示されます。
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'DISABLEURLTITLEFETCH', 'TRUE')
上記の例で「1」は、プライマリー/デフォルト組織を表しています。
エクスポート時のメモリの節約
低メモリエクスポート構成では、大規模なレポートをXLSX形式でエクスポートする際に、メモリの枯渇を防ぎます。この設定が有効な場合、システムはレポートを全体ではなく部分的に処理します。
この機能を有効にするには、以下のSQLコードを設定データベースに追加してください。
INSERT INTO Configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) values(<IP_org>, 'SYSTEM', 'REPORTLOWMEMORYEXPORT', 'ON');
<IP_org>の値は、プライマリ組織(1)またはクライアント組織のいずれかに設定することを忘れないでください。
ローメモリーエクスポートを表示するトグル
この設定は、レポートエクスポートダイアログボックスに、低メモリエクスポートのトグルを表示させ、各レポートのUIで機能を有効または無効にするオプションが提供されます。また、このトグルは、システム設定ページにも表示され、すべてのレポートエクスポートのデフォルト設定としてこの機能を有効または無効にすることができます。
このオプションを有効にすると、低メモリエクスポートを強制するグローバス設定「REPORTLOWMEMORYEXPORT」が無効になります。つまり、エクスポートは高速になりますが、メモリをより多く消費します。
TRUEに設定すると、TRUEに設定すると、レポートの書き出し設定ダイアログボックスに書き出しオプション「低メモリエクスポート」が表示されます。
この機能を有効にするには、以下のSQLコードを設定データベースに追加してください。
INSERT INTO Configuration VALUES (<IP_org>, 'SYSTEM', 'SHOWLOWMEMORYEXPORTOPTION', 'TRUE');
<IP_org>の値は、プライマリ組織(1)またはクライアント組織のいずれかに設定することを忘れないでください。
外部結合チェックの無効化
ビューの作成時に、データベースでのビューの結合を作成するときに、内部結合として処理されるように、外部結合を構成することができます。
使用するSQLコマンドは、以下の通りです。
INSERT INTO Configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) values(1, 'SYSTEM', 'DISABLEOUTERJOINCHECK', 'TRUE');
上記の例で「1」は、プライマリー/デフォルト組織を表しています。
レポートブロードキャスト時のメモリの節約
ブロードキャストレポートは、受信者のアクセスフィルターや言語、その他の要因を考慮して、複数の受信者それぞれに対して個別に実行されます。メモリ使用量やシステムパフォーマンスを節約するためには、以下のシステム構成を使用して、各受信者のレポートが生成されるとすぐに提供されるようにすることができます(すべての受信者のレポートが準備されるまで待ってから送信する必要がありません)。
警告:これにより、長期間にわたり受信者にメールが送信される場合があります。
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'BROADCASTSENDINLINE', 'TRUE');
上記の例で「1」は、プライマリー/デフォルト組織を表しています。
ブロードキャスト電子メールでのカーボンコピーの有効化
これは、ブロードキャスト電子メールでカーボンコピーオプションを有効化し、同じデータへのアクセス権を持つ複数のユーザーへメールがひとつだけ送信されます。これは、最初のユーザーにだけ送信され、残りの受信者にはカーボンコピーが送信されることになります。すべての受信者がお互いを確認できる点に注意してください。
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'COMBINEEMAILGROUPS', 'TRUE');
上記の例で「1」は、プライマリー/デフォルト組織を表しています。
フィルター適用されたクエリーのロウ(行)制限を無効化
Yellowfinは、フィルター値を含むクエリーから返されるロウ(行)数を制限しています。これは、すべてのデータベースクエリーに適用される制限と同様であり(例:フィルター適用がないとしても)、ビュービルダー内やレポートレベルで構成可能です。しかし、フィルター適用されたクエリーへの制限は解除することが可能であり、これによりYellowfinは、一致するロウ(行)すべてを返すことができるようになります。こちらを適用するには、リポジトリデータベースに以下のSQLを追加します。
警告:制限を無効化する際には十分に注意をしてください。フィルター適用されたクエリーが膨大な量の値を返す場合、システムがハングアップする原因になる可能性があります。
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'DISABLEFILTERPROMPTLIMIT', 'TRUE');
履歴スケジュールレコードの制限を変更
実行履歴をトラッキングするスケジュールタスクは、過去30日分のレコードを保持します。この制限を変更するには、次の設定を使用します。
INSERT INTO Configuration VALUES (1, "SYSTEM", "HISTORICSCHEDULERECORDSLIMITDAYS", "60");
上記の例で「1」は組織IDで、「60」はトラッキングの日数を表します。
計算フィールドの検証を無効化
計算フィールドは、結果となるフィールドのデータ型を決定するために、データベースに保存される前に検証されます。しかし、(フリーハンドSQLで作成されたものを含め)すべての計算フィールドで、この検証を無効化することができます。
以下のSQLを使用します。
INSERT INTO Configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) values(1, 'SYSTEM', 'VALIDATECALCONSAVE', ‘FALSE’);
上記の例で、ConfigData = TRUEの場合、検証は有効化され、ConfigData = FALSEの場合は無効化されます。
RC4 128 PDF暗号化の使用を強制
こちらをTRUEに設定すると、YellowfinはPDFの暗号化において、デフォルト設定のAES 256ビット暗号化ではなく、RC4 128ビット暗号化を使用します。
以下のSQLを使用します。
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'USELEGACYPDFENCRYPTION', 'TRUE');
上記の例で「1」は、プライマリー/デフォルト組織を表しています。
ログイン失敗イベントをログに記録
FALSEに設定すると(デフォルトです)、有効なユーザー名を通して試行されたログイン失敗のみが、システムログファイルに記録されます。
TRUEに設定すると、ユーザー名が有効であるかに関わらず、Yellowfinに対して試行されたすべてのログイン失敗が記録され、ログアクティビティの監査にさらなる正確性を提供します。
こちらを実行するには、以下のSQLを使用します。
INSERT INTO Configuration VALUES (1,'SYSTEM', 'LOGFAILEDLOGINEVENTDETAILSENABLED','TRUE')
上記の例で「1」は、プライマリー/デフォルト組織を表しています。
ブロードキャストファイル名テンプレート
この設定は、電子メールのブロードキャスト、FTPスケジュール、ディスクへの保存スケジュールで使用するファイル名のテンプレートとして使用できます。設定すると、Yellowfinインスタンスのすべてのブロードキャストに適用されます。 この設定は、Append Broadcast DateおよびAppend Broadcast Timeオプションよりも優先されるため、この設定を行うと、ブロードキャスト設定ダイアログボックスにそれぞれのチェックボックスが表示されなくなります。
設定に保存されてた値は、ブロードキャストのプロセスによって入力されたレポート名と日付のプレースホルダーを含めることができます。
- ファイル名
{filename}のプレースホルダーは、レポート名のEメールブロードキャスト、またはFTPブロードキャストおよびディスクへの保存スケジュールダイアログボックスで指定されたファイル名に置き換えられます。
中括弧内にある他のすべてのプレースホルダーは、SimpleDateFormatの仕様に従い、datetime形式の文字列として扱われます。
例えば、以下のコードのようにブロードキャストファイル名テンプレートフォーマット{yyyy-MM-dd_HH-mm-ss}を使用すると、ファイル名が「Ski Report - 2020-01-01_12-34-56.pdf」となります。
FTPスケジュールやディスクへの保存スケジュールを使用する場合、結果として得られるファイル名はファイルシステムと互換性がある必要があります。例えば、送信先のFTPサーバーやYellowfinのインスタンスがWindows上で動作している場合、コロン文字 (:) はNTFS上のファイル名で不正な文字となるため、使用しないようにする必要があります。しかし、Eメールブロードキャストでは、ファイル名に含まれる不正な文字をアンダースコアに置き換えます。
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'BROADCASTFILENAMETEMPLATE', '{filename} - {yyyy-MM-dd_HH-mm-ss}');
このサンプルでは、1がプライマリ/デフォルトの組織を表しています。これはシステム全体の設定であり、特定のクライアント組織に対して有効にすることはできないため、この値は常に1に設定する必要があります。
JNDIデータソース接続の有効化
構成データベースに対して次のSQLを実行することで、JNDIデータソース接続タイプを有効化することができます。
INSERT INTO Configuration(1, 'SYSTEM', 'JNDISOURCEENABLED', 'TRUE');
Jasper レポートでの非必須フィルターの有効化
Jasper レポートで非必須フィルターを有効にするには、次のコードを使用します。
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'JASPERFILTERSNOTMANDATORY', 'true');
クロス集計およびその他の同様のレポートの一意のセル数を制限する
メモリ不足を回避するために、クロス集計レポートおよび特定のグラフタイプに対して生成できる一意のセル数 (行と列を掛け合わせた数) の最大数を有効にできます。
INSERT INTO Configuration VALUES (1, "SYSTEM", "CELL_LIMIT", "80000");
上記の80000はあくまで一例なので、ニーズに合わせて変更をしてください。
デフォルトブロードキャスト形式の設定
ブロードキャストのデフォルト形式を設定するには、以下の設定を使用します。
INSERT INTO Configuration (iporg, configtypecode, configcode, configdata) VALUES (1, 'SYSTEM', 'BROADCASTDEFAULTCODE', 'XLSX');
XLSXは形式の一例です。HTML, CSV, DOCX, PDF, リンク, XLSX, テキストから選択できます。
ゲストユーザーが閲覧ページにリダイレクトされないように制限
以下の設定を使用することで、レポートをキャンセルした際にゲストユーザーが閲覧ページにリダイレクトされないように制限し、すべての公開レポートを閲覧されないようにすることができます。
RESTRICTGUESTUSER = TRUE
デフォルトはFALSEに設定され、閲覧ページに戻ることができます。TRUEに設定することで、ユーザーに「使用不可」ページが表示されます。
ユーザー削除時のライセンス更新の防止
以下の設定を使用することで、ユーザー削除時にクラスタ全体でライセンス更新が連鎖しないようにすることができます。これは、1回のライセンス更新で複数のユーザーを効率的に削除できる一括削除webサービスの代替となります。
INSERT INTO Configuration VALUES (1, "SYSTEM", "SKIPUSERDELETELICENCEREFRESH", "TRUE");
AS400 データベースの長いファイル名の処理の無効化
バージョン9.11では、AS400 データベースの長いファイル名を処理するための変更が導入されました。これにより、9.11以前のAS400 データソースで作成された一部のビューに影響が出ています。これらのビューを正しく動作させるためには、長いファイル名の処理ロジックを無効にする必要があります。これは、以下の設定変更により対応可能です。
INSERT INTO Configuration VALUES ( 1, 'SYSTEM', 'USE_LEGACY_AS400_TABLE_NAMING', 'TRUE');
Oracle データベースでミリ秒ロジックを有効化
この設定をtrueにすると、Oracleでミリ秒が正しく処理されるようになりますが、有効にすることで、クエリーパフォーマンスに影響を与える可能性があります。レポートにミリ秒を使用する必要がない場合は、この設定を行わないか、FALSEに設定することを推奨します。ENABLEMILLISECONDLOGIC ロジックが未設定またはFALSEの場合、TO_DATE 機能がデフォルトになります。ENABLEMILLISECONDLOGIC がTRUEの場合、TO_TIMESTAMP 機能が有効になります。
INSERT INTO Configuration VALUES ( 1, 'SYSTEM', 'ENABLEMILLISECONDLOGIC', 'TRUE');
クライアント組織内でのアクセスフィルタートグルの有効化
バージョン9.11では、プライマリー組織のデータソースに対してクライアント組織でレポートを作成するユーザーが、そのレポートに適用されているアクセスフィルターを有効または無効にする機能を自動的に無効にする変更が追加されました。この動作は、次の方法でバージョン9.11以前の動作に戻すことができます。
INSERT INTO Configuration VALUES ( 1, 'SYSTEM', 'ENABLECLIENTORGACCESSFILTERTOGGLE', 'TRUE');