问题标签 [olap4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mdx - MDX 查询的性能问题
我正在尝试根据使用下面的 MDX 查询和多维数据集定义的一些过滤器从 MySQL 数据库中获取前 5 条记录。但是,这个查询需要更多的时间来执行,并且当我们在 where 条件下的 FILE_NUM 数量较少时,它可以正常工作。请建议如何重写此查询以获得性能。
MDX 查询:
在列上选择 {[Measures].[BBLSOIL_TOTAL],[Measures].[MCF_PROD_TOTAL],[Measures].[AVG.DAYS]},{TOPCOUNT(FILTER([WELL_ID].[WellIds].MEMBERS,[WELL_ID].当前成员
0),5,[Measures].[BBLSOIL_TOTAL])} 来自 [MON_KPI_CHARTS] 的行 WHERE({[Date].&[2015-09-01 00:00:00.0]}*{[FILE_NUM].[1] ,[FILE_NUM].[10],[FILE_NUM].[18],[FILE_NUM].[47],[FILE_NUM].[52],[FILE_NUM].[105],[FILE_NUM].[126],[ FILE_NUM].[392],[FILE_NUM].[588],[FILE_NUM].[656],[FILE_NUM].[995],[FILE_NUM].[1005],[FILE_NUM].[1010],[FILE_NUM] .[1061],[FILE_NUM].[1128],[FILE_NUM].[1137],[FILE_NUM].[1138],[FILE_NUM].[1337],[FILE_NUM].[1340],[FILE_NUM].[ 1410],[FILE_NUM].[1438],[FILE_NUM].[1503],[FILE_NUM].[1628],[FILE_NUM].[1698],[FILE_NUM].[1801],[FILE_NUM].[1808] ,[FILE_NUM].[1843],[FILE_NUM].[1876],[FILE_NUM].[1885],[FILE_NUM].[2017],[FILE_NUM].[2051],[FILE_NUM].[2053],[ FILE_NUM].[2134],[FILE_NUM].[2929],[FILE_NUM].[2930],[FILE_NUM].[2931],[FILE_NUM].[2946],[FILE_NUM].[2979],[FILE_NUM] .[3039],[FILE_NUM].[3080],[FILE_NUM].[3087],[FILE_NUM].[3124],[FILE_NUM].[3125],[FILE_NUM].[3165],[FILE_NUM].[3166],[FILE_NUM].[3237],[FILE_NUM].[3256],[FILE_NUM].[3314],[FILE_NUM ].[3421],[FILE_NUM].[3445],[FILE_NUM].[3485],[FILE_NUM].[3493],[FILE_NUM].[3501],[FILE_NUM].[3552],[FILE_NUM]。 [3557],[FILE_NUM].[3622],[FILE_NUM].[3795],[FILE_NUM].[3812],[FILE_NUM].[3824],[FILE_NUM].[3837],[FILE_NUM].[3858 ],[FILE_NUM].[3884],[FILE_NUM].[3952],[FILE_NUM].[3963],[FILE_NUM].[3984],[FILE_NUM].[3995],[FILE_NUM].[4021], [FILE_NUM].[4030],[FILE_NUM].[4097],[FILE_NUM].[4117],[FILE_NUM].[4142],[FILE_NUM].[4145],[FILE_NUM].[4153],[FILE_NUM ].[4155],[FILE_NUM].[4159],[FILE_NUM].[4161],[FILE_NUM].[4190],[FILE_NUM].[4209],[FILE_NUM].[4216],[FILE_NUM]. [4223],[FILE_NUM].[4251],[FILE_NUM].[4255],[FILE_NUM].[4303],[FILE_NUM].[4313],[FILE_NUM].[4315],[FILE_NUM].[4329 ],[FILE_NUM].[4343],[FILE_NUM].[4346],[FILE_NUM].[4356],[FILE_NUM]。[4366],[FILE_NUM].[4372],[FILE_NUM].[4400],[FILE_NUM].[4401],[FILE_NUM].[4409],[FILE_NUM].[4422],[FILE_NUM].[4443 ],[FILE_NUM].[4484],[FILE_NUM].[4501],[FILE_NUM].[4539],[FILE_NUM].[4569],[FILE_NUM].[4630],[FILE_NUM].[4638], [FILE_NUM].[4639],[FILE_NUM].[4658],[FILE_NUM].[4686],[FILE_NUM].[4698],[FILE_NUM].[4699],[FILE_NUM].[4768],[FILE_NUM ].[4775],[FILE_NUM].[4794],[FILE_NUM].[4799],[FILE_NUM].[4803],[FILE_NUM].[4805],[FILE_NUM].[4835],[FILE_NUM]。 [4891],[FILE_NUM].[4923],[FILE_NUM].[4925],[FILE_NUM].[4929],[FILE_NUM].[4950],[FILE_NUM].[4956],[FILE_NUM].[4961 ],[FILE_NUM].[4978],[FILE_NUM].[4987],[FILE_NUM].[4990],[FILE_NUM].[4992],[FILE_NUM].[4996],[FILE_NUM].[5020], [FILE_NUM].[5025],[FILE_NUM].[5026],[FILE_NUM].[5048],[FILE_NUM].[5057],[FILE_NUM].[5058],[FILE_NUM].[5067],[FILE_NUM ].[5074],[FILE_NUM].[5075],[FILE_NUM].[5077],[FILE_NUM].[5079],[FILE_NUM].[5080],[FILE_NUM].[5090],[FILE_NUM].[5095],[FILE_NUM].[5096],[FILE_NUM].[5098],[FILE_NUM].[5103],[FILE_NUM ].[5105],[FILE_NUM].[5139],[FILE_NUM].[5149],[FILE_NUM].[5154],[FILE_NUM].[5158],[FILE_NUM].[5165],[FILE_NUM]。 [5180],[FILE_NUM].[5198],[FILE_NUM].[5199],[FILE_NUM].[5207],[FILE_NUM].[5215],[FILE_NUM].[5219],[FILE_NUM].[5223 ],[FILE_NUM].[5236],[FILE_NUM].[5242],[FILE_NUM].[5275],[FILE_NUM].[5300],[FILE_NUM].[5304],[FILE_NUM].[5313], [FILE_NUM].[5321],[FILE_NUM].[5356],[FILE_NUM].[5368],[FILE_NUM].[5389],[FILE_NUM].[5401],[FILE_NUM].[5444],[FILE_NUM ].[5457],[FILE_NUM].[5467],[FILE_NUM].[5468],[FILE_NUM].[5498],[FILE_NUM].[5519],[FILE_NUM].[5520],[FILE_NUM]。 [5531],[FILE_NUM].[5539],[FILE_NUM].[5542],[FILE_NUM].[5563],[FILE_NUM].[5578],[FILE_NUM].[5707],[FILE_NUM].[5723 ],[FILE_NUM].[5761],[FILE_NUM].[5785],[FILE_NUM].[5795],[FILE_NUM]。[5809],[FILE_NUM].[5830],[FILE_NUM].[5860],[FILE_NUM].[5903],[FILE_NUM].[5923],[FILE_NUM].[5962],[FILE_NUM].[5966 ],[FILE_NUM].[5970],[FILE_NUM].[5996],[FILE_NUM].[6005],[FILE_NUM].[6006],[FILE_NUM].[6008],[FILE_NUM].[6012], [FILE_NUM].[6023],[FILE_NUM].[6032],[FILE_NUM].[6041],[FILE_NUM].[6043],[FILE_NUM].[6073],[FILE_NUM].[6100],[FILE_NUM ].[6150],[FILE_NUM].[6201],[FILE_NUM].[6223],[FILE_NUM].[6271],[FILE_NUM].[6295],[FILE_NUM].[6314],[FILE_NUM]。 [6404],[FILE_NUM].[6440],[FILE_NUM].[6459],[FILE_NUM].[6482],[FILE_NUM].[6486],[FILE_NUM].[6502],[FILE_NUM].[6540 ],[FILE_NUM].[6588],[FILE_NUM].[6610],[FILE_NUM].[6637],[FILE_NUM].[6653],[FILE_NUM].[6664],[FILE_NUM].[6725], [FILE_NUM].[6819],[FILE_NUM].[6871],[FILE_NUM].[6932],[FILE_NUM].[6934],[FILE_NUM].[6978],[FILE_NUM].[7009],[FILE_NUM ].[7042],[FILE_NUM].[7043],[FILE_NUM].[7055],[FILE_NUM].[7493],[FILE_NUM].[7547],[FILE_NUM].[7554],[FILE_NUM].[7612],[FILE_NUM].[7624],[FILE_NUM].[7638],[FILE_NUM].[7646],[FILE_NUM ].[7671],[FILE_NUM].[7693],[FILE_NUM].[7695],[FILE_NUM].[7696],[FILE_NUM].[7697],[FILE_NUM].[7698],[FILE_NUM]。 [7708],[FILE_NUM].[7710],[FILE_NUM].[7711],[FILE_NUM].[7862],[FILE_NUM].[7910],[FILE_NUM].[7927],[FILE_NUM].[7960 ],[FILE_NUM].[7962],[FILE_NUM].[8009],[FILE_NUM].[8033],[FILE_NUM].[8056],[FILE_NUM].[8057],[FILE_NUM].[8104], [FILE_NUM].[8109],[FILE_NUM].[8170],[FILE_NUM].[8177],[FILE_NUM].[8181],[FILE_NUM].[8211],[FILE_NUM].[8323],[FILE_NUM ].[8376],[FILE_NUM].[8412],[FILE_NUM].[8475],[FILE_NUM].[8541],[FILE_NUM].[8547],[FILE_NUM].[8578],[FILE_NUM]. [8654],[FILE_NUM].[8691],[FILE_NUM].[8697],[FILE_NUM].[8699],[FILE_NUM].[8749],[FILE_NUM].[8763],[FILE_NUM].[8790 ],[FILE_NUM].[8840],[FILE_NUM].[8870],[FILE_NUM].[8939],[FILE_NUM].[9036],[FILE_NUM].[9077],[FILE_NUM].[9094],[FILE_NUM].[9107],[FILE_NUM].[9149],[FILE_NUM].[9150],[FILE_NUM].[9293 ],[FILE_NUM].[9429],[FILE_NUM].[9499],[FILE_NUM].[9550],[FILE_NUM].[9571],[FILE_NUM].[9579],[FILE_NUM].[9752], [FILE_NUM].[9910],[FILE_NUM].[9953],[FILE_NUM].[10270],[FILE_NUM].[10271],[FILE_NUM].[10272],[FILE_NUM].[10273],[FILE_NUM ].[10274],[FILE_NUM].[10275],[FILE_NUM].[10309],[FILE_NUM].[10326],[FILE_NUM].[10403],[FILE_NUM].[10408],[FILE_NUM]。 [10471],[FILE_NUM].[10491],[FILE_NUM].[10496],[FILE_NUM].[10505],[FILE_NUM].[10551],[FILE_NUM].[10572],[FILE_NUM].[10601 ],[FILE_NUM].[10615],[FILE_NUM].[10679],[FILE_NUM].[10725],[FILE_NUM].[10778],[FILE_NUM].[10819],[FILE_NUM].[11002], [FILE_NUM].[11042],[FILE_NUM].[11055],[FILE_NUM].[11076],[FILE_NUM].[11095],[FILE_NUM].[11112],[FILE_NUM].[11213],[FILE_NUM ].[11249],[FILE_NUM].[11308],[FILE_NUM].[11311],[FILE_NUM].[11486],[FILE_NUM].[11555]})
立方体定义:
mdx - 如何使用 olap4j 从 mdx 查询中的第二列读取数据
我有 mdx 查询,结果数据分为 2 列。如何使用 Java 中的 CellSet 读取第二列中的数据。我正在使用 CellSet.getcell(index) 从 mdx 查询的第一列读取数据。
| 第 1 列 | 第 2 列 |
| 111 | 222 |
primefaces - 使用 Primefaces 和 Pivot4J 的示例
对不起,如果这是一个菜鸟问题。
我目前正在考虑使用 Primefaces 作为前端来显示来自 OLAP4J 多维数据集和 MDX 的数据。我查看了 Pivot4J 分析应用程序,它运行良好,但想要一个更简单的示例来检索数据并将其呈现在 Primefaces 网格中。
我已经搜索并找不到这样一个简单的例子来理解它是如何组合在一起的。有这样的文档/例子吗?
jboss - 迁移到 WildFly 后出现 olap4j 错误
使用 olap4j 1.2.0 和 olap4j-xmla 1.2.0 使用 JBoss 5.1 没有错误,当应用程序在 WildFly 上运行时,会在日志中看到下一个错误:
和
相同的 olap4j 库,相同的连接设置,相同的多维数据集。此外,一个月前,所有这些都与具有相同库和代码的 WildFly 完美配合。
excel - olap4j 和 Microsoft Analysis Services 缓存
我正在使用 olap4j 1.2.0 连接到 Microsoft Analysis Services。
我的代码是
所以,当我使用 Excel 时,查询大约需要一秒钟。我从 Excel 中获取 MDX 查询字符串(使用宏)并将其放入我的代码中的“MDX 查询”中。执行大约需要 145 秒(取决于日期过滤器和获取数据的大小)。
我想,Excel 使用 MSAS 的缓存,但 olap4j 没有。我知道,olap4j 使用它自己的缓存——当我执行 2 个相同的 olap 查询时,第二个查询执行得非常快(约 300 毫秒)。
问题是“有没有办法告诉 olap4j 使用 MSAS 缓存?”
我猜是Excel使用OLEDB连接MSAS,缓存策略是在连接字符串中指定的(或者是OLEDB驱动默认提供的,我不知道),但是我在XmlaOlap4jDriver中没有找到类似的参数。
对不起,我的英语不太好,提前谢谢。
java - 如何使用 olap4j 读取 mdx 中的列标题和行标题
我有一个 mdx 查询,它给了我如附图所示的结果。我想使用 olap4j 库从 java 中读取维度,即列标题和行标题。使用 getCell 方法我可以读取值,谁能告诉我使用哪些方法来读取列标题和行标题。(MDX Result Total Sales Amount, Sunday,monday ...)
java - 从 Java 访问 SSAS 多维数据集
我们正在使用 MDX、Microsoft.AnalysisServices.AdomdClient 重写一个 .NET 应用程序。在 Java 中,连接到 Microsoft SQL Server Analysis Services、SSAS 并不容易。我们有 5 个大型 MDX 查询。据我了解,也许要使用它,在这种情况下,应该正确配置 SQL Server Analysis 的 XML/A HTTP 访问。但它尚未配置。你能告诉我什么情况是合适的:
- JDBC + 将 MDX 重写为 SQL
- olap4j + 为 SQL Server 分析配置 XML/A HTTP 访问
- 或任何其他好方法
以及性能如何?
maven - 32 位和 64 位平台上的 Maven 依赖项问题
我的 pom.xml 文件有问题。我有一个使用 Spring MVC 制作的项目并使用此依赖项:
该项目是在基于 64 位 Gnome Debian 的系统上开发的,并且工作正常,但昨天我试图在 32 位 Debian LXDE 笔记本电脑上从 Github 签出该项目,但我有 Maven 错误,Eclipse 一直说我缺少依赖项:
- 缺少工件 org.olap4j:olap4j:jar:0.9.7.309-JS-3
- 缺少工件 com.lowagie:itext:jar:2.1.7.js5
虽然我在两台机器上使用相同的软件版本(32 位和 64 位):
- 日食火星。
- apache-tomcat-8.0.33。
- jdk1.8.0_92
我找到的解决方案(在几乎杀死 maven 之后)是添加所需的额外 maven 依赖项。对我来说,这个解决方案没有多大意义,因为它只在 32 位机器上需要:
经过研究,我发现 Jasperreports 6.3.0 已经在 jar 文件中包含了缺少的依赖项,这就是为什么在 64 位机器上唯一需要的依赖项是 jasperreports 6.3.0。
我的问题是:
- 考虑到软件工具版本相同,为什么我需要两个版本的 pom 文件:一个用于 32 位计算机,另一个用于 64 位计算机?
- 我怎样才能只有一个版本的 pom 文件在两个平台上都可以使用?
提前致谢!
sql - 在 where 子句中使用 INT 与 DATE
我在数据仓库中有两个表:balances
和dates
. Balances
具有以下结构:
并dates
具有以下结构:
该Surrogate Key Date
列是 INT 类型,并且Date
在两个表中该列都是 DATE 类型。
表中的代理键balances
用于 OLAP 查询,日期用于定期报告。
现在,我需要开发一个密集使用数据库的程序(它是一个批处理),它需要通过日期列重复访问余额表。我应该在这个过程中使用代理键日期列还是日期列?我需要按日期过滤。where 子句中的 INT 访问是否比 DATE 访问更有效?Surrogate Key Date
不使用 OLAP 时是否应该忽略该列?
java - 无法通过 Olap4J API 连接到 OLAP Cube
我正在尝试使用 Olap4J 连接到 OLAP Cube。我正在使用jdk14
和olap4j-1.0.0.445.jar
。我知道服务器和目录的 IP 地址。但我无法连接。以下异常似乎是最大的问题:
Server returned HTTP response code: 401 for URL: http://xx.xx.xx.xxx/olap/msmdpump.dll
我是否在我的请求中遗漏了某种身份验证信息,还是遗漏了一些更基本的信息?
联系:
例外: