how to invoke/call Drillthrough Action

Hi, experts:

In AS 2005, there is this new type of action, Drillthrough. Is it possible to invoke/call it in MDX to get the results of data defined by the drillthrough action? I'd like to use it in RS reports, is there a way to get the results from Drillthrough action? maybe via a custom assembly? There got to be a way, since it is available for pivital table in SQL BI Dev Studio's Browser. Any idea, sample?

thanks

William
[1007 byte] By [azbluesky] at [2007-12-22]
# 1

In order to invoke drillthrough from an RS 2005 report, you can try the OLE DB for OLAP 9.0 Provider - there is an Adventure Works sample query in this OLAP newsgroup thread:

http://groups.google.com/group/microsoft.public.sqlserver.olap/msg/4870097ed8fcffda

>>

microsoft.public.sqlserver.olap > Linked Server to Analysis Services 2005 gets Access denied.

How about trying the OLE DB option? I couldn't get the following AW
Drillthrough query to work with the RS 2005 Analysis Services Provider;
but it returned 8 records when I used OLE DB for OLAP 9.0 instead:


Drillthrough
Select [Ship Date].[Calendar].[Calendar Year].&[2001] on columns,
[Customer].[Customer Geography].[State-Province].&[TAS]&Automobile on rows
from [Adventure Works]
where [Measures].[Internet Order Quantity]

>>

DeepakPuri at 2007-8-30 > top of Msdn Tech,SQL Server,SQL Server Analysis Services...
# 2

Thanks for the reply. However, I'm talking about the Drillthrough Action as created from Drillthrough Action Form Editor, not the Drillthrough statement.

ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/uirfsql9/html/225fd818-b5ea-494f-b67b-66e09798274a.htm

If I can call the predefined AS Drillthrough action, I don't need to build the drillthrough MDX in my report query.

thanks

azbluesky at 2007-8-30 > top of Msdn Tech,SQL Server,SQL Server Analysis Services...
# 3

Well, invoking a Drillthrough Action actually returns a Drillthrough statement. Thus, the Drillthrough Action Form Editor provides a convenient means of customizing the Drillthrough statement; but it still needs to be executed by the client. Maybe I'm misunderstanding what you're trying to achieve here - could you explain it in more detail?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql90/html/sql2k5_anservdrill.asp

>>

Enabling Drillthrough in Analysis Services 2005

...

Analysis Services 2005 introduces a new action type called Drillthrough. The target of a drillthrough action can only be cells in the cube. The MDSCHEMA_ACTIONS schema rowset exposes these as rowset actions. The action expression is a DRILLTHROUGH statement that can be executed by the client application and the resulting rowset displayed to the user.

Clearly drillthrough fits in very cleanly into the actions framework. But the real advantage of drillthrough actions is that it provides the cube designer with the ability to pre-define the return columns of the DRILLTHROUGH statement (Figure 2). This is analogous to the Analysis Services 2000 experience where the database administrator specifies the tables and columns in the Drillthrough Options dialog in Analysis Manager.

There is an interesting Boolean property called Default on a drillthrough action. A cube can have multiple drillthrough actions with Default=true. The Default property does not affect the behavior of the action itself. When a client sends a DRILLTHROUGH statement that does not contain the RETURN clause, the server looks for a default drillthrough action whose target subspace contains the cell coordinate for which drillthrough is being executed. If such an action is found, the server uses the return columns from that action. If there are multiple drillthrough actions that meet these criteria, the server picks one arbitrarily. Thus default drillthrough actions enable the cube designer to override the default RETURN clause.

>>

DeepakPuri at 2007-8-30 > top of Msdn Tech,SQL Server,SQL Server Analysis Services...
# 4

OK, guess I wasn't clear about what I need.

So, here is the scenario. Take the AdventureWorks sample, it has a predefined "Internet Sales Details Drillthrough Action". Now, in RS Report Designer, I want to get this detail data for display. I created a dataset (DetailSet) to get this data. Since the drillthrough action is alreadty defined in AS, I shouldn't have to re-type the whole drillthrough statement again in the DetailSet MDX statement. So, how can I get the mdx drillthrough statement associated with the action, run it and have the returned data loaded into DetailSet. Therefore, the results can be displayed in the report.

If I have to put the whole statement like following in the DetailSet mdx query, then I'm not taking the advantage of predefined AS drillthrough action.

Drillthrough
Select [Ship Date].[Calendar].[Calendar Year].&[2001] on columns,
[Customer].[Customer Geography].[State-Province].&[TAS] on rows
from [Adventure Works]
where [Measures].[Internet Order Quantity]

thanks

azbluesky at 2007-8-30 > top of Msdn Tech,SQL Server,SQL Server Analysis Services...
# 5

As explained in the excerpt from the MSDN paper on Drillthrough, you can actually take advantage of a predefined AS Drillthrough Action in a Drillthrough statement, if the action is the applicable default for the selected cell. In that case, the columns returned by a Drillthrough statement (without an explicit return clause) are determined by the predefined default drillthrough action.

The action can be invoked directly via the Schema Rowset interface; but the cube and the cell coordinate still need to be specified, which is what the Drillthrough statement is specifying. So I'm not sure what you would gain:

http://msdn2.microsoft.com/en-us/library/ms126032.aspx

>>

MDSCHEMA_ACTIONS Rowset

...

Restriction Columns

The MDSCHEMA_ACTIONS rowset can be restricted on the columns listed in the following table.

Column name Type indicator Restriction State

CATALOG_NAME

DBTYPE_WSTR

Optional

SCHEMA_NAME

DBTYPE_WSTR

Optional

CUBE_NAME

DBTYPE_WSTR

Mandatory

ACTION_NAME

DBTYPE_WSTR

Optional

ACTION_TYPE

DBTYPE_I4

Optional

COORDINATE

DBTYPE_WSTR

Mandatory

COORDINATE_TYPE

DBTYPE_I4

Mandatory

INVOCATION

DBTYPE_I4

(Optional) The INVOCATION restriction column defaults to the value of MDACTION_INVOCATION_INTERACTIVE. To retrieve all actions, use the MDACTION_INVOCATION_ALL value in the INVOCATION restriction column.

CUBE_SOURCE

DBTYPE_UI2

(Optional) A bitmap with one of the following valid values:

  • 1 CUBE

  • 2 DIMENSION

Default restriction is a value of 1.

>>

DeepakPuri at 2007-8-30 > top of Msdn Tech,SQL Server,SQL Server Analysis Services...

SQL Server

Site Classified