E
Enrico
Both Office XP Web Components Toolpack and the XP BI
Portal seem to have a bug preventing the correct execution
of OLAP Actions based of Cells.
The issue can be viewed as follows:
1) Add a new action to the Sales Cube in the Foodmart OLAP
database. Select 'Cells in this Cube' as the target
and 'HTML' as the Type. Define the Action Syntax as:
"<P>Customer = " + [Customers].CurrentMember.Name + "</P>
<P>Product = " + [Product].CurrentMember.Name + "</P>"
2) Start the 'Office Web Components Toolpack' from the
Start Menu and Select 'Actions' in the left Frame.
Click 'Run the code demonstration' which should open the
sales cube. Place the [Customers] dimension on the Row
Axis and the [Product] dimension on the Column Axis. Drag
the [Sales Count] Measure to the data area. Drill down on
the Customers dimension to USA ... CA
3) Right click the data cell for [Customers].[USA].[CA].
[Bellflower] and [Product].[Food] and select the name of
your new action. This opens a new windows and
returns "Customer = All Customers, Product = All Products"
regardless of the Customer and Product dimension
coordinate members for the cell you right clicked. It
should have returned "Customer = Bellflowe, Product = Food"
I believe this is due to following but I'm not sure how to
fix it: (actions.htc file)
1) The pivotBeforeContextMenu function detects that the
pt.SelectionType is "PivotAggregates" and sets the iType
variable to 6 which is correct. But it then sets
sCurItemName to pt.Selection(0).Total.UniqueName which
is "[Measures].[Sales Count]". I believe this should be a
Tuple such as "([Customers].[State Province].&[CA].&
[Bellflower], [Product].[Product Family].&[Food])"
2) This sCurItemName variable (containing "[Measures].
[Sales Count]") is then passed along through a few more
functions and finally ends up in the addActionableItem
function as the sCoord parameter. It is passed to the ADO
OpenSchema method parameter which for this type of action
should contain a Tuple to explicitly identify the
coordinates of the cell you clicked ... and not the value
it is being given.
Also, can anyone explain why they use the ADO OpenSchema
method of the Connections Object instead of the OLE DB
Session Object's IDBSchemaRowset interface? see :
http://msdn.microsoft.com/library/default.asp?
url=/library/en-us/oledb/htm/olappr_chapter23_11.asp
Portal seem to have a bug preventing the correct execution
of OLAP Actions based of Cells.
The issue can be viewed as follows:
1) Add a new action to the Sales Cube in the Foodmart OLAP
database. Select 'Cells in this Cube' as the target
and 'HTML' as the Type. Define the Action Syntax as:
"<P>Customer = " + [Customers].CurrentMember.Name + "</P>
<P>Product = " + [Product].CurrentMember.Name + "</P>"
2) Start the 'Office Web Components Toolpack' from the
Start Menu and Select 'Actions' in the left Frame.
Click 'Run the code demonstration' which should open the
sales cube. Place the [Customers] dimension on the Row
Axis and the [Product] dimension on the Column Axis. Drag
the [Sales Count] Measure to the data area. Drill down on
the Customers dimension to USA ... CA
3) Right click the data cell for [Customers].[USA].[CA].
[Bellflower] and [Product].[Food] and select the name of
your new action. This opens a new windows and
returns "Customer = All Customers, Product = All Products"
regardless of the Customer and Product dimension
coordinate members for the cell you right clicked. It
should have returned "Customer = Bellflowe, Product = Food"
I believe this is due to following but I'm not sure how to
fix it: (actions.htc file)
1) The pivotBeforeContextMenu function detects that the
pt.SelectionType is "PivotAggregates" and sets the iType
variable to 6 which is correct. But it then sets
sCurItemName to pt.Selection(0).Total.UniqueName which
is "[Measures].[Sales Count]". I believe this should be a
Tuple such as "([Customers].[State Province].&[CA].&
[Bellflower], [Product].[Product Family].&[Food])"
2) This sCurItemName variable (containing "[Measures].
[Sales Count]") is then passed along through a few more
functions and finally ends up in the addActionableItem
function as the sCoord parameter. It is passed to the ADO
OpenSchema method parameter which for this type of action
should contain a Tuple to explicitly identify the
coordinates of the cell you clicked ... and not the value
it is being given.
Also, can anyone explain why they use the ADO OpenSchema
method of the Connections Object instead of the OLE DB
Session Object's IDBSchemaRowset interface? see :
http://msdn.microsoft.com/library/default.asp?
url=/library/en-us/oledb/htm/olappr_chapter23_11.asp