我是MDX/OLAP的新手,我想知道是否有任何类似于支持OLAP的类似于Django ORM for Python的ORM.
我是一个Python/Django开发人员,如果有一些东西可以与Django进行某种程度的集成,我会非常有兴趣了解它.
我想构建一个类似于Google-Analytics的网络应用程序,我会在其中收集客户最终用户的统计信息,并根据该数据向客户展示分析.
特点:
由于分析需要,我正在考虑使用OLAP/BI套件,但我不确定它是否适合这种规模.NoSQL数据库?简单的RDBMS会做什么?
在主要使用Mac桌面的环境中使用SSAS 2008.使用DbVisualizer和Aqua Data Studio编写关系查询,但需要本机桌面应用程序来编写MDX查询并查看OLAP源的结果.
VMWare/Parallels不是我们需要的方法,在某些情况下使用RDP /终端服务.基于Web的界面适用于最终用户,但BI开发人员更喜欢更方便的东西.
谷歌搜索没有返回太多有用的点击.
任何人都可以推荐用于浏览和查询OLAP源的本机/ Java桌面应用程序吗?
内存中的OLAP引擎是否具有优于传统OLAP引擎的优势,而传统的OLAP引擎由足够的RAM支持以包含整个多维数据集?
例如,如果我使用MOLAP引擎(SSAS)和RAM/GB/TB,其中整个多维数据集(甚至是星型模式)都是RAM驻留,那么与TM1/SAP HANA相比有什么不同?
我需要按日期过滤的蒙德里安的MDX查询,其中一个或两个边界日期可能不存在.我使用下面的查询只要存在2013-01-01和2013-01-08维度就可以使用.如果两个日期中的一个不存在,则它不返回任何结果,即使两者之间的维度确实存在.即使在缺少边界日期维度的情况下,如何使此查询起作用?
SELECT
NON EMPTY {Hierarchize({[Measures].[Number of Something]})} ON COLUMNS,
NON EMPTY {[Date].[2013-01-01]:[Date].[2013-01-08]} ON ROWS
FROM [Users]
Run Code Online (Sandbox Code Playgroud) 我正在尝试列出在SSAS服务器中找到的所有对象(多维数据集,维度,分区等)。我可以使用以下项目来做到这一点:
我正在尝试为每个对象检索相关目录(在数据目录内)。我无法执行此操作,因为文件名包含一些递增数字,每次您对数据库中的对象进行更改时,这些数字都会更改。例:
夹:
|Data Dir|\<SSASDB>\TestCube.0.cub
Run Code Online (Sandbox Code Playgroud)
更改并重新处理多维数据集后,它将更改为另一个值
|Data Dir|\<SSASDB>\TestCube.1.cub
Run Code Online (Sandbox Code Playgroud)
AMO类中是否有一个属性可以返回每个对象的文件夹路径?文件夹名称中包含的增量编号是什么值?有解决方法吗?
由于我只安装了SQL Server数据工具商业智能工具,因此我需要一个与SSIS脚本Task兼容的解决方案,因为这是我处理数据的唯一方法。请注意,在线上有许多文章可用于通过脚本任务使用AMO
环境: SQL Server 2014
我需要一个心理过程来设计OLAP数据库......
基本上对于标准关系,它(松散地):
Identify Entities
Identify Relationships
Identify Properties of Entities
Run Code Online (Sandbox Code Playgroud)
对于每个属性:
Ensure property can be related to only one entity
Ensure property is directly related to entity
Run Code Online (Sandbox Code Playgroud)
对于OLAP数据库,我理解术语,动机和结构; 但是,我不知道如何将我的关系模型分解为OLAP模型.
简介:我见过的MDX连接的大多数示例都涉及加入相对较小的集合,例如每个集合数十或数百个项目.但我发现自己也想尝试加入(特别是"非空加入")集合,每个集合包含数千或数万个项目,到目前为止它还不能正常运行.我想知道这是否可以使用,或者我是否需要考虑使用除Mondrian/OLAP之外的其他东西.
具体来说,我有一个记录公司(n = 7000)和客户(n = 27000)之间互动的立方体.目前公司和客户都是完全扁平化的层次结构; 有所有级别和个人 - 公司级别,其间没有其他级别.有一个中央事实表,以及公司和客户的单独维度表.
我的用户至少似乎想要沿着这些方向获取摘要报告,聚合公司和客户之间的所有非空交互:
select
[Measures].[Amount] on columns,
NonEmptyCrossJoin([Firm].Children,
[Client].Children) on rows
from MyCube
Run Code Online (Sandbox Code Playgroud)
但是这个查询及其变体在我的测试Mondrian设置中不起作用.要么我得到一个OutOfMemoryException(在2GB的Java堆上),要么Java似乎花了不可思议的长时间在mondrian.rolap.RolapResult $ AxisMember.mergeTuple(TupleCursor).(如果有帮助的话,我可以提供更完整的堆栈跟踪.)"不可思议的长"我的意思是Java在我放弃之前会在数小时内停留在查询中.
我最初的预期上面的查询进行确定,因为从概念上讲它可以做一定程度的只是在做沿着这些路线的SQL查询有效:
select Firm, Client, Sum(Amount) as n
from fact, firm, client
where fact.firmid = firm.firmid and fact.clientid = client.clientid
group by Firm, Client
Run Code Online (Sandbox Code Playgroud)
(事实上,如果我直接在MySql中执行这样的操作,则执行时间不会超过15秒.)
但是从调试日志来看,Mondrian似乎没有尝试这种优化.相反,它似乎是在内部进行连接,并且最终变得特别慢.我在我的mondrian.properties中设置了mondrian.native.crossjoin.enable = true,但这似乎不是Mondrian能够"生成本机"的连接类型之一.(如果我打开mondrian.native.unsupported.alert = ERROR,那么我得到相应的异常.)
我想知道我是否需要阻止我的用户尝试加入如此大的尺寸/集合,或者Mondrian是否可能不是我在这里寻找的工具.但也许我只是做错了什么.
我有一个SSAS 2008多维数据集,用于存储来自股票市场的一天结束的财务数据.该多维数据集仅在市场收盘后每天处理一次,因此它从未获得有关当前日内交易数据的任何信息.我还有一个关系数据库,其中包含当前股票的日内交易信息.我试图找到一种方法来组合这两个数据源,以便我可以执行计算,例如基于当前价格的库存的30天移动平均值,以及之前29天的历史数据.我正在使用SSAS标准版,因此我无法访问主动缓存或多个分区等功能,以帮助我近乎实时地处理当前数据.
对于单个查询的上下文,有什么方法可以以某种方式动态地将我的SQL数据库中的行包含到我的事实表中?基本上只是暂时将一小部分数据引入到多维数据集中以处理某个计算?
我正在OLAP环境中的一些非常大的表上运行一些聚合查询.我目前受到磁盘IO的瓶颈,速度为200 MB/s.
我正在使用92 GB RAM的机器上进行这些查询.是否有任何SQL提示我可以写入我的查询,基本上告诉SQL在执行之前将整个表加载到RAM中?
就像是:
从myTable中选择*(ramdisk)
我正在使用MS TSQL.