ktd*_*drv 5 python database olap
我正在寻找一种方法来连接到MS Analysis Services OLAP多维数据集,运行MDX查询,并将结果拉入Python.换句话说,正是Excel所做的.Python中是否有解决方案让我这样做?
有类似问题的人指向Django的ORM.尽管我喜欢这个框架,但这并不是我想要的.我也不是在寻找一种拉行和聚合它们的方法 - 这就是Analysis Services首先要做的事情.
想法?谢谢.
小智 8
这可以使用pythonnet很容易地完成:
您加载SQL Server 2005和2008提供的Microsoft.AnalysisServices.dll或在此处获取可再发行组件包:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b33d2c78-1059-4ce2-b80d-2343c099bcb4
搜索SQLSERVER2008_ASAMO10.msi
然后你可以加载它并使用它.这是一个简单处理多维数据集的示例:
import CLR
from CLR.System.Reflection import Assembly
Assembly.LoadWithPartialName("AnalysisServices.DLL")
from CLR.Microsoft.AnalysisServices import Server
from CLR.Microsoft.AnalysisServices import ProcessType
serverName = 'localhost\sql2005'
dbName = 'MyDatabase'
# Connect to server
amoServer = Server()
amoServer.Connect(serverName)
# Connect to database
amoDb = amoServer.Databases[dbName]
amoDb.Process(ProcessType.ProcessFull)
Run Code Online (Sandbox Code Playgroud)
我对Python完全一无所知,但如果它可以调用DLL,那么它应该能够使用微软的ADOMD对象。这是我能想到的最好的选择。
您可以查看 Office Web Components (OWC),因为它具有可以嵌入网页上的 OLAP 控件。我认为你可以将 MDX 传递给它,但也许你也希望 Python 看到结果,但我认为它不允许。
否则,也许您可以用另一种语言构建自己的“代理”。该程序/网页可以接受 MDX,并返回显示结果的 XML。然后 Python 就可以使用这个 XML。