2

SSAS 2008 を使用しています。データ関連の権限の問題があります。着信ユーザー (Active Directory [AD]) のコンテキストに SSAS ロールを正常に適用できます。つまり、返される結果はユーザーの SSAS ロールに基づいており、ロールに基づいてディメンションから返されるデータを制限します。

私の知る限り、複数のロールをユーザーに適用して、ディメンションが関連するロールを取り、その結果を制限することができます - ただし、この条件は交差 (つまり AND) として適用されます - ユニオンとして適用できますか? (つまり、OR)

注意すべき点がいくつかあります。 - Excel 経由でキューブにアクセスしているため、一部の MDX 内で上記のインテリジェンスに依存すること
は、ユーザーが任意のディメンションに対してクエリを実行できるため、必ずしも達成できるとは限りません (ロールによって制限されるものもあれば、制限されないものもあります) 。
ユーザーごとに (異なる AD グループ内の) 2 つの異なる userId と結合された 2 つのキューブ。ユーザーは、表示したいデータ (したがって、クエリ対象のキューブ) に応じて Excel からデータを抽出します。ユーザーの結果を 2 つの個別の結果セットではなく 1 つの結果セットにまとめる必要があるため、これは面倒です。

上記の解決策を経験した人はいますか - それは可能ですか - 代替手段はありますか?

4

3 に答える 3

1

2つのディメンションにOR条件が必要な場合は、2つのレベルが2つの初期ディメンションと同じレベルである別のディメンションを追加できます。

たとえば、役割を[Country]。[France]または[Currency]。[USD]に制限したい場合は、[CountryThenCurrency]ディメンションを追加して、[CountryThenCurrency]。[France]の2つのパスを許可できます。 [*]および[CountryThenCurrency]。[*]。[USD]

つまり、すべてのOR条件を1つのディメンションで実行できるようにするには、ディメンションを追加します。

于 2012-08-03T20:08:50.630 に答える
1

Roles評価するデータベース ロールのコンマ区切りリストを保持する SSAS 接続文字列にプロパティを追加できます。そのリストに適用されたロールのみがサーバーによって適用されます。

Data Source=localhost;Initial Catalog=MySSASDb;Roles=RoleA,RoleB
于 2012-08-03T09:41:53.197 に答える
0

この問題の解決策を探していたところ、Chris Webb のすばらしい記事を見つけました。

http://cwebbbi.wordpress.com/2011/12/22/replaceing-cell-security-with-dimension-security/

アイデアは、DIM_Security という名前の不要なディメンションを作成し、そこに両方の​​ディメンションのすべての異なる組み合わせを配置することです。ここで、MDX 式を介して、dimension1 = 'allowedvalue' または dimension2 = 'allowedvalue' のいずれかを持つすべてのメンバーの UNION を取得するため、OR 権限が付与されます。

さらに Webb は、動的セキュリティでこれを行う方法を説明しています。

元の投稿は、多くのスクリーンショットを含む数ページの長さであり、Web 全体で何度もリンクされているため、すべての MDX をコピーするわけではありません。

于 2014-06-25T20:16:43.537 に答える