《SQL SERVER 商业智能维护与管理》读书笔记(七): SSAS CUBE进阶

本章讨论如何建立供报表使用的最终用户层,它由KPI、行为、视图、翻译组件,以及如何建立新的度量组和用户特征。

学习目标:

l         建立和维度度量组与分区

Ø         建立度量组

Ø         增加度量到度量组

Ø         修改度量属性

l         建立关键性能指标

Ø         建立值和目标表达式

Ø         建立趋势指示器和表达式

Ø         建立状态指示器和表达式

l         建立行为

Ø         建立行为目标

Ø         建立行为内容

Ø         建立行为类型和行为表达式

l         使用MDX建立查询和计算

Ø         使用MDX查询多维数据

Ø         建立计算

Ø         在度量维度中建立计算成员

Ø         在其它维度中建立计算成员

Ø         建立命名集

l         建立CUBE

Ø         定义翻译

Ø         定义视图

 

一、建立度量组和度量

1、建立新的度量组

1)另外建立度量组的两种情况:

l         需要建立与事实表一样数据的度量组

l         建立计数度量

2)步骤

A)确保使用到的事实表加入到DSV

B)在新建度量组向导中选择底层事实表

2、理解度量组的属性

3、增加和配置度量

1)增加一个新的度量

l         全加性度量

聚集跨跃全部维度 ,如计算销售总额

l         半加性度量

聚集只使用部分维度,如计算帐户余额和库存余额

l         无加性度量

不跨跃任何维度,如比率

2)配置度量

度量表达式:表达式的第二个操作数必须是来自其它度量组的度量

二、建立关键性能指标

许多组织使用KPI来测试业绩。因此KPI被用来表示关键成功因素的可测量值,比如销售利润、收入增长率、客户增长率等。

1、理解KPI目标、值、趋势、状态属性

KPI是一种扩展度量,由四个表达式属性组成,其中值是必填的, 其它可选。

1)值

2)目标

如下面的表达式,指定为比去年同期销售额增长40%

1.4*([Order Date].[Calender].PrevMember, [Measures].[Reseller Sales Amount])

PrevMemberMDX函数,返回当前层次的前一个成员

3)状态

指定值和目标间如何比较。

返回值:-1    未达标的业绩

           0     可接受的业绩

        1     优良业绩

CASE

WHEN KPIValue("Reseller Sales")/ KPIGoal("Reseller Sales")>=1

THEN 1

WHEN KPIValue("Reseller Sales")/ KPIGoal("Reseller Sales")<1

       AND KPIValue("Reseller Sales")/ KPIGoal("Reseller Sales")>=0.85

THEN 0

ELSE -1

END

4)趋势

取值范围:trend>=-1trend<=1

([Measures].[Reseller Sales Amount] –

([Order Date].[Calendar].PrevMember, [Measures]. [Reseller Sales Amount]))/

[Measures].[Reseller Sales Amount]

2、其它KPI属性

l         关联度量组

与哪一个度量组关联

l         Display Folder

l         Parent KPI

常用于将一组KPI显示在一个计分卡内。

l         Current Time Member

指定适用于当前成员的时间维成员

l         Weight——权重

l         状态指示器和趋势指示器图标

3、察看KPI

可以使用对KPI感知的应用程序浏览KPI,如EXCEP2007REPORT SERVICES 2005,也可以在SSMS中用MDX查询,如:

Select { KPIValue(“Reseller Sales”),

       KPIGoal(“Reseller Sales”),

       KPIStatus(“Reseller Sales”),

       KPITrend(“Reseller Sales”)} on Columns,

       [DimPoduct].[Product Category].Members on Rows

From [Adventure Works DW]

Where [Order Date].[Calendar].[Calendar year].&[2003]

三、定义行为、翻译和视图

1、实现“动作”

场景:如果用户想查看与某个产品相关的所有定单详细信息,而CUBE中又没有存储定单的详细信息,这时可以实现一个报表动作,请求一份SSRS报表,显示来自其它系统中的数据。

注意:并不是所有的客户端都支持Actions。如EXCEL2007支持ACTIONREPORT SERVICE 2055不支持,因此在选择使用ACTION前,认真考虑所使用的客户端工具。

1)理解动作类型

l         常规动作

基于动作内容又可以进一步分类

内容类型

目的

数据集

动作内容是MDX语句

私有

动作内容是客户端指定的;客户端负责解释动作玉语义

行集

动作内容是接收数据的命令语句。目标是OLE DB数据源

语句

动作内容是一条OLE DB命令;区别是它不产生任何结果集,只返回成功还是失败

URL

动作内容是URL;需要指定使用的协议

l         下挖CUBE中的详细数据。这是客户端可以发送给SSAS执行的唯一一个动作。

只适用于维度组。

l         报表动作。用于请求执行SSRS报表,命令行是SSRSURL和参数。

2)理解动作发现

配置ActionAction Type Action Object(可以是MDX表达式)

原理:

客户端将用户上下文以坐标的形式发送给服务器;服务器端使用坐标匹配动作范围,识别适用于那个范围的动作,如果找到了这样的动作,解析它的命令并发送给客户端。

2、使用翻译实现本地化

翻译是指CUBE元数据的译本

1)翻译CUBE

Translation Tab->New Translation

2)翻译维度

Dimension Designer->Translation Tab->New Translation

维度成员的本地化

默认情况下,SSAS根据线程的语言决语言

3、实现CUBE视图

注意:CUBE视图不是一种安全机制,只是用于简化用户使用

四、使用MDX建立计算和查询

1MDX基础

1)元组

CUBE空间中的一个多维坐标

&[key]    使用KEY来查找成员

2)集合

具有相同维数的元组的集合

2、基本的MDX查询

1)坐标轴

2)计算成员

With Member [Gross Profit] As

       ‘[Measures].[Internet Sales Amount]+[Measures].[Reseller Sales Amount]’

Select {[Measures].Internet Sales Amount},[Gross Profit]}

From [Adventure Works DW]

Where [Order Date].[Calendar Year].&[2003]

3、使用MDX函数

1Current Member

指维度成员的Default  属性

2)层次导航函数

l         PrevMember

l         Members

返回层次中的所有成员

l         Childrens

返回指定成员下的所有成员

l         Parents

返回指定成员的父成员

3)时间导航函数

l         Lag

返回指定成员的偏移成员

[Order Date].[Calendar].Lag(1)

l         ParallelPeriod

返回上一期间中与指定成员具有相同的相对位置的成员。

ParallelPeriod 函数具有下列默认值:

如果既没有指定级别表达式,也没有指定成员表达式,则默认成员值为具有某种时间类型 (Time.CurrentMember) 的维度的当前成员。

如果指定了级别表达式,但未指定成员表达式,则默认成员值为 Level_Expression.Hierarchy.CurrentMember

默认索引值为 1

默认级别为指定成员的父级别。

ParallelPeriod 函数等效于下面的 MDX 语句:

Cousin(Member_Expression, Lag(Ancestor(Member_Expression, Level_Expression), Numeric_Expression)

示例:

下面的示例以季度级别为基准并以三个期间为间隔,返回了 October 20032003 10 月)的并行期间,即 2003 1 月。

SELECT ParallelPeriod ([Date].[Calendar].[Calendar Quarter]
   , 3
   , [Date].[Calendar].[Month].[October 2003])
   ON 0
   FROM [Adventure Works]

下面的示例以半期级别为基准并以三个期间为间隔,返回了 October 20032002 10 月)的并行期间,即 2002 4 月。

SELECT ParallelPeriod ([Date].[Calendar].[Calendar Semester]
   , 3
   , [Date].[Calendar].[Month].[October 2003])
   ON 0
   FROM [Adventure Works]

4、建立计算成员

计算成员在运行时动态计算

1)语法

CREATE [ SESSION ] [HIDDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name

      AS MDX_Expression

      [,Property_Name = Property_Value, ...n]

......[,SCOPE_ISOLATION = CUBE]

[format_string=…],

[NON_EMPTY_BEHEVIOR= …]

如果NON_EMPTY_BEHEVIOR的结果为NULL,则计算成员的结果也为NULL,一般是从性能上考虑

2)什么时候使用计算成员

l         需要建立不属于某个度量组的度量

l         半加性度量

 

5、定义命名集——维度成员的集合

CREATE [SESSION] [HIDDEN] SET

   CURRENTCUBE | Cube_Name

            .Set_Name AS 'Set_Expression'

CREATE SET [Adventure Works].[Core Products] AS '{[Product].[Category].[Bikes]}'

示例:

SELECT [Core Products] ON 0

  FROM [Adventure Works]

五、总结

1、度量组是度量的容器。它最重要的属性是AggreationFunction

2KPI是可量化的度量

3、使用ACTION扩展CUBE的功能

4、使用Translation本地化CUBE和维度的元数据及维度标题

5、视图是CUBE元数据的一个子集,减少了CUBE的复杂性

6、使用计算成员和命名集实现业务逻辑

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值