![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I'm using following code to get list and properties of all objects in my Analysis Server. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DISCOVER_XML_METADATA</RequestType Restrictions RestrictionList ObjectExpansion>ExpandFull</ObjectExpansion /RestrictionList /Restrictions Properties PropertyList /PropertyList /Properties /Discover The XML fresult is too long and I don't need eveything (e.g. dimension properties) in my XML result file. My question is how to exclude unwanted (levels, attributes or properties) in my XMLA query and get only the list of only Databases and Cubes available on my server. In that case XML file will be smaller and contain only the data that I need. Thanks and I hope this post will help many others. |
#3
| |||
| |||
|
|
I can't think of any way of getting just dimensions and cubes in a single XMLA query. So apart from using XSLT to strip out just what you need, the other option would be to do multiple queries. A DBSCHEMA_CATALOGS query will get you a list of all the databases eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions / Properties / /Discover Then for each database you could run an MDSCHEMA_CUBES query to get a list of cubes. eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions / Properties PropertyList Catalog>Adventure Works DW</Catalog /PropertyList /Properties /Discover If you are using these queries to populate a UI, the multiple query approach could work quite nicely as normally you would "drill down" from the database list to the list of cubes for a selected database. You will also find the more specific queries MUCH faster than a DISCOVER_XML_METADATA query. -- Regards Darren Gosbell - SQL Server MVP Blog: http://www.geekswithblogs.net/darrengosbell In article <61BD8102-B77F-430A-AC99-5DF87CEA6EFA (AT) microsoft (DOT) com>, alextt (AT) discussions (DOT) microsoft.com says... I'm using following code to get list and properties of all objects in my Analysis Server. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DISCOVER_XML_METADATA</RequestType Restrictions RestrictionList ObjectExpansion>ExpandFull</ObjectExpansion /RestrictionList /Restrictions Properties PropertyList /PropertyList /Properties /Discover The XML fresult is too long and I don't need eveything (e.g. dimension properties) in my XML result file. My question is how to exclude unwanted (levels, attributes or properties) in my XMLA query and get only the list of only Databases and Cubes available on my server. In that case XML file will be smaller and contain only the data that I need. Thanks and I hope this post will help many others. |
#4
| |||
| |||
|
|
Thanks Darren for your help. There is a small problem with DBSCHEMA_CATALOGS - it doesn't list unprocessed cubes and it doesn't show processing status information about cubes. Unfortunately, DISCOVER_XML_METADATA is the only solution for me. Thanks "Darren Gosbell" wrote: I can't think of any way of getting just dimensions and cubes in a single XMLA query. So apart from using XSLT to strip out just what you need, the other option would be to do multiple queries. A DBSCHEMA_CATALOGS query will get you a list of all the databases eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions / Properties / /Discover Then for each database you could run an MDSCHEMA_CUBES query to get a list of cubes. eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions / Properties PropertyList Catalog>Adventure Works DW</Catalog /PropertyList /Properties /Discover If you are using these queries to populate a UI, the multiple query approach could work quite nicely as normally you would "drill down" from the database list to the list of cubes for a selected database. You will also find the more specific queries MUCH faster than a DISCOVER_XML_METADATA query. -- Regards Darren Gosbell - SQL Server MVP Blog: http://www.geekswithblogs.net/darrengosbell In article <61BD8102-B77F-430A-AC99-5DF87CEA6EFA (AT) microsoft (DOT) com>, alextt (AT) discussions (DOT) microsoft.com says... I'm using following code to get list and properties of all objects in my Analysis Server. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DISCOVER_XML_METADATA</RequestType Restrictions RestrictionList ObjectExpansion>ExpandFull</ObjectExpansion /RestrictionList /Restrictions Properties PropertyList /PropertyList /Properties /Discover The XML fresult is too long and I don't need eveything (e.g. dimension properties) in my XML result file. My question is how to exclude unwanted (levels, attributes or properties) in my XMLA query and get only the list of only Databases and Cubes available on my server. In that case XML file will be smaller and contain only the data that I need. Thanks and I hope this post will help many others. |
#5
| |||
| |||
|
|
You should be looking at the ObjectExpansion restriction. Have you looked at the options ReferenceOnly and ExpandObject? You may need to send more requests but that is a much more scalable solution. Thanks, Akshai -- Try out the MSDN Forums for Analysis Services at: http://forums.microsoft.com/MSDN/Sho...ID=83&SiteID=1 This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "alextt" <alextt (AT) discussions (DOT) microsoft.com> wrote in message news:68FFC8FC-E91C-4FE3-84FB-723CD0FA02D3 (AT) microsoft (DOT) com... Thanks Darren for your help. There is a small problem with DBSCHEMA_CATALOGS - it doesn't list unprocessed cubes and it doesn't show processing status information about cubes. Unfortunately, DISCOVER_XML_METADATA is the only solution for me. Thanks "Darren Gosbell" wrote: I can't think of any way of getting just dimensions and cubes in a single XMLA query. So apart from using XSLT to strip out just what you need, the other option would be to do multiple queries. A DBSCHEMA_CATALOGS query will get you a list of all the databases eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions / Properties / /Discover Then for each database you could run an MDSCHEMA_CUBES query to get a list of cubes. eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions / Properties PropertyList Catalog>Adventure Works DW</Catalog /PropertyList /Properties /Discover If you are using these queries to populate a UI, the multiple query approach could work quite nicely as normally you would "drill down" from the database list to the list of cubes for a selected database. You will also find the more specific queries MUCH faster than a DISCOVER_XML_METADATA query. -- Regards Darren Gosbell - SQL Server MVP Blog: http://www.geekswithblogs.net/darrengosbell In article <61BD8102-B77F-430A-AC99-5DF87CEA6EFA (AT) microsoft (DOT) com>, alextt (AT) discussions (DOT) microsoft.com says... I'm using following code to get list and properties of all objects in my Analysis Server. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DISCOVER_XML_METADATA</RequestType Restrictions RestrictionList ObjectExpansion>ExpandFull</ObjectExpansion /RestrictionList /Restrictions Properties PropertyList /PropertyList /Properties /Discover The XML fresult is too long and I don't need eveything (e.g. dimension properties) in my XML result file. My question is how to exclude unwanted (levels, attributes or properties) in my XMLA query and get only the list of only Databases and Cubes available on my server. In that case XML file will be smaller and contain only the data that I need. Thanks and I hope this post will help many others. |
#6
| |||
| |||
|
|
Thanks all for you help. I need to find another way. DISCOVER_XML_METADATA is very powerfull and I need to find the way to import XML result somehow into SQL server table. Small XML is not problem. I can use: Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions RestrictionList/ /Restrictions Properties PropertyList /PropertyList /Properties /Discover and then run following for each database: Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions /Restrictions Properties PropertyList Catalog>$(DATABASENAME)</Catalog Format>Tabular</Format /PropertyList /Properties /Discover and import XML result into SQL using OPENXML but that is not enough information for me. I need to use DISCOVER_XML_METADATA with EXPANDFull and import everything into SQL table. Please help if you have time and if you know the answer. "Akshai Mirchandani [MS]" wrote: You should be looking at the ObjectExpansion restriction. Have you looked at the options ReferenceOnly and ExpandObject? You may need to send more requests but that is a much more scalable solution. Thanks, Akshai -- Try out the MSDN Forums for Analysis Services at: http://forums.microsoft.com/MSDN/Sho...ID=83&SiteID=1 This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "alextt" <alextt (AT) discussions (DOT) microsoft.com> wrote in message news:68FFC8FC-E91C-4FE3-84FB-723CD0FA02D3 (AT) microsoft (DOT) com... Thanks Darren for your help. There is a small problem with DBSCHEMA_CATALOGS - it doesn't list unprocessed cubes and it doesn't show processing status information about cubes. Unfortunately, DISCOVER_XML_METADATA is the only solution for me. Thanks "Darren Gosbell" wrote: I can't think of any way of getting just dimensions and cubes in a single XMLA query. So apart from using XSLT to strip out just what you need, the other option would be to do multiple queries. A DBSCHEMA_CATALOGS query will get you a list of all the databases eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions / Properties / /Discover Then for each database you could run an MDSCHEMA_CUBES query to get a list of cubes. eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions / Properties PropertyList Catalog>Adventure Works DW</Catalog /PropertyList /Properties /Discover If you are using these queries to populate a UI, the multiple query approach could work quite nicely as normally you would "drill down" from the database list to the list of cubes for a selected database. You will also find the more specific queries MUCH faster than a DISCOVER_XML_METADATA query. -- Regards Darren Gosbell - SQL Server MVP Blog: http://www.geekswithblogs.net/darrengosbell In article <61BD8102-B77F-430A-AC99-5DF87CEA6EFA (AT) microsoft (DOT) com>, alextt (AT) discussions (DOT) microsoft.com says... I'm using following code to get list and properties of all objects in my Analysis Server. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DISCOVER_XML_METADATA</RequestType Restrictions RestrictionList ObjectExpansion>ExpandFull</ObjectExpansion /RestrictionList /Restrictions Properties PropertyList /PropertyList /Properties /Discover The XML fresult is too long and I don't need eveything (e.g. dimension properties) in my XML result file. My question is how to exclude unwanted (levels, attributes or properties) in my XMLA query and get only the list of only Databases and Cubes available on my server. In that case XML file will be smaller and contain only the data that I need. Thanks and I hope this post will help many others. |
#7
| |||
| |||
|
|
Why do you *need* to use ExpandFull? And if you actually need all the metadata then what is the problem? DISCOVER_XML_METADATA allows you get at all the metadata of objects -- the ObjectExpansion options allow you to limit how much detail you get back. You can also fetch metadata on a per-major-object basis. Thanks, Akshai -- Try out the MSDN Forums for Analysis Services at: http://forums.microsoft.com/MSDN/Sho...ID=83&SiteID=1 This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "alextt" <alextt (AT) discussions (DOT) microsoft.com> wrote in message news:6CA74716-D164-4980-BB40-B64680B5B4D9 (AT) microsoft (DOT) com... Thanks all for you help. I need to find another way. DISCOVER_XML_METADATA is very powerfull and I need to find the way to import XML result somehow into SQL server table. Small XML is not problem. I can use: Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions RestrictionList/ /Restrictions Properties PropertyList /PropertyList /Properties /Discover and then run following for each database: Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions /Restrictions Properties PropertyList Catalog>$(DATABASENAME)</Catalog Format>Tabular</Format /PropertyList /Properties /Discover and import XML result into SQL using OPENXML but that is not enough information for me. I need to use DISCOVER_XML_METADATA with EXPANDFull and import everything into SQL table. Please help if you have time and if you know the answer. "Akshai Mirchandani [MS]" wrote: You should be looking at the ObjectExpansion restriction. Have you looked at the options ReferenceOnly and ExpandObject? You may need to send more requests but that is a much more scalable solution. Thanks, Akshai -- Try out the MSDN Forums for Analysis Services at: http://forums.microsoft.com/MSDN/Sho...ID=83&SiteID=1 This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "alextt" <alextt (AT) discussions (DOT) microsoft.com> wrote in message news:68FFC8FC-E91C-4FE3-84FB-723CD0FA02D3 (AT) microsoft (DOT) com... Thanks Darren for your help. There is a small problem with DBSCHEMA_CATALOGS - it doesn't list unprocessed cubes and it doesn't show processing status information about cubes. Unfortunately, DISCOVER_XML_METADATA is the only solution for me. Thanks "Darren Gosbell" wrote: I can't think of any way of getting just dimensions and cubes in a single XMLA query. So apart from using XSLT to strip out just what you need, the other option would be to do multiple queries. A DBSCHEMA_CATALOGS query will get you a list of all the databases eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions / Properties / /Discover Then for each database you could run an MDSCHEMA_CUBES query to get a list of cubes. eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions / Properties PropertyList Catalog>Adventure Works DW</Catalog /PropertyList /Properties /Discover If you are using these queries to populate a UI, the multiple query approach could work quite nicely as normally you would "drill down" from the database list to the list of cubes for a selected database. You will also find the more specific queries MUCH faster than a DISCOVER_XML_METADATA query. -- Regards Darren Gosbell - SQL Server MVP Blog: http://www.geekswithblogs.net/darrengosbell In article <61BD8102-B77F-430A-AC99-5DF87CEA6EFA (AT) microsoft (DOT) com>, alextt (AT) discussions (DOT) microsoft.com says... I'm using following code to get list and properties of all objects in my Analysis Server. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DISCOVER_XML_METADATA</RequestType Restrictions RestrictionList ObjectExpansion>ExpandFull</ObjectExpansion /RestrictionList /Restrictions Properties PropertyList /PropertyList /Properties /Discover The XML fresult is too long and I don't need eveything (e.g. dimension properties) in my XML result file. My question is how to exclude unwanted (levels, attributes or properties) in my XMLA query and get only the list of only Databases and Cubes available on my server. In that case XML file will be smaller and contain only the data that I need. Thanks and I hope this post will help many others. |
#8
| |||
| |||
|
|
Thanks Akshai for your time for tyring to solve my problem. How can I use <ObjectExpansion> property to get the list of all database and all cubes (for each database) and nothing else. No dimensions, no Measures - nothing else. Or at least minimum that I can get? ExpandObject is still masive list... Thanks "Akshai Mirchandani [MS]" wrote: Why do you *need* to use ExpandFull? And if you actually need all the metadata then what is the problem? DISCOVER_XML_METADATA allows you get at all the metadata of objects -- the ObjectExpansion options allow you to limit how much detail you get back. You can also fetch metadata on a per-major-object basis. Thanks, Akshai -- Try out the MSDN Forums for Analysis Services at: http://forums.microsoft.com/MSDN/Sho...ID=83&SiteID=1 This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "alextt" <alextt (AT) discussions (DOT) microsoft.com> wrote in message news:6CA74716-D164-4980-BB40-B64680B5B4D9 (AT) microsoft (DOT) com... Thanks all for you help. I need to find another way. DISCOVER_XML_METADATA is very powerfull and I need to find the way to import XML result somehow into SQL server table. Small XML is not problem. I can use: Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions RestrictionList/ /Restrictions Properties PropertyList /PropertyList /Properties /Discover and then run following for each database: Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions /Restrictions Properties PropertyList Catalog>$(DATABASENAME)</Catalog Format>Tabular</Format /PropertyList /Properties /Discover and import XML result into SQL using OPENXML but that is not enough information for me. I need to use DISCOVER_XML_METADATA with EXPANDFull and import everything into SQL table. Please help if you have time and if you know the answer. "Akshai Mirchandani [MS]" wrote: You should be looking at the ObjectExpansion restriction. Have you looked at the options ReferenceOnly and ExpandObject? You may need to send more requests but that is a much more scalable solution. Thanks, Akshai -- Try out the MSDN Forums for Analysis Services at: http://forums.microsoft.com/MSDN/Sho...ID=83&SiteID=1 This posting is provided "AS IS" with no warranties, and confers no rights Please do not send email directly to this alias. This alias is for newsgroup purposes only. "alextt" <alextt (AT) discussions (DOT) microsoft.com> wrote in message news:68FFC8FC-E91C-4FE3-84FB-723CD0FA02D3 (AT) microsoft (DOT) com... Thanks Darren for your help. There is a small problem with DBSCHEMA_CATALOGS - it doesn't list unprocessed cubes and it doesn't show processing status information about cubes. Unfortunately, DISCOVER_XML_METADATA is the only solution for me. Thanks "Darren Gosbell" wrote: I can't think of any way of getting just dimensions and cubes in a single XMLA query. So apart from using XSLT to strip out just what you need, the other option would be to do multiple queries. A DBSCHEMA_CATALOGS query will get you a list of all the databases eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DBSCHEMA_CATALOGS</RequestType Restrictions / Properties / /Discover Then for each database you could run an MDSCHEMA_CUBES query to get a list of cubes. eg. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>MDSCHEMA_CUBES</RequestType Restrictions / Properties PropertyList Catalog>Adventure Works DW</Catalog /PropertyList /Properties /Discover If you are using these queries to populate a UI, the multiple query approach could work quite nicely as normally you would "drill down" from the database list to the list of cubes for a selected database. You will also find the more specific queries MUCH faster than a DISCOVER_XML_METADATA query. -- Regards Darren Gosbell - SQL Server MVP Blog: http://www.geekswithblogs.net/darrengosbell In article <61BD8102-B77F-430A-AC99-5DF87CEA6EFA (AT) microsoft (DOT) com>, alextt (AT) discussions (DOT) microsoft.com says... I'm using following code to get list and properties of all objects in my Analysis Server. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DISCOVER_XML_METADATA</RequestType Restrictions RestrictionList ObjectExpansion>ExpandFull</ObjectExpansion /RestrictionList /Restrictions Properties PropertyList /PropertyList /Properties /Discover The XML fresult is too long and I don't need eveything (e.g. dimension properties) in my XML result file. My question is how to exclude unwanted (levels, attributes or properties) in my XMLA query and get only the list of only Databases and Cubes available on my server. In that case XML file will be smaller and contain only the data that I need. Thanks and I hope this post will help many others. |
#9
| |||
| |||
|
|
I'm using following code to get list and properties of all objects in my Analysis Server. Discover xmlns="urn:schemas-microsoft-com:xml-analysis" RequestType>DISCOVER_XML_METADATA</RequestType Restrictions RestrictionList ObjectExpansion>ExpandFull</ObjectExpansion /RestrictionList /Restrictions Properties PropertyList /PropertyList /Properties /Discover The XML fresult is too long and I don't need eveything (e.g. dimension properties) in my XML result file. My question is how to exclude unwanted (levels, attributes or properties) in my XMLA query and get only the list of only Databases and Cubes available on my server. In that case XML file will be smaller and contain only the data that I need. Thanks and I hope this post will help many others. |
![]() |
| Thread Tools | |
| Display Modes | |
| |