![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
-----Original Message----- Hi Rui, Thanks for your post. As I understand, when you try to drill though the data in the cube using Analysis Manager, the process always times out. If I have misunderstood, please feel free to let me know. When you drill through the data in the cube, the Analysis Services will generate a query, which is accepted by the data source, and will be waiting for the data source returning the Dataset. The duration of the drill through depends on the time of the query execution on Sybase. Since I am not familiar with Sybase's detailed information, what I can do is very limited. At this point, I think it would be most beneficial for you to talk to Sybase support regarding this issue. Also, on the Analysis Services side, increasing the value of the timeout option would be best. From what I know, by default, the value of the timeout option in Analysis Manager is 30 seconds. Unfortunately, the timeout option cannot be set using Analysis Manager. You have to set the option and drill through the data using codes. The CommandTimeout method will be used to set the value of the timeout option. Sample codes: ///////////////////// dim cst, cmd Set cst = server.CreateObject("ADODB.recordSet") Set cmd = server.CreateObject("ADODB.Command") cmd.ActiveConnection = "Data Source=shasql92;Initial Catalog=foodmart 2000;Provider=msolap.2;" cmd.CommandTimeout = 60 dim strSource 'strSource = strSource & "DRILLTHROUGH maxrows 1000 " 'strSource = strSource & "SELECT {[Time].[1997]} ON columns, " 'strSource = strSource & "{[measures].[supply time]} ON rows, " 'strSource = strSource & "{[Warehouse].[All Warehouses]} ON pages " 'strSource = strSource & "FROM [warehouse] " strSource = strSource & "drillthrough " strSource = strSource & "select " strSource = strSource & "{[Measures].[Unit Sales]} on rows, " strSource = strSource & "{[Promotions].[All Promotions]. [Best Savings]} on columns " strSource = strSource & "from sales " cmd.CommandText = strSource set cst = cmd.execute() Response.Write cst.fields.item(0) response.write " " Response.Write cst.fields.item(1) response.write " " Response.Write cst.fields.item(2) response.write " " Response.Write cst.fields.item(3) response.write " " Response.Write cst.fields.item(4) /////////////////////////// Thanks for using MSDN newsgroup. Regards, Michael Shao Microsoft Online Partner Support Get Secure! - www.microsoft.com/security This posting is provided "as is" with no warranties and confers no rights. . |
#4
| |||
| |||
|
#5
| |||
| |||
|
|
-----Original Message----- Hi Rui, Thanks for your update. Can you provide the queryplan you mentioned in the previous post? How do you think that Analysis Services do not pick up the correct parameter data type? As I understand, the data types used in the query are OLE DB data type. Thanks for using MSDN newsgroup. Regards, Michael Shao Microsoft Online Partner Support Get Secure! - www.microsoft.com/security This posting is provided "as is" with no warranties and confers no rights. . |
#6
| |||
| |||
|
#7
| |||
| |||
|
|
-----Original Message----- Hi Rui, Thanks for your update. I noticed that the data type of the @P1 is int. I would like you to check and see the key data type of the bottom level of the dimension. Please make sure the key data type property of the bottom level of the dimension is numeric. For more information regarding the key data type property, please refer to the following article on SQL Server Books Online. Topic: "Properties Pane (Dimension Editor Schema View)" Also, as I understand, the Analysis Services generally call API such as ADO, OLE DB to query. It does not call the query directly. Thanks for using MSDN newsgroup. Regards, Michael Shao Microsoft Online Partner Support Get Secure! - www.microsoft.com/security This posting is provided "as is" with no warranties and confers no rights. . |
#8
| |||
| |||
|
#9
| |||
| |||
|
|
Content-Class: urn:content-classes:message From: "Rui Da Costa" <RuiDC (AT) Yahoo_Removethis (DOT) com Sender: "Rui Da Costa" <RuiDC (AT) Yahoo_Removethis (DOT) com Subject: Datatype issue on Drillthrough Date: Wed, 3 Dec 2003 06:42:57 -0800 Lines: 39 Message-ID: <0c3001c3b9ab$be0dd6b0$a301280a (AT) phx (DOT) gbl MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Newsreader: Microsoft CDO for Windows 2000 Thread-Index: AcO5q74NqBUpuN2RTHmH+/LHIYiliQ== X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300 Newsgroups: microsoft.public.sqlserver.olap Path: cpmsftngxa06.phx.gbl Xref: cpmsftngxa06.phx.gbl microsoft.public.sqlserver.olap:45289 NNTP-Posting-Host: tk2msftngxa11.phx.gbl 10.40.1.163 X-Tomcat-NG: microsoft.public.sqlserver.olap Hi, we are on AS 2000 with sp3. We have a fact table in Sybase 11.9.2. We connect using the 12.5 Sybase ASE OLEDB driver and it processes into a cube just fine. When we try to drill though it takes forever on a relatively small table, and for test purposes, only returning 3 columns. More often than not it times out. The queryplan i bring up on the sybase server, shows that it is doing a tablescan instead of using the index. I do not wish to increase the timeout, i want it to pick up the index. The field i am drilling to is a numeric(6,0). However, if i grab the same SQL that is captured by auditing on Sybase, the same SQL always uses the index and returns quickly. When i have a similar structure on SQL Server 2000 (also with sp3) and use profiler to capture the SQL, i see that it is making a call to sp_prepexec and correctly typing the drill parameter as a numeric. But as Sybase is not behaving the same (i cannot see the sp_prepexec call) it is behaving as if it is typing it as an integer or at least some type other than numeric(6,0) (which seems to be the only reason that could be causing this to happen). SQL simply looks like: ----------------- select the_key, the_dimension_key, the_measure from fact_table where the_dimension_key = @the_key_being_drilled ----------------- where the_dimension_key is a numeric(6,0) and i believe the @the_key_being_drilled is being defined as int (or at least not numeric(6,0), i need it to be numeric(6,0)) How can this be fixed so that the correct type is passed and the SQL runs picking up the index as it should? R |
![]() |
| Thread Tools | |
| Display Modes | |
| |