问题标签 [webi]

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.

0 投票
1 回答
3622 浏览

sap - 计算Webi中列的每周平均值

如图所示,我在 SAP Webi 中有一个包含 3 列的表。

在“每周平均值”列中,我想动态计算“计数”列的每周平均值(从周一到周日)。

可以用变量来做吗?如果没有,有什么建议如何用其他方法做到这一点?

谢谢。

在此处输入图像描述

0 投票
3 回答
278 浏览

sap - 在 Webi 报表中使用 UserResponse 排除总帐

我正在使用 Business Objects WEBi 构建一个新报告。

在一个单元格中,我想向列表中排除的总帐显示用户响应,但是当我使用公式时,=UserResponse["G/Ls to Exclude:"]我得到一个空白单元格

在此处输入图像描述

我该如何解决这个问题?

0 投票
2 回答
1686 浏览

sap - 与 Webi 和 SQL 相比,Webi 富客户端刷新非常慢

我有一个包含 4-5 个过滤器的 Universe 查询,使用 Webi 富客户端运行需要将近 5 分钟。当我复制 SQL 代码并从 SQL 管理工作室 (SSMS) 运行它时,需要 10 秒。我只创建了数据查询,没有任何报告或变量。当我使用 Webi HTML 运行查询时,它也会在 10 秒内运行。

SSMS 和 Webi 都返回 110,000 行。如果我在大约 20 秒后停止 Webi 查询,它只返回 5000 行,所以它没有完成然后被挂断。

如果我将 Webi Universe 查询替换为使用相同 SQL 代码的存储过程 (FHSQL),则需要 80 秒。有查询过滤器。如果没有 Where 子句,SMSS 需要 65 秒才能返回 990,000 行

只是富客户端很慢,但比预期的要慢得多。

0 投票
1 回答
311 浏览

sap - Webi 查询面板不显示对象的完整列表

我遇到了一个问题,即 Webi 不显示所有可用对象,并且我无法按照附加的屏幕截图在结果查询面板中向下滚动。请帮忙解决这个问题,谢谢!

在此处输入图像描述

0 投票
0 回答
1221 浏览

sap - 在 Webi 中拉另一个查询

在 WebI 中使用另一个查询的结果时遇到问题。版本:4.1 SP6

我需要使用不依赖于外部查询的子查询。当我使用来自宇宙的过滤器时,它需要更多的时间来执行。因此,我在 Universe(IDT) 中创建了一个维度,并将其用作 WebI 中的单独查询。然后我在运行速度更快的主查询(另一个数据提供者)中使用此查询的结果。它的工作速度更快,符合预期。

问题是:当我在子查询(另一个数据提供者中使用的维度)和主查询中使用相同的提示时,提示出现两次(来自子查询的一个提示带有蓝色箭头标记)。当我与另一位开发人员讨论时,他告知这是一个 SAP 错误。

无论如何我可以隐藏我从另一个子查询中获得的额外提示,以便我可以通过将子查询结果分开来使查询运行得更快。

0 投票
0 回答
1361 浏览

sap - 使用 SQL 将参数传递给 Webi 报告

我正在使用 Webi 创建报告,但我不想使用 Universe,我想使用自定义 SQL 查询,因为我已经创建了存储过程。在存储过程中,我有@date 和@id 之类的参数。有没有办法在 Webi 自定义 SQL 脚本中使用它们?

一个例子是:

0 投票
1 回答
567 浏览

oracle - 在 Webi 中设置 NOT EXISTS 子句

我有一个需要在 WebI 中重写的 Oracle 查询。我无法弄清楚如何模仿 Oracle 的“不存在”。如果我的查询在给定时间范围内有交易日期,则返回一个对象,但如果它在该时间范围之前有任何内容,则不会返回。也就是说,类似:

它有点复杂,但这是一个很好的近似值。

我以为我可以使用子查询过滤器,但我不知道如何将该子查询与原始 Object_Number 联系起来,或者如何模仿“不存在”。我不认为“NOT IN”与“NOT EXISTS”相同,因为宇宙中的记录复合体包括 transaction_date(它基本上是 Object_Table 和 Transaction_Table 的 JOIN),所以我要检查的是我当前记录中的日期(范围内的日期)不在范围之外。我确信这个过滤子查询可以做更多,但我不理解它。

我找不到任何复杂的过滤器示例(尽管许多声称是“复杂的”——它们有 3 个“AND”语句——噢噢噢!)。

我认为它可以通过宇宙中的一个新维度[使用 MIN(Transaction_Date)] 来完成,但我无法使用这条路径。

在我看来,如果没有这种类型的基本功能(至少它是 Oracle SQL 中的基本功能),这个 WebI 工具就会受到严重限制。

0 投票
1 回答
1390 浏览

sap - 跨 BO Webi 的 Countifs 像相关子查询一样合并

我想对 Business Objects webi 中的合并进行计数。我有两个不同的数据集,它们在维度“SID”上合并。一个数据源将作为外部查询的源,称为“联系人”,具有以下列:

  • SID(编号、尺寸)
  • 联系日期(日期、尺寸)
  • 联系类型(字符串、维度)

另一个数据源(称为“事件”)具有以下列:

  • SID(编号、尺寸)
  • 事件日期(日期、维度)

我想基于“联系人”数据源(可能使用合并、详细变量)在 Webi 中创建一个报告,其中包含以下列:

  • SID(编号、尺寸)
  • 联系日期(日期、尺寸)
  • 联系类型(字符串、维度)
  • 受影响的事件( “事件”中记录的变量计数,其中以下为真:)

[事件].[SID] = [联系人].[SID]

[事件].[事件日期]<=([联系方式].[联系日期]+7)

[事件].[事件日期]>=[联系方式].[联系日期]

有什么想法吗?我一直在尝试用 count() where 做一个细节变量,但这似乎不起作用。我正在使用 BI 平台 4.2,Webi。我研究了许多 Stack Overflow 外部的网站,例如Variable to count Merged dimensionscount formula in webi report

我还查看了这两篇堆栈溢出文章,Business Objects CountIf by cell referenceBusiness Objects WEBI 3 Universes in one report。但是,这些都没有显示如何(至少以我能够理解的方式)克服在跨 SID 合并创建详细变量和度量时似乎发生的上下文错误。

以下是两个数据源的外观,以及报告中所需的输出:

0 投票
1 回答
716 浏览

sap - 执行值的总和,然后去掉小数 Sap WEBI 报告

首先让我给大家一些信息。

源表:DataTbl

我的维度:CALTIME,CALTIME2,TYPE

CALTIME:DataTbl.CALTIME
CALTIME2:DataTbl.CALTIME2
TYPE:DataTbl.TYPE

我的衡量标准:钱(只有一个)

  1. 投影功能:无
  2. SQL : Cast(SUM(DataTbl.TYPE = 'Month' then DataTbl.MONEY else Cast(DataTbl.MONEY as integer) end) as integer)

在我的 WebI 报告中,我将有多个文本框,在这些文本框中将是一个通过 CALTIME 和 CALTIME2 提取数据的公式,如下所示:

我的目的是,如果 TYPE 是“月”,我们将执行所有相关值的总和并删除所有小数位。如果 TYPE 是“年”,我们将删除该值的所有小数位,然后执行所有小数删除值的总和。

以上述数据为例,我想计算 CALTIME = 201712 和 CALTIME2 = 201708,我会得到以下结果:

但实际上我在 WEBI 报告中得到的是:

我的问题是,这是否可以通过在宇宙中声明度量选项来实现我想要的。我无法编辑 WEBI 报告上的所有文本框,因为它们有数百个。

0 投票
1 回答
288 浏览

sql-server - 使用 SSIS 的 Excel 导入在 999,999 行处截断。知道为什么以及如何解决它吗?

好的,我在这里的第一个问题,至少对我来说,这是一个令人费解的问题。

导入具有 1,048,576 行的 .xlsx 文件。我目视确认了记录的数量。当我尝试使用 SSIS 导入它并在 SSMS 中使用 openrowset 时,它只导入/读取 999,999 行。我正在使用 ACE.OLEDB.12.0 驱动程序并尝试以 32 位和 64 位运行 SSIS 包,但到目前为止没有区别。SQL Server 是 2012。Excel 文件是从 SAP BW 导出的,所以我无法真正确认版本,但它是 .xlsx 格式。

下面是我在 SSMS 中使用的 openrowset 命令(SSIS 包更难描述):

当我在 SSMS 中执行上述命令时,我得到 999,999,我预计 1,048,575(不包括标题)。任何人对为什么会发生这种情况有任何见解吗?我真的没有看到任何关于它们可能失败的行的任何明显内容......我知道与 CSV 相比,Excel 文件可能会很痛苦,并会导致很多奇怪的问题,但实际上有没有人从一个导入超过 999,999 条记录单个 Excel 文件(工作表)是否成功?

TIA,布赖恩