Showing posts with label members. Show all posts
Showing posts with label members. Show all posts

Thursday, 8 March 2012

Confysed by the roles

DaI have an application that uses the Extended Stored Procedures sp_OA...
I thought that I read that members of the System Administrators Role could
access the Extended Stored Procedures in the Master Databasewithout
specifically granting execute permissions on each procedure. When the sorce
code executes an error stating that "EXECUTE permission denied on
'sp_OACreate', database 'master', owner 'dbo'
I then granted the user the Execute permissions and had the same error
message
I then Granted the Execute Permissions to Public and it worked
I then removed the permissions from the user and it still worked.
So in the end just adding the Public made this work BUT to reduce my
security risks I would prefer not to give Public the rights to execute the
Extended Stored Procedures.
Can this be done? if so how?Yes, it's possible. It sounds like an issue somewhere with
the login - maybe it's executing under a different login
than the one being granted permissions. You can run a
profiler trace and include login, user info to check this.
-Sue
On Tue, 16 Aug 2005 09:31:09 -0700, "Jim Abel"
<JimAbel@.discussions.microsoft.com> wrote:

>DaI have an application that uses the Extended Stored Procedures sp_OA...
>I thought that I read that members of the System Administrators Role could
>access the Extended Stored Procedures in the Master Databasewithout
>specifically granting execute permissions on each procedure. When the sorc
e
>code executes an error stating that "EXECUTE permission denied on
>'sp_OACreate', database 'master', owner 'dbo'
>I then granted the user the Execute permissions and had the same error
>message
>I then Granted the Execute Permissions to Public and it worked
>I then removed the permissions from the user and it still worked.
>So in the end just adding the Public made this work BUT to reduce my
>security risks I would prefer not to give Public the rights to execute the
>Extended Stored Procedures.
>Can this be done? if so how?

Saturday, 25 February 2012

Conflicting Members

I have a report that includes a set, customer divisions as columns and products as rows. At certain intersections members are filtered by the same attribute (ie customer is filtered by product flag as is the product). Some of these have conflicting attribute values (ie product flag is true for the customer but false for the product). In these cases the customer setting is taking precedence. However I need the member setting for the product to override the customer. Is there a way of achieving this?

From your description it is not clear to me what your issue is. Axes are resolved independently, so there could be no conflicts in filtering customers and products. And if you refer to cell values, then what does filtering means ? It would be best if you will provide the exact MDX you are using and results you want to get, then this forum will be able to help you with MDX modifications.|||

In response to your question I am referring to cell values. My MDX query is basically SELECT [Customer Set] on Columns, [Product Set] on rows. I have members in my customer set and my product set which are filtered by the same attribute (Product Flag):

Product Member = ([Product - Own Keg Total] , [Product].[Product Flag].[TRUE])

Customer Member = ([Customer].[Customer Hierarchy - Area].[Market].&[United Kingdom].&[Tied Trade], [Customer].[Product Flag].[FALSE])

The values results returned indicate that the attribute value for the product flag of the customer member has been used.

Hope this makes it clearer. If not let me know. Thanks.

|||Can you please provide a definition of named sets [Customer Set] and [Product Set]. I am still not sure what you meant by Product Member and Customer Member in your response, but one thing contradicted what you said about same attribute (Product Flag) being used - in your tuple expression once you used attribute in the Product dimension and once in Customer dimension, so it cannot be the same attribute.|||

Sorry to add to the confusion. The customer member should have read:

([Customer].[Customer Hierarchy - Area].[Market].&[United Kingdom].&[Tied Trade], [Product].[Product Flag].[FALSE])

Ignoring sets, if I run the query with just the product member on the row and the customer member on the column I get the same result:

WITH MEMBER [Product].[Product Hierarchy].[Product Test] AS

([Product].[Product Hierarchy].[Product Group Section].&[Own Beer]&[Own Keg], [Product].[Product Flag].[True])

MEMBER [Customer].[Customer Hierarchy - Area].[Customer Test] AS

([Customer].[Customer Hierarchy - Area].[Market].&[United Kingdom].&[Tied Trade], [Product].[Product Flag].[FALSE])

SELECT

[Product Test] ON COLUMNS ,

[Customer Test] ON ROWS

FROM [beer_co]

WHERE ( [Measures].[Barrelage] )

|||

Thanks - it is clear now. The mechanism to control order of conflict resolution on calculated members is through SOLVE_ORDER property. I.e. in the following query Customer Test has higher solve order, therefore the Product Flag=True would win

WITH MEMBER [Product].[Product Hierarchy].[Product Test] AS

([Product].[Product Hierarchy].[Product Group Section].&[Own Beer]&[Own Keg], [Product].[Product Flag].[True]), SOLVE_ORDER=1

MEMBER [Customer].[Customer Hierarchy - Area].[Customer Test] AS

([Customer].[Customer Hierarchy - Area].[Market].&[United Kingdom].&[Tied Trade], [Product].[Product Flag].[FALSE]), SOLVE_ORDER=2

SELECT

[Product Test] ON COLUMNS ,

[Customer Test] ON ROWS

FROM [beer_co]

WHERE ( [Measures].[Barrelage] )

And in the following query, the SOLVE_ORDER is reversed, therefore Product Flag=False will win.

WITH MEMBER [Product].[Product Hierarchy].[Product Test] AS

([Product].[Product Hierarchy].[Product Group Section].&[Own Beer]&[Own Keg], [Product].[Product Flag].[True]), SOLVE_ORDER=2

MEMBER [Customer].[Customer Hierarchy - Area].[Customer Test] AS

([Customer].[Customer Hierarchy - Area].[Market].&[United Kingdom].&[Tied Trade], [Product].[Product Flag].[FALSE]), SOLVE_ORDER=1

SELECT

[Product Test] ON COLUMNS ,

[Customer Test] ON ROWS

FROM [beer_co]

WHERE ( [Measures].[Barrelage] )

|||Is there a way of configuring the query so that where there is a conflict neither member wins and nothing is returned?