home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 32 / IOPROG_32.ISO / SOFT / SqlEval7 / MSOLAP / samples / Samples.exe / AspAdoSimple / ASPADOSimple.asp
Encoding:
Text File  |  1998-10-30  |  5.9 KB  |  137 lines

  1. <%@ Language=VBScript %>
  2. <%
  3. '************************************************************************************
  4. '************************************************************************************
  5. '*** Active Server Page displays OLAP data from default
  6. '*** MDX Query string and writes resulting cell set to HTML table
  7. '*** structure. 
  8. '************************************************************************************
  9. '************************************************************************************
  10. Response.Buffer=True
  11. Response.Expires=0
  12. %>
  13. <HTML>
  14. <HEAD>
  15. <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
  16. </HEAD>
  17. <BODY bgcolor=Ivory>
  18. <FONT FACE=Verdana>
  19.  
  20. <%
  21.  
  22. Dim cat,cst,i,j,strSource,csw,intDC0,intDC1,intPC0, intPC1
  23.  
  24. '************************************************************************************
  25. '*** Set Connection Objects for Multi dimensional Catalog and Cell Set
  26. '************************************************************************************
  27. Set cat = Server.CreateObject("ADOMD.Catalog")
  28. Set cst = Server.CreateObject("ADOMD.CellSet")
  29.  
  30. '************************************************************************************
  31. '*** Use default settings of a known OLAP Server
  32. '*** for Server Name for Connection Set Server Name Session Object
  33. '*** to default value
  34. '************************************************************************************
  35. '************************************************************************************
  36. '*** Must set OLAPServerName to OLAP Server that is
  37. '*** present on network
  38. '************************************************************************************
  39.     OLAPServerName = "Please set to present OLAP Server"
  40.     cat.ActiveConnection = "Data Source=" & OLAPServerName & ";Initial Catalog=FoodMart;Provider=msolap;"
  41.  
  42. '************************************************************************************
  43. '*** Use default MDX Query string of a known query
  44. '*** that works with default server Set MDXQuery Session Object to default value
  45. '************************************************************************************
  46.     strSource = strSource & "SELECT "
  47.     strSource = strSource & "{[Measures].members} ON COLUMNS,"
  48.     strSource = strSource & "NON EMPTY [Store].[Store City].members ON ROWS"
  49.     strSource = strSource & " FROM Sales"
  50.  
  51. '************************************************************************************
  52. '*** Set Cell Set Source property to strSource to be passed on cell set open method
  53. '************************************************************************************  
  54.     cst.Source = strSource
  55.     
  56. '************************************************************************************
  57. '*** Set Cell Sets Active connection to use the current Catalogs Active connection
  58. '************************************************************************************
  59. Set cst.ActiveConnection = cat.ActiveConnection
  60.  
  61. '************************************************************************************
  62. '*** Using Open method, Open cell set
  63. '************************************************************************************
  64. cst.Open
  65.  
  66. '************************************************************************************
  67. '*** Set Dimension Counts minus 1 for Both Axes to intDC0, intDC1
  68. '*** Set Position Counts minus 1 for Both Axes to intPC0, intPC1
  69. '************************************************************************************
  70. intDC0 = cst.Axes(0).DimensionCount-1
  71. intDC1 = cst.Axes(1).DimensionCount-1
  72.  
  73. intPC0 = cst.Axes(0).Positions.Count - 1
  74. intPC1 = cst.Axes(1).Positions.Count - 1
  75.         
  76. '************************************************************************************
  77. '*** Create HTML Table structure to hold MDX Query return Record set
  78. '************************************************************************************
  79.         Response.Write "<Table width=100% border=1>"
  80.         
  81. '************************************************************************************
  82. '*** Loop to create Column header
  83. '************************************************************************************
  84.         For h=0 to intDC0
  85.             Response.Write "<TR>"
  86.             
  87. '************************************************************************************
  88. '*** Loop to create spaces in front of Column headers
  89. '*** to align with Row header
  90. '************************************************************************************
  91.             For c=0 to intDC1
  92.                 Response.Write "<TD></TD>"
  93.             Next
  94.             
  95. '************************************************************************************
  96. '*** Iterate through Axes(0) Positions writing member captions to table header
  97. '************************************************************************************
  98.             For i = 0 To intPC0
  99.                 Response.Write "<TH>"
  100.                 Response.Write "<FONT size=-2>"
  101.                 Response.Write cst.Axes(0).Positions(i).Members(h).Caption
  102.                 Response.Write "</FONT>"
  103.                 Response.Write "</TH>"
  104.             Next
  105.             Response.Write "</TR>"
  106.         Next
  107. '************************************************************************************
  108. '*** Use Array values for row header formatting to provide
  109. '*** spaces under beginning row header titles
  110. '************************************************************************************
  111.         For j = 0 To intPC1
  112.             Response.Write "<TR>"
  113.             For h=0 to intDC1
  114.                     Response.Write "<TD><B>"
  115.                     Response.Write "<FONT size=-2>"
  116.                     Response.Write cst.Axes(1).Positions(j).Members(h).Caption
  117.                     Response.Write "</FONT>"
  118.                     Response.Write "</B></TD>"
  119.             Next
  120.             For k = 0 To intPC0
  121.                 Response.Write "<TD align=right bgcolor="
  122.                 Response.Write csw
  123.                 Response.Write ">"
  124.                 Response.Write "<FONT size=-2>"
  125.                 Response.Write cst(k, j).FormattedValue
  126.                 Response.Write "</FONT>"
  127.                 Response.Write "</TD>"
  128.             Next
  129.             Response.Write "</TR>"
  130.         Next
  131.         Response.Write "</Table>"
  132.         
  133. %>
  134. </FONT>
  135. </BODY>
  136. </HTML>
  137.