数据分析表达式的制作方法

文档序号:9506156阅读:395来源:国知局
数据分析表达式的制作方法
【专利说明】数据分析表达式
[0001]本申请是申请日为2010年10月6日、申请号为201080045506.4、名为“数据分析表达式”的申请的分案申请。
[0002]多维数据分析(例如,从多个观点查看和分析数据)在企业中已经逐渐变得流行。然而,当前多维数据分析应用通常要求用户精通诸如多维表达式语言(MDX)等复杂的语义语言,因为MDX表达式用于组织和分析数据。因此,未经MDX训练的企业雇员可能难以执行多维数据分析。此外,尽管企业雇员可能熟悉由通常可用的电子表格应用提供的数据分析公式,但这些公式通常不像多维数据分析程序一样强大。例如,这些公式只可启用一维(例如,顺序)数据聚集。因此,基于多个因素来作出决策的企业可能面临在以下两个昂贵的替换方案之间进行选择:对现有雇员进行诸如MDX等复杂语言的训练或者雇用专攻多维数据分析的分析员。
[0003]概述
[0004]公开了用于接收并处理数据分析表达式(DAX)的方法和系统。DAX可以以类似于电子表格公式的表达式语言定义,并且可以在电子表格在运算以执行多维数据分析以及针对关系数据模型的数据分析。由此,DAX可使得熟悉现有电子表格应用的人能够执行多维数据分析以及针对关系数据模型的数据分析(例如,在现有电子表格应用中)。不像常规的电子表格公式,DAX有益地独立于电子表格的特定单元格范围。
[0005]例如,可以在电子表格应用的数据透视表处接收并执行DAX。对数据透视表的特定单元格执行DAX可包括确定该特定单元格的上下文、计算对应于该特定单元格的DAX的值、以及在该特定单元格处输出DAX的计算出的值。
[0006]DAX可支持多表执行。例如,DAX可引用第一数据表和第二数据表,执行DAX可包括遍历第一数据表和第二数据表之间的关系(例如,遵循可存在于第一表中的一列和第二表中的一列之间的关系)。DAX还可支持动态重新执行。例如,可响应于对存储在一数据表的行集中的数据的用户修改来对该行集自动重新执行DAX。
[0007]提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0008]附图简述
[0009]图1是示出计算机系统接收并处理数据分析表达式的特定实施例的框图;
[0010]图2是示出计算机系统接收并处理数据分析表达式的另一特定实施例的框图;
[0011]图3示出了可由图1的系统使用的数据表的特定实施例;
[0012]图4示出了基于图3的数据表的数据透视表的特定实施例;
[0013]图5示出了可由图1的系统使用的数据表的另一特定实施例;
[0014]图6示出了基于图3的数据表和图5的数据表的数据透视表的特定实施例;
[0015]图7是示出接收并处理数据分析表达式的方法的特定实施例的流程图;
[0016]图8是示出接收并处理数据分析表达式的方法的另一特定实施例的流程图;
[0017]图9是示出接收并处理数据分析表达式的方法的另一特定实施例的流程图;
[0018]图10是计算环境的框图,该计算环境包括可用于支持如图1-9所示的计算机实现的方法、计算机程序产品和系统组件的实施例的计算设备。
[0019]详细描述
[0020]数据分析表达式(DAX)可使得能够在诸如电子表格应用等常规的数据处理应用处进行多维数据分析。例如,可接收DAX作为电子表格的一列的列定义或作为数据透视表处的度量。DAX可被执行以填充列,其中每一单元格中的值都是基于该单元格的行上下文来计算的。或者,数据透视表的单元格可通过执行DAX来填充,其中数据透视表的每一单元格中的值是基于与该单元格相关联的上下文(例如,过滤上下文)来计算的。
[0021]在一特定实施例中,公开了一种计算机实现的方法,包括在电子表格的数据透视表处接收数据分析表达式。该计算机实现的方法还包括对电子表格的至少一个数据表执行数据分析表达式。对数据透视表的特定单元格执行数据分析表达式可通过以下操作来执行:确定与该特定单元格相关联的上下文、基于该上下文来计算数据分析表达式的值、以及在该单元格处输出计算出的值。
[0022]在另一特定实施例中,公开了包括指令的计算机可读介质,这些指令在被处理器执行时使得处理器接收包括第一电子表格的特定列的列定义的输入。该输入包括基于电子表格的至少一列和基于第二电子表格的至少一列的数据分析表达式。计算机可读介质包括在被处理器执行时使得处理器执行以下操作的指令:确定第一电子表格和第二电子表格之间的关系并且通过执行数据分析表达式来填充特定列。对第一电子表格的特定行执行数据分析表达式包括:基于该第一电子表格的特定行中的第一数据以及从第二电子表格中检索到的基于同该特定行相关联的行上下文的第二数据,计算数据分析表达式的值。执行数据分析表达式还包括:在作为特定列和特定行的成员的单元格处输出计算出的值。
[0023]在另一特定实施例中,公开了一种系统。该系统包括存储器和数据接口,该数据接口被配置成接收数据,以基于接收到的数据来创建一个或多个数据表,并且将数据表存储在基于列的存储器中存储中(例如,映射到在线分析处理(OLAP)多维数据集(cube)结构的结构)。该系统还包括被配置成基于数据表来生成数据透视表的数据透视表模块。该系统还包括分析模块,该分析模块被配置成接收数据分析表达式并对数据表中的至少一列执行该数据分析表达式。对数据透视表的特定单元格执行数据分析表达式包括确定与该特定单元格相关联的过滤上下文以及检索与数据表的一行或多行相关联的、对应于该特定单元格的过滤上下文的数据。执行数据分析表达式还包括基于检索到的数据来计算数据分析表达式的值,并且在单元格处输出计算出的值。
[0024]图1是示出计算机系统100接收并处理数据分析表达式(DAX)的特定实施例的框图。计算机系统100包括数据接口 110和存储器114。计算机系统100包括电子表格分析模块126和电子表格数据透视表模块118。一般而言,计算机系统100可接收并处理DAX,诸如说明性的DAX 104。DAX可具有类似于现有电子表格公式的句法,并且可使得能够在计算机系统100处进行多维(例如,多表和/或多列)数据分析。
[0025]计算机系统100包括被配置成接收数据102的数据接口 110。在一特定实施例中,数据102由计算机系统100的用户提供。或者,数据102可以从另一计算机系统、网络存储设备或网络共享接收到。数据接口 110还被配置成使用存储器中基于列的存储来基于在存储器114处接收到的数据创建数据表112。例如,数据接口 110可以在电子表格应用中创建表(例如,电子表格),其中该表包括数据102。在线分析处理(OLAP)多维数据集116数据结构可基于存储器中基于列的存储来在存储器114处构造。OLAP多维数据集可存储数据,这些数据被排列以使得OLAP多维数据集的三个维度(即,轴)中的每一个都提供不同的数据排列。例如,OLAP多维数据集可构造按日期、产品标识符和客户标识符排列的销售数据,如此处参考图3-6进一步描述的。或者,数据表112可被存储在诸如OLAP超多维数据集(例如,具有不止三个维度的OLAP数据结构)等另一数据结构或某一其他存储器中列存储中。将数据表112存储在存储器114(例如,计算机系统100的随机存取存储器(RAM))处的OLAP多维数据集116中可有助于方便如此处描述的多维数据分析和数据透视表运算。数据表参考图3和5进一步描述。
[0026]计算机系统100还包括电子表格数据透视表模块118。在一说明性实施例中,电子表格数据透视表模块118是计算机系统100的电子表格应用的一部分。电子表格数据透视表模块118包括基于由OLAP多维数据集116引用的数据表112来生成数据透视表122的逻辑120。数据透视表122可支持“数据透视”运算,其中数据透视表122的行标题、列标题、过滤器或切片器(slicer)被改变并且数据透视表122中的数据值自动更新以反映改变。在一特定实施例中,响应于数据透视运算而更新数据透视表122包括重新执行存储器中OLAP多维数据集116的查询,以使得来自OLAP多维数据集的数据沿着OLAP多维数据集的不同玮度排列和查看。数据透视表参考图4和6进一步描述。
[0027]计算机系统100还包括电子表格分析模块126。在一说明性实施例中,电子表格分析模块126是计算机系统100的电子表格应用的一部分。电子表格分析模块126被配置成接收DAX 104并且包括被配置成执行DAX 104的DAX执行逻辑128。例如,电子表格分析模块126可以对数据表112执行DAX 104。对数据透视表122的特定单元格执行DAX包括确定该特定单元格的过滤上下文以及DAX 104所引用的表的行上下文、从OLAP多维数据集116中检索基于行上下文的数据124 (例如,与数据表112的一行或多行相关联的数据)、基于检索到的数据来计算DAX 104的值130、以及在数据透视表的单元格处输出计算出的值130。由此,填充数据透视表122可包括针对多个数据表的不同的上下文和交叉过滤自动递归地执行DAX 104。或者,计算可以按块模式执行,以使得对数据透视表的多个单元格的计算可以同时执行。
[0028]在一特定实施例中,DAX 104包括对数据表112的多行进行合计的公式。该公式可以是用包括模块118、126的电子表格应用的固有公式语言表达的用户定义的公式,而非引用电子表格应用的特定单元格范围。由此,DAX(例如,DAX
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1