使用 Direct Discovery 时的限制
信息注释将不会进行新的 Direct Discovery 的开发来克服这些限制。
支持的数据类型
并非所有数据类型在 Direct Discovery 中都受支持。可能存在以下情况:需要在 Qlik Sense 中定义特定源数据格式。可在加载脚本中通过使用“SET Direct...Format”语法定义数据格式。以下示例展示了如何定义用作 Direct Discovery 数据源的源数据库的数据格式:
示例:
SET DirectDateFormat='YYYY-MM-DD';
还有两个脚本变量可控制 Direct Discovery 如何在生成的 SQL 语句中设置货币值的格式:
SET DirectMoneyFormat (default '#.0000')
SET DirectMoneyDecimalSep (default '.')
这两个变量的语法与 MoneyFormat 和 MoneyDecimalSep 的语法相同,但在用法上有两个重要的不同之处:
- 由于不是显示格式,因此不应包含货币符号或千分位分隔符。
- 默认值不是按场景变化的,而是连接到值的。(特定于场景的格式包括货币符号。)
Direct Discovery 支持选择扩展 Unicode 数据,只需使用一些数据库(例如 SQL Server)所要求的扩展字符串文字 (N’<扩展字符串>’) 的 SQL 标准格式。带有脚本变量 DirectUnicodeStrings 的 Direct Discovery 可启用此语法。将该变量设置为 "true",可在字符串文字之前使用 "N"。
安全性
在使用 Direct Discovery 时,应考虑可能会影响安全性最佳实践的以下行为:
- 使用带有 Direct Discovery 功能的相同应用程序的所有用户均使用相同的连接。不支持传递和按用户使用凭据的身份验证。
- 仅在服务器模式下支持区域权限。
- 对于高基数联接,不支持区域权限。
- 可以使用 NATIVE 关键字表达式在数据库中执行自定义 SQL 语句,因此加载脚本中设置的数据库连接应使用以下帐户:对此数据库有只读访问权限的帐户。
- Direct Discovery 没有日志记录功能,但可以使用 ODBC 跟踪功能。
- 可以使用客户端的请求注入数据库。
- 可以从服务器日志文件中获取详细的错误信息。
不支持 Qlik Sense 功能
由于 Direct Discovery 具有交互性和 SQL 语法特定特性,因此不支持多种功能:
- 高级计算(集合分析、复杂表达式)
- 计算维度
- 对比分析使用 Direct Discovery 字段的对象(替换状态)
- 智能搜索中不支持 Direct DiscoveryMEASURE 和 DETAIL 字段。
- 搜索 Direct Discovery DETAIL 字段。
- 访问 Direct Discovery 表格的应用程序中的二进制加载。
- Direct Discovery 表格的合成钥
- 脚本中的表格命名方式不适用于 Direct Discovery 表格。
-
在加载脚本中的 DIRECT QUERY 关键字后使用通配符 * 字符
示例: (DIRECT QUERY *)
- Oracle 数据库表格包括 LONG 数据类型列。
- 科学记数法中超出 [-9007199254740990, 9007199254740991] 范围的大整数。这些大整数可能会导致舍入错误和未定义行为。
- Snowflake 数据库模式
- 数据管理器中的数据准备
- Qlik Sense Enterprise SaaS
- 下载至 Microsoft Excel
- 离线移动 iOS 应用程序
- 高级分析集成
- 扩展
- Qlik GeoAnalytics
- 将颜色分配至主维度和度量。
- 在 Qlik Sense Enterprise on Windows June 2017 及更高版本中加入了新的可视化
- 非 SQL 源以及非 SQL 语句(例如 SAP HANA 中的 PLACEHOLDER 函数)。
- 以下连接器不受支持:
- Qlik Salesforce 连接器
- Qlik REST 连接器
- Qlik Web 连接器
- 结合 SAP NetWeaver 使用的 Qlik 连接器
- 优化通过 Direct Discovery 查询生成的 SQL。
- 高基数联接组合内存中表格可生成超出数据源 SQL 缓冲区限制的大型 IN 子句。
- Qlik 可视化及 Dashboard bundle 对象
- Insights
- 警报
- 动态视图
- 自定义工具提示