#分析

0 关注者 · 25 帖子

此标签涉及有关分析和商业智能解决方案开发、呈现、KPI 和其他指标管理的讨论。

文章 Lilian Huang · 十一月 23, 2025 10m read

现代数据架构利用实时数据捕获、转换、移动和加载解决方案来构建数据湖、分析仓库和大数据存储库。它能够分析来自不同来源的数据,而不会影响使用这些数据的操作。要实现这一目标,必须建立连续、可扩展、弹性和稳健的数据流。最常用的方法是 CDC(变更数据捕获)技术。CDC 监控小型数据集的生产,自动捕获这些数据,并将其传送到一个或多个接收方,包括分析数据存储库。这样做的主要好处是消除了分析中的 D+1 延迟,因为数据一产生就会在源端被检测到,随后被复制到目的地。

本文将展示 CDC 场景中最常见的两种数据源,既可以是源数据源,也可以是目的地数据源。对于数据源(origin),我们将探讨 SQL 数据库和 CSV 文件中的 CDC。对于数据目的地,我们将使用列式数据库(典型的高性能分析数据库场景)和 Kafka 主题(将数据流传输到云和/或多个实时数据消费者的标准方法)。

概述

本文将为以下互操作场景提供一个示例:

0
0 113
文章 Nicky Zhu · 十一月 20, 2025 4m read

InterSystems IRIS中的窗口函数(Window Functions)可让您直接在SQL中执行强大的分析操作,例如累计总和、排名和移动平均值等。 这些函数针对与当前行相关的一组行(即“窗口”)进行操作,且不会像 GROUP BY那样合并结果。 这意味着您可以编写更简洁、更快速且更易于维护的查询——无需循环、无需连接、无需临时表。 在本文中,我们将通过处理一些常见的数据分析任务来了解窗口函数的作用机制。


InterSystems IRIS中的SQL窗口函数入门

SQL窗口函数(SQL window functions)是数据分析的强大工具。 它们允许你在保留各行列可见性的同时,跨行计算聚合值和排名。 无论你是在构建仪表盘、报表还是进行复杂分析,窗口函数都能简化你的逻辑并提升性能。

注:我并非窗口函数领域的专家,但我愿意分享助我理解窗口函数的心得体会和相关资源。非常欢迎大家提出建议或进行指正!


🚀 为什么窗口函数这么重要

你是否曾为了计算累计总和、排名或行间差值,而编写过多条SQL查询语句,甚至使用过程化循环?

窗口函数能让你仅通过一条SQL查询语句就实现所有这些操作。

它们将强大的分析功能直接融入SQL——无需额外连接操作、无需临时表,也无需过程化循环。


🧠 什么是窗口函数

窗口函数会针对一组与当前行存在某种关联的行进行计算——这组行被称为窗口(window)

如图1所示,与GROUP

0
0 55
文章 Claire Zheng · 十一月 11, 2025 7m read

实时 FHIR® 到 OMOP 转换

OMOP 之旅的这一部分,我们在尝试挑战Scylla 之前先反思一下,InterSystems OMOP 转换是建立在批量 FHIR 导出作为源有效载荷的基础上的,我们是多么幸运。 这开启了 InterSystems OMOP 转换与多个 FHIR® 供应商的放手互操作性,这次是与谷歌云医疗 API 的互操作性

谷歌云医疗 API FHIR® (Google Cloud Healthcare API FHIR®)导出

GCP FHIR® 数据库支持通过命令行界面(CLI)或应用程序编程接口(API)进行FHIR数据的批量导入/导出,其前提条件很简单,且相关文档极为详尽,因此我们就不让模型再针对这方面进行赘述训练了,如有兴趣,我们会附上相关链接。 本段标题中更有价值的是bulk FHIR export (批量FHIR导出)标准本身的实现。

谷歌实施 FHIR® 导出的重要区别在于:通过 Pub/Sub 发送资源变更通知,以及指定增量导出的能力。

实时?

是的!我想我会死在这把剑上的。 这不仅是我的说唱手柄,而且其机制绝对可以支持一个很好的技术论证,可以说...

"当一个新的组织被创建到 FHIR 时,我们会对其进行转换,并将其添加到 InterSystems OMOP CDM 中,与 Care_site/location 一样"。

演练

本文试图简明

0
0 60
文章 Hao Ma · 三月 25, 2021 8m read

关键字:PyODBC,unixODBC,IRIS,IntegratedML,Jupyter Notebook,Python 3

目的

几个月前,我简单谈到了关于“将 Python JDBC 连接到 IRIS”的话题。我后来频繁提起它, 因此决定再写一篇 5 分钟的笔记,说明如何“将 Python ODBC 连接到 IRIS”。

在 Windows 客户端中通常很容易设置 ODBC 和 PyODBC,不过我每次在 Linux/Unix 风格的服务器中设置 unixODBC 和 PyODBC 客户端时,都会遇到一些麻烦。

有没有一种简单连贯的方法,可以不安装任何 IRIS,在原版 Linux 客户端中让 PyODBC/unixODBC 针对远程 IRIS 服务器运行?

范围

最近,我花了点时间研究如何在 Linux Docker 环境的 Jupyter Notebook 中从头开始让一个 PyODBC 演示运行起来, 记录下这篇稍微有些繁琐的笔记,以供日后快速参考。  

范围内: 

这篇笔记将涉及以下组件:

  • PyODBC over unixODBC 
  • 安装了 TensorFlow 2.2 和 Python 3 的 Jupyter Notebook 服务器
  • 带有 IntegratedML 的 IRIS2020.3 CE 服务器,包括示例测试数据。
  • 在此环境中

  • 安装了 Docker
  • 1
    0 514
    文章 Jingwei Wang · 六月 23, 2024 8m read

    低代码挑战

    想象一下那个场景。您正在 Widgets Direct 愉快地工作,这是互联网上首屈一指的小部件和小部件配件零售商。您的老板有一些毁灭性的消息,一些客户可能对他们的小部件不太满意,我们需要一个帮助台应用程序来跟踪这些投诉。为了让事情变得有趣,他希望代码占用非常小,并挑战您使用 InterSystems IRIS 以少于 150 行代码交付应用程序。这可能吗?

    免责声明:本文记录了一个非常基本的应用程序的构建,为了简洁起见,省略了安全性和错误处理等细节。该应用程序仅供参考,不得用于任何生产应用。本文使用IRIS 2023.1作为数据平台,并非所描述的所有功能在早期版本中都可用

    第 1 步 - 定义数据模型

    我们首先定义一个新的干净的命名空间 - 带有代码和数据数据库。虽然所有内容都可以位于 1 个数据库中,但将它们拆分以便于数据刷新。

    我们的帮助台系统需要 3 个基本类:一个 Ticket 对象,它可以包含用于记录员工顾问 UserAccount 和客户联系人 UserAccount 之间交互的操作。让我们用一些基本属性来定义它们:

    19 行代码,我们就有了完整的数据模型!我们将 2 个类设置为 Persistent,以便将它们保存到数据库中,并且还继承自 %JSON.Adapter,这使我们能够非常轻松地以 JSON

    0
    0 184
    文章 Jingwei Wang · 二月 15, 2024 4m read

    大型语言模型(例如 OpenAI 的 GPT-4)的发明和普及掀起了一波创新解决方案浪潮,这些解决方案可以利用大量非结构化数据,在此之前,人工处理这些数据是不切实际的,甚至是不可能的。此类应用程序可能包括数据检索(请参阅 Don Woodlock 的 ML301 课程,了解检索增强生成的精彩介绍)、情感分析,甚至完全自主的 AI 代理等!

    在本文中,我想演示如何使用 IRIS 的嵌入式 Python 功能直接与 Python OpenAI 库交互,方法是构建一个简单的数据标记应用程序,该应用程序将自动为我们插入IRIS 表中的记录分配关键字。然后,这些关键字可用于搜索和分类数据,以及用于数据分析目的。我将使用客户对产品的评论作为示例用例。

    先决条件

    • 运行的IRIS实例
    • OpenAI API 密钥(您可以在此处创建)
    • 配置好的开发环境(本文将使用VS Code

    Review类

    让我们首先创建一个 ObjectScript 类,该类将定义客户评论的数据模型。为了简单起见,我们将只定义 4 个 %String 字段:客户姓名、产品名称、评论正文以及我们将生成的关键字。该类应该扩展%Persistent,以便我们可以将其对象保存到磁盘。

    Class DataTagging.Review Extends%Persistent
    {
    Property Name As%String(
    0
    0 156
    公告 Hao Ma · 十一月 14, 2023

    我们最近发布了一份关于在镜像环境中使用报告节点(完整的“异步报告镜像成员”)的新白皮书。越来越多的客户正在研究这种机制,将其作为一种快速、简单的方法来设置保持最新的生产数据副本,但可以用于分析查询或重型报告工作负载,而不影响源系统。 请在此处阅读白皮书

    与往常一样,我们很想听听您对如何在组织中使用此镜像选项的反馈,以及您是否对我们如何提高其效率有想法。

    0
    0 84
    文章 Nicky Zhu · 四月 27, 2021 6m read

    根据IDC的报道,超过80%的信息是基于NoSQL的,尤其是文本文件。当数字服务或应用程序不能处理所有这些信息时,企业就会遭受损失。为了面对这一挑战,可以使用OCR技术。OCR使用机器学习和/或训练的图像模式将图像像素转化为文本。这一点很重要,因为许多文件被扫描成PDF格式的图像,或者许多文件中包含有文本的图像。因此,OCR是一个重要的步骤,可以从文件中获得所有可能的数据。

    为了实现OCR,可以使用开源解决方案Google Tesseract,这是Python和Java社区中最流行的解决方案。Tesseract支持100多个习语,并且可以用新的模型进行训练以识别车牌、验证码等等。Tesseract是在C++中创建的,可以通过Java套用Tess4J构成一个中介层来使用它。下面的代码展示了调用过程。

    private String extractTextFromImage(File tempFilethrows TesseractException {

     

            ITesseract tesseract = new Tesseract();
            tesseract.setDatapath("/usr/share/tessdata/"); //directory to trained models
            tesseract.setLangua
    2
    0 494
    文章 Shanshan Yu · 四月 18, 2023 1m read

    随着生活水平的提高,人们越来越注重身体健康。 而孩子的健康成长也越来越成为家长关心的话题。 孩子的身体发育可以从孩子的身高和体重反映出来。 因此,及时预测身高和体重具有重要意义。 通过科学的预测和比较,关注孩子的发育状态。

    该项目使用InterSystems IRIS Cloud SQL通过输入大量体重和身高相关数据来支持,并建立基于IntegratedML的AutoML进行预测分析。 根据输入的父母身高,可以快速预测孩子未来的身高,并根据当前的身高和体重状况判断孩子的体重指数。 在正常范围内。

    功能

    通过应用该程序,可以快速预测处于正常发育状态的儿童的身高。 通过结果,家长可以判断孩子发育是否正常,是否需要临床干预,有助于了解孩子未来的身高; 通过当前体重状态判断当前孩子的BMI是否正常,了解孩子当前的健康状况

    应用场景

    1.儿童身高预测

    2. 监测儿童发育

    0
    0 210
    文章 Michael Lei · 二月 13, 2023 3m read

    在 InterSystems IRIS 2022.2 中,我们引入了列存储作为持久化 IRIS SQL 表的新选项,可以将您的分析查询性能提高一个数量级。该功能在 2022.2 和 2022.3 中标记为实验性,但将在即将发布的 2023.1 版本中“升级”为完全支持的生产能力。

    产品文档和这个介绍性视频已经描述了行存储(仍然是 IRIS 上的默认设置并在我们的整个客户群中使用)与列表存储之间的区别,并提供了有关为您的用例选择合适的存储布局的高级指导。在本文中,我们将详细阐述这个主题,并根据行业实践建模原则、内部测试和抢先体验计划参与者的反馈分享一些建议。

    0
    0 170
    文章 TZ Zhuang · 二月 3, 2023 5m read

    目的

    这两个工具(RanRead 和 RanWrite)用于在数据库(或一对数据库)内生成随机读写事件,以测试每秒输入/输出的操作数 (IOPS)。它们可以一起使用或分开单独使用,以测试 IO 硬件容量、验证目标 IOPS 并确保系统拥有可接受的磁盘响应时间。从 IO 测试中收集的结果将因配置而异,具体取决于 IO 子系统。在运行这些测试之前,请确保相应的操作系统监控和存储级别监控已配置,这些捕获的 IO 性能指标可以为以后的分析提供帮助。我们推荐使用 IRIS 中捆绑的系统性能工具,例如^SystemPerformance。

    请注意,这里使用的工具是对先前版本的更新。之前的版本可在这里找到。

    0
    0 290
    文章 Michael Lei · 一月 17, 2023 3m read

    每秒插入大量记录,同时同步进行实时查询的能力称为混合事务分析处理 (HTAP)。 它也被称为 Transactional analytics 或 Transanalytics 或 Translytics,当存在来自工业物联网传感器的持续实时数据流或股票市场的波动数据时,它是非常有用的技术,并且允许实时或接近实时地查询这些数据集。

    在本文中我将分享我在不同平台上运行带有测试流数据的演示,同时进行持续插入和持续查询,看看每个平台上有何不同反应,如在每个平台上输入和输出数据的速度以及它们的性能。 我在本演示中试验的平台包括:InterSystems IRIS、MariaDB 和 MySQL。

    试验结果

    20秒的测试时间里:

    插入数据条数查询次数插入数据大小查询数据大小
    IRIS708,00059,000184M15.217M
    MariaDB98,00023,67925M6.69M
    MySQL38,00011,9479.869M2.45M

    本演示的视频https://www.loom.com/share/8e30930232db4b18ac455e310226575d

    需要环境

    Docker 和 Docker Compose

    本地运行

    我们在三个不同的平台(MySQL、MariaDB 和 InterSystems IRIS

    0
    0 195
    文章 Michael Lei · 九月 12, 2022 1m read

    针对InterSystems开发者社区的分析。使用InterSystems IRIS BI (DeepSee)、Power BI和Logi Report Designer制作的项目,可视化并分析InterSystems 开发者社区上的成员、文章、问题、答案、观点和其他内容和活动。

    你可以看到自己的活动、文章和问题。跟踪你的贡献如何改变开发者社区。

    使用IRIS BI、Adaptive Analytics、InterSystems Reports、Tableau和Power BI分析关于你和你朋友的统计数据。

    该项目包含预配置的IRIS和Atscale在Docker容器中的部署以及BI系统的项目文件。

    更多细节信息请见相应应用的README。

    这个项目也支持在线部署,你可以在这里查看。

    0
    0 124
    文章 Michael Lei · 八月 9, 2022 23m read

    在这篇文章中,你可以访问InterSystems开发者社区中与学习InterSystems IRIS最相关主题的文章库。找到按机器学习、嵌入式Python、JSON、API和REST应用、管理和配置InterSystems环境、Docker和云、VSCode、SQL、分析/BI、全局、安全、DevOps、互操作性、Native API排列的顶级发表的文章。快来享受学习的乐趣吧!

    机器学习

    机器学习是建立先进的数据分析和自动化人工活动的一种必要的技术,具有很好的效率。它可以创建认知模型,从现有的数据中学习,并根据其自我调整的算法进行预测、概率计算、分类、识别和 "非创造性 "的人类活动的自动化。

    在所有情况下,InterSystems IRIS作为一个数据平台和环境来创建、执行、提供和使用这些机器学习模型。IRIS能够从SQL命令(IntegratedML)中使用ML,使用嵌入式Python和PMML(预测模型标记语言)来执行ML。你可以在以下文章中查看它的功能:

    标题

    描述

    地址URL

    一体化机器学习动手实验

    一体化机器学习概览ML

    https://cn.community.intersystems.com/node/517656

    AI Robotization with

    1
    0 369
    文章 Michael Lei · 八月 9, 2022 2m read

    下面是一个ObjectScript片段,它允许为InterSystems IRIS创建数据库、命名空间和Web应用程序:

    	set currentNS = $namespace
    	
    	zn "%SYS"
    	
    	write "Create DB ...",!
    	set dbName="testDB"
     	set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
     	set status=##Class(Config.Databases).Create(dbName,.dbProperties)
    	write:'status $system.Status.DisplayError(status)
    	write "DB """_dbName_""" was created!",!!
    	
    	
    	write "Create namespace ...",!
    	set nsName="testNS"
    	//DB for globals
    	set nsProperties("Globals") = dbName
    	//DB for routines
    	set nsProperties("Routines") = dbName
    	set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
    	write:'status $system.Status.DisplayError(status)
    	write "Namespace """_nsName_""" was created!",!!
    	
    	
    	write "Create web application ...",!
    	set webName = "/csp/testApplication"
    	set webProperties("NameSpace") = nsName
    	set webProperties("Enabled") = $$$YES
    	set webProperties("IsNameSpaceDefault") = $$$YES
    	set webProperties("CSPZENEnabled") = $$$YES
    	set webProperties("DeepSeeEnabled") = $$$YES
    	set webProperties("AutheEnabled") = $$$AutheCache
    	set status = ##class(Security.Applications).Create(webName, .webProperties)
    	write:'status $system.Status.DisplayError(status)
    	write "Web application """webName""" was created!",!
    	
    	zn currentNS
    
    0
    0 199
    文章 Lilian Huang · 五月 10, 2022 2m read

    InterSystems IRIS 2021.1 的发布引入了自适应分析(Adaptive Analytics)的介绍。 为了开始使用和熟悉 InterSystems IRIS BI cube示例,我们创建了一个用于自适应分析的 HoleFoods 应用程序示例模版。 此示例应用程序可在 Open Exchange 上获得, 还有一个学习服务课程learning services course 可用于了解有关自适应分析的更多信息。

    0
    0 176
    文章 Michael Lei · 五月 13, 2021 2m read

    2020 年席卷全球的新冠疫情使每个人都在关注与 COVID-19 有关的新闻和数字。

    为什么不趁这个机会去创造一些简单直观的东西,来帮助关注全球的疫苗接种数量呢?

    为了应对这一挑战,我使用了 Our World in Data 提供的数据,他们的使命是提供解决全球最大问题所需的研究和数据。

    他们在 Github 上有一个专门的 COVID-19 数据仓库,我采用了疫苗接种数据来完善我的跟踪器。

    如果你不了解他们,去调查一下吧,这值得你花上一些时间。 Github 仓库

    应用程序 iris-vaccine-tracker 有三个不同页面。

    1. 主仪表板
    2. 数据表,其中包含仪表板中呈现的数据的详细信息。
    3. 热图

    仪表板

    主仪表板提供全球疫苗接种情况的快速概览。

    第一个小组件提供以下信息:

    • 用于接种人群的疫苗数量
    • 提供疫苗接种信息的国家/地区数量
    • 迄今已接种的疫苗总数。

    第二个小组件提供了一个疫苗接种时间线视图,其中包括疫苗接种数量最多的前 10 个国家/地区。

    第三个小组件提供了排名靠前的国家/地区的条形图,显示迄今为止的疫苗接种总数。

    最后一个小组件展示疫苗的分布情况,哪些疫苗正在被使用以及所占的百分比。

    数据表

    数据表显示主仪表板汇总数据的详细信息。

    热图

    热图是一种不同的视图,它使用我们已经在主仪表板和数据表中使用的信息,但现在使用 Country 持久化表提供的详细信息。

    0
    0 300
    文章 Michael Lei · 五月 8, 2021 5m read

    大家好!

    约翰·霍普金斯大学每天都会发布有关 COVID-19 疫情的新数据。

    我在部署于 GCP Kubernetes 上的 docker 中使用 InterSystems IRIS Community Edition 构建了一个简单的 InterSystems IRIS Analytics 仪表板,可显示疾病爆发的关键指标。

    0
    0 400
    文章 Louis Lu · 四月 15, 2021 6m read

    InterSystems IRIS 下使用 DataOps

    Gartner 对 DataOps 的定义是:“DataOps 是一种协作式的数据管理方法,侧重于改善整个组织中数据管理者和数据消费者之间数据流的沟通、整合与自动化。 DataOps 的目标是创建可预测的数据、数据模型和相关项目的交付和变更管理,从而更快地交付价值。 DataOps 采取特殊技术手段和相应治理水平自动化数据交付的设计、部署和管理,以元数据提高动态环境中数据的易用性和价值。”

    2014 年 6 月 19 日,InformationWeek 特约编辑 Lenny Liebmann 发表于 IBM Big Data & Analytics Hub 的题为“3 reasons why DataOps is essential for big data success”的文章中首次提出 DataOps 这一概念。 DataOps 一词后被 Andy Palmer 推广到 Tamr。 DataOps 是“数据运营”的专属名称。 2017 年对 DataOps 来说是意义重大的一年,生态系统取得巨大发展,分析师覆盖范围进一步扩张,关键字搜索量以及调查、出版物和开源项目数均有所提升。 Gartner 在 2018 年的 Hype Cycle for Data Management 中添加了 DataOps 。 (资料来源:

    0
    0 302
    文章 Hao Ma · 三月 25, 2021 7m read

    上一部分,现在要利用 IntegratedML VALIDATION MODEL 语句提供信息以监视您的 ML 模型。 您可以在此处观看实际运作。

    此处所示代码衍生自 InterSystems IntegragedML 模板IRIS 文档提供的示例,我主要是把代码混合了起来。 这是一个简单的示例,目的是为进一步讨论和未来工作提供一个起点。

    注:此处提供的代码仅作说明之用。 如果您想尝试,我开发了一个 Open Exchange 技术示例应用 (iris-integratedml-monitor-example),并将其提交到 InterSystems IRIS AI Contest。 读完这篇文章后您可以去看看,如果喜欢,就请投我一票吧! :)

    目录

    第一部分:

    第二部分:

    监视 ML 性能

    要监视 ML 模型,至少需要两个功能:

    1. 性能指标提供程序 2) 监视和通知服务

    幸运的是,IRIS 为我们提供了这两个必要的功能。

    获取 ML 模型性能指标

    上一部分所示,IntegratedML 提供了 VALIDATE MODEL 语句来计算以下性能参数:

    • 准确率:模型的好坏(值接近 1 表示正确答案率高)
    • 精度:模型处理误报的能力如何(值接近 1 表示误报率高)
    • 召回率:模型处理漏报的能力
    0
    0 162
    文章 Hao Ma · 三月 25, 2021 4m read

    几个月前,我在 MIT Technology Review 读到一篇很有意思的文章,作者解释了新冠疫情如何给全球 IT 团队带来关乎机器学习 (ML) 系统的难题。

    这篇文章引起我对 ML 模型部署后如何处理性能问题的思考。

    我在一个 Open Exchange 技术示例应用 (iris-integratedml-monitor-example) 中模拟了一个简单的性能问题场景,并提交到 InterSystems IRIS AI Contest。 读完这篇文章后您可以去看看,如果喜欢,就请投我一票吧! :)

    目录

    第一部分:

    第二部分:

    IRIS IntegratedML 和 ML 系统

    讨论 COVID-19 以及它对全球 ML 系统的影响之前,我们先来简单谈谈 InterSystems IRIS IntegratedML。

    通过将特征选择之类的任务及其与标准 SQL 数据操作语言的集成自动化,IntegratedML 可以协助开发和部署 ML 解决方案。

    例如,对医疗预约的数据进行适当的操作和分析后,可以使用以下 SQL 语句设置 ML 模型,预测患者的履约/失约情况:

    CREATE MODEL AppointmentsPredection PREDICTING (Show) FROM
    0
    0 310