问题标签 [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.
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 行
只是富客户端很慢,但比预期的要慢得多。
sap - 在 Webi 中拉另一个查询
在 WebI 中使用另一个查询的结果时遇到问题。版本:4.1 SP6
我需要使用不依赖于外部查询的子查询。当我使用来自宇宙的过滤器时,它需要更多的时间来执行。因此,我在 Universe(IDT) 中创建了一个维度,并将其用作 WebI 中的单独查询。然后我在运行速度更快的主查询(另一个数据提供者)中使用此查询的结果。它的工作速度更快,符合预期。
问题是:当我在子查询(另一个数据提供者中使用的维度)和主查询中使用相同的提示时,提示出现两次(来自子查询的一个提示带有蓝色箭头标记)。当我与另一位开发人员讨论时,他告知这是一个 SAP 错误。
无论如何我可以隐藏我从另一个子查询中获得的额外提示,以便我可以通过将子查询结果分开来使查询运行得更快。
sap - 使用 SQL 将参数传递给 Webi 报告
我正在使用 Webi 创建报告,但我不想使用 Universe,我想使用自定义 SQL 查询,因为我已经创建了存储过程。在存储过程中,我有@date 和@id 之类的参数。有没有办法在 Webi 自定义 SQL 脚本中使用它们?
一个例子是:
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 工具就会受到严重限制。
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 dimensions和count formula in webi report。
我还查看了这两篇堆栈溢出文章,Business Objects CountIf by cell reference和Business Objects WEBI 3 Universes in one report。但是,这些都没有显示如何(至少以我能够理解的方式)克服在跨 SID 合并创建详细变量和度量时似乎发生的上下文错误。
以下是两个数据源的外观,以及报告中所需的输出:
sap - 执行值的总和,然后去掉小数 Sap WEBI 报告
首先让我给大家一些信息。
源表:DataTbl
我的维度:CALTIME,CALTIME2,TYPE
CALTIME:DataTbl.CALTIME
CALTIME2:DataTbl.CALTIME2
TYPE:DataTbl.TYPE
我的衡量标准:钱(只有一个)
- 投影功能:无
- 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 报告上的所有文本框,因为它们有数百个。
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,布赖恩