在 oracle OBIEE 中创建甜甜圈图

问题描述

大家好

我正在尝试从 oracle 在 OBIEE 中创建一个圆环图,我使用的版本是:12.2.1.4.0。

请注意,我们的 OBIEE 位于我们的组织网络中,无法访问互联网。 所以我不能使用任何需要互联网的解决方案,比如 Google Api

甜甜圈图表示例:

enter image description here

只有饼图可用:

enter image description here

非常感谢大家..

解决方法

数据可视化具有开箱即用的圆环图类型。它在 12.2.1.4 中可用。

,

您可以使用 D3 通过叙述来创建它,但您需要自己编写代码。

要做到这一点,您需要

  1. 使 d3 在您的 BI 服务器上可用(我不记得 12.2.1.4 中是否已经存在 d3.js)
  2. 创建要绘制图表的分析
  3. https://www.d3-graph-gallery.com/graph/donut_basic.html 中提取代码并放入 narative(记得勾选 contains HTML 复选框)

假设你有一张看起来像的表 |姓名 |价值 | | ---- | ---- | | | 9 | |乙 | 20 | | | | 30 | | d | 8 | |电子 | 12 |

前缀

<!-- Load D3 library,need to change URL acccordingly -->
<script src="/analytics/res/[release string]/d3.js" />
<!-- Create div to hold your chart -->
<div id="my_dataviz"></div>

<!-- Start my donut chart script -->
<Script>
var data = {

叙述

@1: @2

行分隔符

,

后缀

}
// the d3 script references above minus the starting <script> tag and the section which sets data
</script>

它是如何工作的

关键是叙述位。 @1 引用第一列,@2 引用第二列,依此类推。 这只是动态构建脚本,因此输出最终看起来像 var data = {a: 9,b: 20,c:30,d:8,e:12}

您可以根据需要更改此设置、添加工具提示以在悬停时显示值、在中间显示总计等。

如果 D3 不存在(而且要找到它有点麻烦,但转到域主页和 find . -name "d3*js" 并查看弹出的内容),那么您将需要某处使 d3 库可用(简单如果您在 BI 前面有 OHS)请查看 https://gianniceresa.com/2016/12/deploy-custom-folder-obiee-12c-analyticsres/ 以创建在本地访问脚本的地方

缺点

这种方法并非没有缺点。第一个是您需要在 javascript 中对此进行编码。这不是太难,网上也有很多例子,但显然比创建一个普通图表要困难得多。

另一个正在出口。由于这些图表是在浏览器中呈现的,而 BI 只是认为它们是 html,因此它们不会正确导出(您将看到原始 HTML/javascript)