感谢您在 2021 年对 InterSystems 社区的贡献!我们统计了最热门的帖子、讨论最多的话题、最受欢迎的作者等等,供您参考!
感谢您在 2021 年对 InterSystems 社区的贡献!我们统计了最热门的帖子、讨论最多的话题、最受欢迎的作者等等,供您参考!
2021年,InterSystems开发者社区中文版收到了很多提问/问题。
各大技术社区常年充斥着关于字符集支持、乱码的问题。Cache’/Ensemble/HealthConnect/IRIS的用户也经常遇到这类问题。为何文字乱码在信息化发展这么久后还会困扰我们?因为字符集、多语言实在有点复杂。
我计划写三篇:第一篇花点时间回顾一下多语言字符集的简史,第二篇介绍一下各种技术对于字符集和字符编码的使用声明,最后一篇会介绍常见的ISC技术和工具的乱码、尤其是中文乱码的现象和解决办法。
为了帮助您开始使用FHIR,我们发布了一个新的学习路径: Building Basic FHIR Integrations with InterSystems IRIS for Health. 通过这个路径,您可以学习FHIR的基础知识,学习如何在InterSystems IRIS医疗版中设置FHIR端点,将数据应用到FHIR存储库并转换FHIR数据,使用InterSystems API管理器管理FHIR API,以及使用客户端应用查询FHIR资源。该路径包括一些建议,例如使用SDA-FHIR转换将其他数据格式转换为FHIR。
我们还在考虑如何创建额外的内容,以指导您启用现有的应用程序并利用存储在FHIR存储库之外的数据。这些对您有用吗?关于如何使用FHIR和InterSystems产品,您还想学习什么?
第二十五章 SQL函数 CHAR
返回具有在字符串表达式中指定的ASCII代码值的字符的字符串函数。
大纲
CHAR(code-value)
{fn CHAR(code-value)}
参数
code-value- 与字符相对应的整数代码。
描述
Char返回与指定的整数代码值对应的字符。因为 IRIS是UNICODE系统,所以可以为任何UNICODE字符指定整数代码,从0到65535。如果code-value是超出允许值范围的整数,则CHAR返回NULL。
如果代码值是非数字字符串,则CHAR返回一个空字符串('')。如果传递空值,CHAR返回NULL。
请注意,CHAR可以用作ODBC标量函数(使用花括号语法),也可以用作SQL常规函数。
示例
以下示例均返回字符Z:
SELECT CHAR(90) AS CharCode
Z
SELECT {fn CHAR(90)} AS CharCode
Z
下面的示例返回希腊字母lambda:
ClassMethod Cast2()
{
&sql(SELECT {fn CHAR(955)}
INTO :greeklet)
w !,"Greek letter: ",greeklet
}
DHC-APP> d ##class(PHA.TEST.SQLCommand).Cast2()
Greek letter: λ
第二十四章 SQL函数 CEILING
数值函数,返回大于或等于给定数值表达式的最小整数。
大纲
CEILING(numeric-expression)
{fn CEILING(numeric-expression)}
参数
numeric-expression- 要计算其上限的数字。
CELING返回与NUMERIC-EXPRESSION相同的数据类型。
描述
CELING返回大于或等于NUMERIC-EXPRESSION的最接近的整数值。返回值的小数位数为0。当numeric-expression为NULL值、空字符串(‘’)或任何非数字字符串时,CELING返回NULL。
请注意,CELING可以作为ODBC标量函数(使用花括号语法)调用,也可以作为SQL常规函数调用。
也可以使用Ceuling()方法调用从ObjectScript调用此函数:
$SYSTEM.SQL.Functions.EILING(numeric-expression)
示例
以下示例显示了CEILING 如何将分数转换为其CEILING 整数:
SELECT CEILING(167.111) AS CeilingNum1,
CEILING(167.456) AS CeilingNum2,
CEILING(167.我们为什么要关注医疗领域的数字孪生?
环顾四周,你会看到无数的设备监测和收集我们身体状态数据的例子。可穿戴智能手表和健身追踪器、医疗成像设备、数字健康应用程序、温度计等。同样,这些设备本身也在产生关于其当前运行环境和状况的大量数据。但是,我们如何才能理解所有这些数据,并从中获得有意义的洞察?一种可能性是对这些数据进行动态展示,即所谓的数字孪生。
数字孪生是一个物理对象或系统在其生命周期内的虚拟表达。这意味着,数字孪生包含了关于其现实世界对应物状态的最新和历史数据。将这些动态数据纳入不同医疗应用的虚拟表示中,可以实现主动决策、流程优化和医疗领域的完整生命周期管理。
第二十三章 SQL函数 CAST(二)
转换位值
可以将expr值转换为BIT以返回0或1。
如果expr为1或任何其他非零数值,则返回1。
如果expr为“TRUE”、“TRUE”或“TRUE”,则返回1。
(“True”可以用任何大小写组合表示,但不能缩写为“T”。)
如果expr是任何其他非数值值,则返回0。
如果expr为0,则返回0。
在下面的例子中,前5个CAST操作返回1,后5个CAST操作返回0:
SELECT CAST(1 AS BIT) AS One,
CAST(7 AS BIT) AS Num,
CAST(743.6 AS BIT) AS Frac,
CAST(0.3 AS BIT) AS Zerofrac,
CAST('tRuE' AS BIT) AS TrueWord,
CAST(0 AS BIT) AS Zero,
CAST('FALSE' AS BIT) AS FalseWord,
CAST('T' AS BIT) AS T,
CAST('F' AS BIT) AS F,
CAST(0.第二十二章 SQL函数 CAST(一)
将给定表达式转换为指定数据类型的函数。
第二十一章 SQL函数 ATAN2
接受两个坐标并返回以弧度为单位的反正切角的标量数值函数。
注意:IRIS可用,IRIS以下不可用。
大纲
{fn ATAN2(y,x)}
参数
y- 指定y轴坐标的数值表达式。x- 指定x轴坐标的数值表达式。
ATAN2返回NUMERIC或DOUBLE数据类型。
如果数值表达式是数据类型DOUBLE, ATAN2返回DOUBLE;
否则,返回NUMERIC。
描述
ATAN2采用射线(y,x)的笛卡尔坐标,并以浮点数的形式返回角的正切反(弧)。
用两个坐标的符号来确定笛卡尔坐标。
当x为正值时,ATAN2返回与ATAN(y/x)相同的值。
如果传递一个NULL值,ATAN2将返回NULL。
ATAN2将非数字字符串(包括空字符串("))视为数字值0。
ATAN2返回一个精度为36、刻度为18的值。
ATAN2只能用作ODBC标量函数(使用花括号语法)。
可以使用DEGREES函数将弧度转换为角度。
可以使用RADIANS函数来转换角度到弧度。
示例
下面的例子调用ATAN2:
SELECT {fn ATAN2(15,30)} AS ArcTangent
0.463647609000806116
正如德勤最近的一份报告所强调的,数字孪生的设计和部署是为了实现虚拟协作,吸收和处理大数据,以及协助我们以更有效和安全的方式管理物理世界。
有几个行业在使用数字孪生能力方面取得了重大进展,如汽车、飞机、能源、城市规划和医疗保健等,仅举几例。疫情的影响和对全球经济造成的破坏只会加速全球数字孪生的发展速度和采用。因此,预计到2026年,全球数字孪生市场将达到482亿美元,年复合增长率为58%。虽然目前北美市场拥有最大的份额,但预计亚太市场将在未来几年经历最快的增长。
按照Gartner的说法,数字孪生是现实世界实体或系统的数字代表。数字孪生体的实现是一个封装的软件对象或模型,它反映了一个独特的物理对象、过程、组织、人或其他抽象概念。
数字孪生的设计和部署是复杂的,与其他数字技术密切相关,如云计算、人工智能、物联网、5G网络、区块链和虚拟、增强或混合现实。预计所有这些技术的采用率将对数字孪生产业产生深远影响。迄今为止,系统数字孪生体已经在所有行业中占主导地位,但专家们一致认为,产品和流程数字孪生体类型将在未来几年内上升。
第二十章 SQL函数 ATAN
一个标量数值函数,返回角的正切的弧切值(以弧度为单位)。
大纲
{fn ATAN(numeric-expression)}
参数
numeric-expression- 一个数值表达式。 这是这个角的正切。
ATAN返回NUMERIC或DOUBLE数据类型。
如果数值表达式是数据类型DOUBLE, ATAN返回DOUBLE;
否则,返回NUMERIC。
描述
ATAN接受任何数值,并以浮点数返回角度正切的反(弧)值。
如果传递一个NULL值,ATAN将返回NULL。
ATAN将非数字字符串(包括空字符串("))视为数字值0。
ATAN返回一个精度为36、刻度为18的值。
ATAN只能用作ODBC标量函数(使用花括号语法)。
可以使用DEGREES函数将弧度转换为角度。
可以使用RADIANS函数来转换角度到弧度。
示例
下面的例子展示了ATAN的效果:
SELECT {fn ATAN(0.52)} AS ArcTangent
0.479519291992596165
不要错过2021年的《ISC 应用市场Open Exchange应用文摘》。让我们认识一下最受欢迎的应用程序和它们的开发者,欢迎免费下载。.
✓ 6,899 次下载
✓ 654 位开发者
✓ 566 应用累计
✓ 15,897 次下载累计
✓ 1,457 位开发者累计
第十九章 SQL函数 ASIN
一个标量数值函数,返回角的正弦的反正弦(以弧度为单位)。
大纲
{fn ASIN(numeric-expression)}
参数
numeric-expression- 数值在-1到1之间的数值表达式。 这是这个角的正弦值。
ASIN返回NUMERIC或DOUBLE数据类型。
如果数值表达式是数据类型DOUBLE, ASIN返回DOUBLE;
否则,返回NUMERIC。
描述
ASIN以浮点数的形式返回角度正弦的反(弧)值。
numeric-expression的值必须是有符号的十进制数,取值范围为1 ~ -1(含1)。
超出此范围的数字将导致运行时错误,生成SQLCODE -400(发生致命错误)。
如果传递一个NULL值,ASIN将返回NULL。
ASIN将非数字字符串(包括空字符串("))视为数字值0。
ASIN返回一个精度为19、刻度为18的值。
ASIN只能用作ODBC标量函数(使用花括号语法)。
可以使用DEGREES函数将弧度转换为角度。
可以使用RADIANS函数来转换角度到弧度。
示例
下面的例子展示了ASIN对两个正弦的影响。
SELECT {fn ASIN(0.52)} AS ArcSine
0.54685095069594411
SELECT {fn ASIN(-1.00)} AS ArcSine
-1.这里是2021年度开发社区问题摘要。 让我们来看看InterSystems开发人员提出的最受欢迎的问题。
✓ 社区总共提出了5,699 问题
第十八章 SQL函数 ASCII
一个字符串函数,返回字符串表达式的第一个(最左边)字符的整型ASCII码值。
大纲
ASCII(string-expression)
{fn ASCII(string-expression)}
参数
string-expression- 字符串表达式,它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHAR或VARCHAR)。CHAR或VARCHAR类型的字符串表达式。
描述
如果传入一个NULL或空字符串值,ASCII将返回NULL。
空字符串返回NULL与SQL Server一致。
SELECT ASCII('Z') AS AsciiCode
90
SELECT {fn ASCII('ZEBRA')} AS AsciiCode
90
在执行ASCII转换之前,SQL将数字转换为规范形式。
下面的例子返回55,它是数字7的ASCII值:
SELECT ASCII(+007) AS AsciiCode
55
如果数字以字符串的形式表示,则不执行此数字解析。
下面的例子返回43,它是加(+)字符的ASCII值:
SELECT ASCII('+007') AS AsciiCode
43
第十七章 SQL函数 ACOS
一个标量数值函数,返回给定余弦的弧余弦(以弧度为单位)。
大纲
{fn ACOS(numeric-expression)}
参数
numeric-expression- 数值在-1到1之间的数值表达式。 这是这个角的余弦值。
ACOS返回NUMERIC或DOUBLE数据类型。
如果数值表达式是数据类型DOUBLE, ACOS返回DOUBLE;
否则,返回NUMERIC。
描述
ACOS接受一个数值并以浮点数的形式返回余弦的反(弧)值。
numeric-expression的值必须是有符号的十进制数,取值范围为1 ~ -1(含1)。
超出此范围的数字将导致运行时错误,生成SQLCODE -400(发生致命错误)。
如果传入NULL值,ACOS将返回NULL。
ACOS将非数字字符串(包括空字符串("))视为数字值0。
ACOS返回一个精度为19、刻度为18的值。
ACOS只能用作ODBC标量函数(使用花括号语法)。
可以使用DEGREES函数将弧度转换为角度。
可以使用RADIANS函数来转换角度到弧度。
示例
下面的例子展示了ACOS对两个余弦的影响:
SELECT {fn ACOS(0.52)} AS ArcCosine
1.02394537609895251
SELECT {fn ACOS(-1)} AS ArcCosine
3.医疗数据集应用(这个应用主要目的是获得医疗数据样本来进行自动化机器学习和其他应用)现在有了6个真实世界的医疗数据集(更多数据集在路上,敬请期待!)
- 糖尿病数据集: 预测糖尿病诊断
- 心脏病数据集: 预测心脏病
- 肾病数据集: 预测肾病
- 乳腺癌数据集: 预测乳腺癌
- 孕产妇风险数据集 (新): 预测孕产妇风险等级
- 医院死亡率数据集 (新): 预测医院死亡率
赶快来下载吧: https://openexchange.intersystems.com/package/Health-Dataset
第十六章 SQL函数 ABS
返回数值表达式的绝对值的数值函数。
大纲
ABS(numeric-expression)
{fn ABS(numeric-expression)}
参数
numeric-expression- 要返回其绝对值的数字。
ABS返回与数字表达式相同的数据类型。
描述
ABS返回绝对值,它总是0或正数。
如果数值表达式不是一个数字(例如,字符串'abc',或空字符串''),ABS返回0。
当传递null值时,ABS返回。
请注意,ABS可以用作ODBC标量函数(带有花括号语法),也可以用作SQL通用函数。
这个函数也可以通过调用ABS()方法从ObjectScript中调用:
WRITE $SYSTEM.SQL.Functions.ABS(-0099)
示例
下面的例子展示了ABS的两种形式:
SELECT ABS(-99) AS AbsGen,{fn ABS(-99)} AS AbsODBC
下面的例子展示了ABS如何处理其他一些数字。
在调用ABS之前, SQL将数字表达式转换为规范形式,删除前导和末尾的零,并计算指数。
SELECT ABS(007) AS AbsoluteValue
7
SELECT ABS(-0.第十五章 SQL窗口函数概述(二)
ROW子句
ROW子句可以与FIRST_VALUE(字段)和SUM(字段)窗口函数一起使用。
可以为其他windows函数指定它,但不执行任何操作(有或没有ROWS子句的结果相同)。
ROWS子句有两种语法形式:
ROWS framestart
ROWS BETWEEN framestart AND frameend
Framestart和frameend有五个可能的值:
UNBOUNDED PRECEDING /* 从当前分区的开头开始 */
offset PRECEDING /* 开始偏移当前行之前的行数 */
CURRENT ROW /* 从当前行开始 */
offset FOLLOWING /* 继续偏移当前行后面的行数 */
UNBOUNDED FOLLOWING /* 继续到当前分区的末尾 */
ROWS子句语法可以在两个方向上指定一个范围。
例如,在无界前面和1后面之间的行以及在1后面和无界前面之间的行是完全相等的。
ROWS框架的开始语法默认为CURRENT ROW作为范围的第二个未指定的边界。
本文译自 https://community.intersystems.com/post/using-sql-apache-hive-hadoop-bi…
大家好,
在使用Spark做Hadoop时,InterSystems IRIS有一个很好的连接器。但市场上也提供了大数据Hadoop访问的其他优秀替代方案-Aparche Hive。请看区别:
|
HIVE |
SPARK |
|
Hive是一个数据库,用类似于RDBMS数据库的表格形式存储数据。 |
Spark不是一个数据库,它是一个数据分析框架,可以在内存中对大至PB字节的大容量数据进行复杂的数据分析。 |
|
使用称作HiveQL的自己的SQL引擎,数据可以从Hive中抽取出来。只能使用SQLs来抽取数据。 |
Spark既能使用复杂SQLs(Complex SQLs)也能使用MapReduce机制进行数据分析。它支持Java, Scala 和Python写的分析框架。 |
|
Hive在Hadoop之上运行。 |
Spark没有自己专用的存储。实际上,它是从外部的分布式数据存储如运行在Hadoop和MongoDB上的Hive、HBase中抽取数据。 |
第十四章 SQL窗口函数概述(一)
指定用于计算聚合和排名的每行“窗口框架”的函数。
窗口函数和聚合函数
在应用WHERE、GROUP by和HAVING子句之后,窗口函数对SELECT查询选择的行进行操作。
窗口函数将一组行中的一个(或多个)字段的值组合在一起,并在结果集中为生成的列中的每一行返回一个值。
虽然窗口函数与聚合函数类似,因为它们将多行结果组合在一起,但它们与聚合函数的不同之处在于,它们本身并不组合行。
窗函数的语法
窗口函数被指定为SELECT查询中的选择项。
窗口函数也可以在SELECT查询的ORDER BY子句中指定。
窗口函数执行与由PARTITION by子句、ORDER by子句和ROWS子句指定的逐行窗口相关的任务,并为每一行返回一个值。
亲爱的社区开发者们,大家好!
欢迎积极参与新一轮InterSystems开发者竞赛!
随着 InterSystems IRIS 2021.2 预览版 的发布和全新的 LOAD DATA 功能,我们希望将其与最新的竞赛(数据集)结合起来!
竞赛时间: 2021年12月27日-2022年1月16日
奖金总额: $9,450
第十三章 SQL聚合函数 XMLAGG
一个聚合函数,它创建一个串接的值字符串。
大纲
XMLAGG([ALL | DISTINCT [BY(col-list)]] string-expr [%FOREACH(col-list)] [%AFTERHAVING])
参数
ALL- 可选-指定XMLAGG返回string-expr的所有值的连接字符串。 如果没有指定关键字,这是默认值。DISTINCT- 可选-一个DISTINCT子句,指定XMLAGG返回一个只包含唯一string-expr值的连接字符串。DISTINCT可以指定BY(colo -list)子句,其中colo -list可以是单个字段,也可以是用逗号分隔的字段列表。string-expr- 计算结果为字符串的SQL表达式。 通常,这是要从其中检索数据的列的名称。%FOREACH(col-list)- 可选-列名或以逗号分隔的列名列表。%AFTERHAVING- 可选-应用在HAVING子句中的条件。
描述
XMLAGG聚合函数返回由string-expr中的所有值组成的串接字符串。
返回值的数据类型为VARCHAR,默认长度为4096。
- 一个简单的
XMLAGG(或XMLAGG ALL)返回一个字符串,该字符串包含一个由所选行中string-expr的所有值组成的连接字符串。
第十二章 SQL聚合函数 VARIANCE, VAR_SAMP, VAR_POP
返回数据集统计方差的聚合函数。
大纲
VARIANCE([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
VAR_SAMP([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
VAR_POP([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
参数
ALL- 可选-指定统计方差函数返回表达式中所有值的方差。 如果没有指定关键字,这是默认值。DISTINCT- 可选-DISTINCT子句,指定统计方差函数返回不同(唯一)表达式值的方差。DISTINCT可以指定BY(colo -list)子句,其中colo -list可以是单个字段,也可以是用逗号分隔的字段列表。expression- 任何有效的表达式。 通常是包含要分析方差的数据值的列的名称。%FOREACH(col-list)- 可选-列名或以逗号分隔的列名列表。
第十一章 SQL聚合函数 SUM
返回指定列值之和的聚合函数。
大纲
SUM([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
参数
ALL- 可选-指定SUM返回表达式中所有值的和。 如果没有指定关键字,这是默认值。DISTINCT- 可选-一个DISTINCT子句,指定SUM返回表达式中不同(唯一)值的和。DISTINCT可以指定BY(colo -list)子句,其中colo -list可以是单个字段,也可以是用逗号分隔的字段列表。expression- 任何有效的表达式。 通常是包含要求和的数据值的列的名称。%FOREACH(col-list)- 可选-列名或以逗号分隔的列名列表。%AFTERHAVING- 可选-应用在HAVING子句中的条件。
SUM返回与expression相同的数据类型,但有如下异常:TINYINT、SMALLINT和INTEGER返回的数据类型都是INTEGER。
注意:SUM可以指定为聚合函数,也可以指定为窗口函数。
本参考页面描述了SUM作为聚合函数的使用。
SUM作为一个窗口函数在窗口函数概述中描述。
描述
SUM聚合函数返回表达式值的和。
通常,表达式是查询返回的多行中字段的名称(或包含一个或多个字段名称的表达式)。
对于那些在某种程度上需要测试ECP的水平可扩展性(计算能力和/或用户和进程的并发性),但又懒得建立环境、配置服务器节点等的人来说,我刚刚在Open Exchange上发布了OPNEx-ECP部署的应用/示例。
第十章 SQL聚合函数 STDDEV, STDDEV_SAMP, STDDEV_POP
返回数据集的统计标准差的聚合函数。
大纲
STDDEV([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
STDDEV_SAMP([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
STDDEV_POP([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
参数
ALL- 可选-指定标准偏差函数返回表达式的所有值的标准偏差。如果未指定关键字,则这是默认值。DISTINCT- 可选-指定标准偏差函数返回不同(唯一)表达式值的标准偏差的DISTINCT子句。DISTINCT可以指定BY(COL-LIST)子句,其中COL-LIST可以是单个字段,也可以是逗号分隔的字段列表。expression- 任何有效的表达式。通常是包含要分析标准偏差的数据值的列的名称。%FOREACH(col-list)- 可选-列名或逗号分隔的列名列表。
可以使用内嵌REST API用描述文件生成REST服务
请求消息如下:
POST: http://[YourServer]/api/mgmnt/v2/INTEROP/cmAPI
Body: API 描述文件,例如下面的Json文件
Basic Authorization Username: 用户名
Basic Authorization Password: 密码
Content-Type Header: application/json
** 注意**:调用接口前,需要创建相应命名空间,本示例为INTEROP
API 描述文件:
{
"swagger": "2.0",
"info": {
"description": "An API for coffee sales using InterSystems IRIS",
"version": "1.0.0",
"title": "Coffee Maker API",
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0.[toc]
第九章 SQL聚合函数 MIN
返回指定列中的最小数据值的聚合函数。
大纲
MIN([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
参数
ALL- 可选-将聚合函数应用于所有值。ALL对MIN返回的值没有影响。提供它是为了与SQL-92兼容。DISTINCT- 可选-指定考虑每个唯一值。DISTINCT对MIN返回的值没有影响。它是为SQL-92兼容性提供的。expression- 任何有效的表达式。通常是包含要从中返回最小值的值的列的名称。%FOREACH(col-list)- 可选-列名或逗号分隔的列名列表。%AFTERHAVING- 可选-应用HAVING子句中的条件。
MIN返回与表达式相同的数据类型。
描述
MIN聚合函数返回表达式的最小值(最小值)。通常,表达式是查询返回的多行中的字段名称(或包含一个或多个字段名称的表达式)。
MIN可以在引用表或视图的SELECT查询或子查询中使用。MIN可以出现在选择列表或HAVING子句中,与普通字段值一起出现。
MIN不能在WHERE子句中使用。除非SELECT是子查询,否则不能在联接的ON子句中使用MIN。
与大多数其他聚合函数一样,min不能应用于流字段。尝试这样做会生成SQLCODE-37错误。
.png)


