问题标签 [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.
java - MDX 查询返回不同的结果
SO社区,
我的 BI 应用程序有问题:
我在 Schema Workbench 上构建了一个模式,当我使用内置的查询测试器时,它可以完美而准确地工作。但是,当从我的 java 应用程序调用时,相同的模式会为完全相同的 MDX 查询返回不同的单元格值(我已经尝试过 PreparedOlapStatement.execute() 和 OlapStatement.executeOlapQuery(String) 方法)。
语句一执行,值就出错了,所以我相信这不是我的应用程序的问题。我已经尝试对查询进行硬编码,以确保它与我在工作台中使用的相同,但它仍然返回错误的值。
查询如下,由于(相当愚蠢的)公司政策而更改了一些名称:
假设过滤器按预期工作(因为我从 Schema Workbench 获得的结果是正确的,请仔细检查底层数据库),可能出了什么问题?
编辑:
生成的两个 SQL 查询是相同的:
所以不会让我并排上传查询的屏幕截图,但我使用了差异检查器来确认它们是相同的。
ssas - 如何通过 Windows 身份验证从 UNIX 框中访问 SSAS 数据泵 url
我正在尝试通过启用 Windows 身份验证的数据泵 URL ( http://SERVERNAME/OLAP/msmdpump.dll ) 访问 SSAS。
1) 我能够使用 windows 机器通过 olap4j 访问数据泵 URL。但是我如何通过用户名和密码进行授权?(似乎 Windows 身份验证详细信息正在解析到降神后的端点。)
2)但是当我在 MAC 上使用相同的代码库时,它会抛出一个错误,说“未经授权的访问”(401 错误)。我如何从 LINUX OS 访问这个 URL(数据泵)?
scala - Apache Pool 2 库 - 连接不会自动关闭
pool2
我在使用 Apache库的 Scala 中有以下代码。要池化的对象是OlapConnection
(一个olap4j
类,类似于 SQL 连接)。
问题是当池对象的数量超过最大值时,我无法让池自动关闭连接。
如果我将一个对象返回到pool.returnObject
触发passivateObject
. 如果我在 中关闭连接passivateObject
,我会在每次返回对象时关闭它,这不是我想要的 - 我需要缓存打开的连接。如果我不关闭中的连接passivateObject
,那么它将永远不会关闭。
如何使这项工作?
斯卡拉代码:
ssas - 如何从多维数据集生成 MDX 查询?如何使用 olap4j 调用?
我正在开发 java spring 批处理。我需要调用和执行 SSAS 多维数据集进程的一项任务。如何从多维数据集生成 MDX 查询?以及如何使用 OLAP4j 调用 mdx 查询?
谢谢
spring - spring-boot 是否支持任何动态 OLAP 报告生成工具?
我需要将 OLAP 报告支持添加到我现有的 Spring Boot Web 应用程序中。我遇到过多种 BI 工具,例如 BIRT、JasperServer Report 和 Saiku,但对于所有这些工具,我必须使用已经创建的多维数据集。如果数据有任何修改,将不会反映在我的报告中。
是否有任何第三方工具可以帮助我在运行时创建多维数据集或通过在运行时向多维数据集添加数据来生成报告?
olap - 实现 Olap4J XMLA 服务器的“没有合适的驱动程序”异常
我正在尝试实现olap4j-xmlaserver以通过 HTTP/XMLA 访问蒙德里安。我编译了项目,创建了一个war文件(包括一个web.xml
文件)并将其部署在Tomcat 7中。问题是当pivot客户端应用程序发送XMLA请求时出现异常:
我web.xml
放在一起(我在项目中找不到样本olap4j-xmlaserver
)。我确定这个web.xml
文件需要修复才能解决问题,尤其是连接字符串:
任何如何修复web.xml
配置的想法或指向相关文档的指针将不胜感激。
mdx - 我应该使用什么来代替已弃用的 mondrian.olap.Connection::execute?
所以我试图在 Java 1.8 中使用 Mondrian 3.14,所以我做了这样的事情:
但是,如此处所述,Connection::execute
已弃用:
已弃用。此方法已弃用,将在 mondrian-4.0 中删除。它通过在内部创建一个语句来运行。最好使用 olap4j 并显式创建语句。
那么,我应该在 olap 中使用什么来执行查询?
java - 无法使用 olap4j 连接到 XMLA/蒙德里安
我正在尝试通过 java api (olap4j) 连接到 XMLA webservice,以便通过位于 localhost 中的 BI 工具中的 Mondrian 多维数据集执行 MDX 查询。
这是我下面的代码:
我会得到以下错误:
java - MSS Studio 与 Java MDX 中 SSAS 查询的性能差异
就上下文而言,我不是 SSAS 专家,甚至不是狂热的用户,我主要是 Java 开发人员。我们有一个使用 SSAS 编写、开发和测试各种模型的数据科学团队。
为了将这些模型的输出与其他非 Microsoft 系统集成,我正在构建一个基于 Java 的服务,该服务可以使用 Olap4j/XMLA 从多维数据集中查询某些字段以运行 MDX 查询。但是表现(或缺乏表现)让我感到困惑。
如果我打开 MSS Studio,“浏览”多维数据集,将一些度量拖到度量窗格中,切换“显示空单元格”(否则由于某种原因我没有得到任何结果),然后点击执行,我几乎立即得到预期结果. 如果我单击红色方块关闭“设计模式”,它会将我带到 MDX 代码,如下所示:
如果我将此 MDX 查询粘贴到我的 Java 应用程序中并运行它,则使用以下代码需要 30 多秒才能返回结果:
我添加的措施越多,它变得越慢。我已经尝试在我的代码中放置一些日志记录和调试断点,但看起来确实是 SSAS 本身在返回我的数据时速度很慢。
请记住,我对 SSAS 知之甚少,我可以尝试什么?Olap4j 是否有一些我没有设置的配置选项?MSS Studio 是否在幕后做了一些我无法复制的优化?
编辑1:
预感我安装了 Wireshark 来监控我的网络流量,当我的查询运行时,我看到我的笔记本电脑和 SSAS 服务器之间有数十万甚至数百万的数据包。网络数据包很难解释,但其中很多似乎都在发送带有测量值的 HTTP 数据。例如:
所以看起来缓慢可能实际上都是网络流量!有没有办法让 olap4j/IIS/SSAS 压缩流量,这样我就可以在 olap4j 中获得与使用 MSS 类似的性能,在一秒钟内检索到相同数量的数据?