SSASキューブの表形式モデルのExcelピボットテーブルのディメンションとメジャーのリストに要素の任意の順序を作成します。

測定値と測定値の数が9000を超え、これに対応するのに十分な3つの画面がないキューブを処理する必要がある場合は、確かに、このモンスターを操作する不便さについてユーザーのうめき声も聞こえました。 結局のところ、ユーザーはほとんどの場合、同じ測定で作業しますが、これなしではほとんどサンプルができません。 ただし、 ピボットテーブルのFieldsにあるすべての要素をアルファベット順に並べるのが好きなExcelの特性のため、これらの最も人気のあるオブジェクトは、リスト全体に散らばっており、他の(まれに使用される)要素と混在しています。









3つのフィールド(日付、製品、クライアント)にフィルターを設定しようとすると、リストを10回上下にスクロールする必要があります。 これで毎日作業するのは十分な神経ではありません。



解決策は平凡であり、新しいものではありません-ディメンション名の先頭に記号または数字を追加し、それによって順序に影響を与えます。



しかし、ユーザーはコインの片側であり、このアプローチに満足しています。 しかし、開発者はどうですか?

結局のところ、それは次のようになっているはずです。式でディメンションの名前を書き始めると、スタジオがヒントを与えますよね? しかし、追加の文字の場合にのみ、コード内をすべて見ることができます。 VS2017では、エントリの検索が既に行われましたが、前のエントリではそうではなく、文字Kではなく、数字5カレンダーを作成する必要がありました 。 他のプログラムのクエリは、プロンプトなしで記述し、どの次元またはフィールドのどの桁が他のクエストであるかを言及する必要があります。







順序を変更する必要がある場合、実際にはテーブルまたはフィールドの名前を変更する必要があり、このフィールドが式で使用されている場合、スタジオは式を修正します。 数式が数十個ある場合(そして常に数十個ある場合)、モデルの半分がGitで強調表示されます。これは、スタジオがすべての数式を実際に修正したためです。 他のソース(スタジオ外)でのリクエストはまったく失敗します。 非常に不快です!



しかし、方法があります。



ただし、表形式モデルでは、多次元モデルと同様に、翻訳を追加することができます。 それらを使用します。



翻訳は、テキストを含む.bimモデルから.jsonファイルをアンロードし、編集してからモデルにアップロードすることで実行されます。 ただし、モデルが元々ロシア語である場合、Visual Studioはロシア語のファイルのアップロードを許可しません(一般に、モデルのベース言語の翻訳はアンロードできません)。 しかし、他のものはアンロードできます!







アップロードされたファイルは、 en-USru-RUに置き換えて、Unicodeをサポートするテキストエディターを使用して編集する必要があります。



次に、特別なSSAS Tabular Translatorプログラムを使用して、名前を編集できます(ただし、必要に応じてノートブックで編集できます)。







ファイルをプロジェクトにインポートして戻します







ブヤリヤ







翻訳には別の重要なプラスがあります:



.jsonファイルから、変更された(翻訳された)行のみがモデルにロードされ、ファイル全体ではなく、翻訳のみが保存されます。 したがって、新しいディメンションまたはメジャーが表示され、それを「翻訳」することを忘れても、何も壊れず、Excelにそのまま表示されます。



もちろん、これらすべての操作をru-RUのen-USに置き換えることはできませんが、ユーザーは英語のロケールオプションを追加してデータソースへの接続を再構成する必要があります。



機能があります



ベース言語の翻訳をモデルに追加した後、事前の準備なしでは削除できません。







ほとんどの場合、これが必要になることはほとんどありませんが、ご存じのように、できなくても本当に必要な場合はできます。



ソリューションエクスプローラーを開き、モデルの.bimファイルを右クリックして、[ コードに移動]項目を選択します







コードでは、 ru-RU行を探しますが、ファイルの先頭のではなく、末尾に近いを探し、 en-USで修正します。











設計モードでモデルを修正、保存、再発見し、チェックします







ご存知のように、これは文書化されていない機能であり、自己責任で使用することにします。



All Articles