从SQL Server 2005开始,SQL Server平台提供了一个很强大的功能:CLR集成。就是说,现在我们可以使用.NET语言(例如C#或者VB.NET)编写一些对象,然后部署到SQL Server中去,达到扩展SQL Server的目的。

在SQL Server关系数据库引擎中,我们可以编写下面五种对象

  • 存储过程
  • 函数(标量的,或者是表值函数)
  • 触发器
  • 聚合
  • 自定义类型

在SQL Server Analysis service中,我们编写的对象比较有限,只有一种:存储过程。

当然,SSAS里面的编程也更加简洁一些。下面我就演示一个简单的例子

1. 创建一个类库项目。我们直接使用标准的Class Library即可,无需添加任何其他的引用。(当然,如果你的存储过程会用到一些特殊功能,则除外)

请注意看,这里唯一的要求是:方法必须是静态的(static)

我们这个存储过程(或者称为方法更合适)接受一个参数,返回值也是一个字符串。

2. 编译,生成该项目,得到一个dll

3. 将该程序集,添加到SSAS

【注意】如果你的程序集想在整个服务器级别共享,则可以选择到服务器节点下面的那个“程序集”节点,然后点击右键,“新建程序集”

点击"确定"即可

4. 测试该程序集。

WITH MEMBER [Employee].[Employee Name].[TestMember]
AS
SSASStoreProcedure.AddPrefix('chenxizhang') --这里引用的语法是:namespace.methodName, 不需要写classname

SELECT TestMember ON 0
FROM [Analysis Services Tutorial]

这个查询的结果如下

到这里为止,我们就完成了一个很简单的存储过程,而且完成了部署

当然,确实很简单。我们下面再来看看如何实现更加复杂的存储过程

本文由作者:陈希章 于 2009/6/27 11:23:21 发布在:http://www.cnblogs.com/chenxizhang/
本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心

转载于:https://www.cnblogs.com/chenxizhang/archive/2009/06/27/1512163.html

SSAS : 使用.NET为SSAS编写自定义程序集相关推荐

  1. SSAS : 使用.NET为SSAS编写自定义程序集(四)

    这一篇我来讲解一下如何为SSAS编写一些操作.这与之前谈到的用于查询的存储过程是不一样,它没有返回值,而是进行某个操作. 通常这种操作,会根据一些参数对当前的Cube做一些操作.我这里作为演示目的,就 ...

  2. CodeGen编写自定义表达式标记

    CodeGen编写自定义表达式标记 CodeGen支持开发人员通过编写plug-in modules插件模块来定义自定义表达式标记的能力,以提供与这些标记相关联的逻辑.这种plug-in module ...

  3. C#编写自定义Excel公式计算非均匀现金流的NPV与IRR

    1.用Visual Studio新建一个类库,命名为CashFlowTools 2.引用必要的类库: using System; using System.Collections.Generic; u ...

  4. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义函数在三线表中添加p值

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义函数在三线表中添加p值 目录

  5. Python使用numpy包编写自定义函数计算平均绝对误差(MAE、Mean Absolute Error)、评估回归模型和时间序列模型、解读MAE

    Python使用numpy包编写自定义函数计算平均绝对误差(MAE.Mean Absolute Error).评估回归模型和时间序列模型.解读MAE 目录

  6. pandas编写自定义函数计算多个数据列的加和(sum)、使用groupby函数和apply函数聚合计算分组内多个数据列的加和

    pandas编写自定义函数计算多个数据列的加和(sum).使用groupby函数和apply函数聚合计算分组内多个数据列的加和 目录

  7. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、为不同的变量显示不同的统计信息

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).为不同的变量显示不同的统计信息 目录

  8. 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、编写自定义函数在三线表中添加p值

    三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).编写自定义函数在三线表中添加p值 目录

  9. pandas编写自定义函数、使用apply函数应用自定义函数基于Series数据生成新的dataframe

    pandas编写自定义函数.使用apply函数应用自定义函数基于Series数据生成新的dataframe 目录 pandas编写自定义函数.使用apply函

最新文章

  1. linux系统中安装java
  2. 【Android 界面效果49】RecyclerView高度随Item自适应
  3. mysql6.5 操作日志
  4. 反射、对象拷贝、异常常见问题总结
  5. js 控制超出字数显示省略号
  6. 通过命令修改wampserver的mysql密码
  7. linux自动重启电脑脚本,linux下通过脚本实现自动重启程序的方法
  8. 千锋培训php怎么样,零基础学员真实感受 选择千锋PHP培训完成人生蜕变
  9. man综述--系统调用和库函数的关系
  10. 对称密钥与非对称密钥
  11. 电脑返回,电脑返回上一步快捷键(ctrl加什么是返回上一步)
  12. Boxy vehicle detection 数据集
  13. 锐捷网络2019年秋招售前产品经理面试总结
  14. python数据分析09_pandas数据聚合与分组运算
  15. 国家开放大学专科计算机应用实训项目,国家开放大学电大专科《微机系统与维护》网络课实训1实训3作业及答案.docx...
  16. elementui Messagebox确认消息弹框中没有取消按钮
  17. ubuntu安装的微信不能发送图片
  18. 基于Docker离线部署开源视频会议系统Jitsi-Meet
  19. 伦敦的威斯敏斯特大教堂地下室的墓碑林中,一块震撼全世界的一段碑文。
  20. jmeter无法启动,jmeter启动后找不到java环境问题

热门文章

  1. 小程序框架之wepy报错问题
  2. phpstrom php出现404
  3. Hibernate——简单的增、删、改、查操作
  4. Scrum项目1.0
  5. Entity Framework 实体框架的形成之旅--实体数据模型 (EDM)的处理(4)
  6. EditText / This text field does not specify an inputType or a hint
  7. java增强型for循环(三种遍历集合方式)
  8. Java内存溢出分析
  9. CXF2.7.3 与spring 3集成 .
  10. 架构师之道:面向组件的Web架构设计