长时间读者第一次发布海报。
我正在进入SQL Server Analysis Services,但是在填充我新创建的数据挖掘结构时遇到了很好的难度。
我希望从我的c#项目开始,我将其用作控制学习的中心枢纽。我想要学习的数据包含在SQL Server数据库中。
在SSMS中创建分析服务数据库后,我可以创建一个挖掘结构 -
创建矿业结构[DON_TEST_000]([ID_NUM] LONG KEY, [TECK1]双重连续,[TECK2]双重连续) 保持(30%)
然后追加我的模型 -
更新采矿结构[DON_TEST_000]添加采矿模型 [DON_TEST_000_MODEL0]使用Microsoft_Clustering
这似乎工作正常。我的问题是 - >
1)我希望使用ADOMD.NET从我的c#项目中完成此操作。我想我可以弄清楚如何使用它创建SSAS数据库并执行上述查询。
但更关键的是,
2)我无法用数据填充我的挖掘结构 - 因为OPENQUERY(通过INSERT)功能需要'数据源'。我已经阅读过如何使用Visual Studio创建它,但我希望以编程方式从我的c#项目中创建它。
当然,我可以使用c#将Sql Server数据导入Sql Server Analysis Services数据库。这似乎很容易!
感谢您的帮助, d
答案 0 :(得分:0)
不确定我是否正确使用您,但您可以从正常的SQL作业创建/处理SSAS数据库。您可以编写触发这些数据库作业的存储过程,并在c#.NET项目中调用它们。
答案 1 :(得分:0)
您必须从BIDS部署,但随后要重新处理多维数据集,您可以让SQL作业执行XMLA
例如,您将创建一个名为TestJob的作业,并且在您的XMLA数据库作业中,您将获得类似于此的内容:
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200">
<Object>
<DatabaseID>[Your SSAS Database]</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Batch>
然后您可以使用C#.NET,EXEC msdb.dbo.sp_start_job'TestJob'来运行多维数据集的重新处理。
不确定这是不是你想要的。