文章 Michael Lei · 一月 14, 2022 6m read

我们为什么要关注医疗领域的数字孪生?


环顾四周,你会看到无数的设备监测和收集我们身体状态数据的例子。可穿戴智能手表和健身追踪器、医疗成像设备、数字健康应用程序、温度计等。同样,这些设备本身也在产生关于其当前运行环境和状况的大量数据。但是,我们如何才能理解所有这些数据,并从中获得有意义的洞察?一种可能性是对这些数据进行动态展示,即所谓的数字孪生。

数字孪生是一个物理对象或系统在其生命周期内的虚拟表达。这意味着,数字孪生包含了关于其现实世界对应物状态的最新和历史数据。将这些动态数据纳入不同医疗应用的虚拟表示中,可以实现主动决策、流程优化和医疗领域的完整生命周期管理。

0
0 498
文章 姚 鑫 · 一月 13, 2022 3m read

第二十三章 SQL函数 CAST(二)

转换位值

可以将expr值转换为BIT以返回01。 如果expr1或任何其他非零数值,则返回1。 如果expr“TRUE”“TRUE”“TRUE”,则返回1。 (“True”可以用任何大小写组合表示,但不能缩写为“T”。) 如果expr是任何其他非数值值,则返回0。 如果expr0,则返回0

在下面的例子中,前5CAST操作返回1,后5CAST操作返回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.
0
0 112
文章 姚 鑫 · 一月 11, 2022 1m read

第二十一章 SQL函数 ATAN2

接受两个坐标并返回以弧度为单位的反正切角的标量数值函数。

注意:IRIS可用,IRIS以下不可用。

大纲

{fn ATAN2(y,x)}

参数

  • y - 指定y轴坐标的数值表达式。
  • x - 指定x轴坐标的数值表达式。

ATAN2返回NUMERICDOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, ATAN2返回DOUBLE; 否则,返回NUMERIC

描述

ATAN2采用射线(y,x)的笛卡尔坐标,并以浮点数的形式返回角的正切反(弧)。 用两个坐标的符号来确定笛卡尔坐标。 当x为正值时,ATAN2返回与ATAN(y/x)相同的值。 如果传递一个NULL值,ATAN2将返回NULLATAN2将非数字字符串(包括空字符串("))视为数字值0

ATAN2返回一个精度为36、刻度为18的值。

ATAN2只能用作ODBC标量函数(使用花括号语法)。

可以使用DEGREES函数将弧度转换为角度。 可以使用RADIANS函数来转换角度到弧度。

示例

下面的例子调用ATAN2:

SELECT {fn ATAN2(15,30)} AS ArcTangent 

0.463647609000806116
0
0 104
文章 Michael Lei · 一月 10, 2022 5m read

正如德勤最近的一份报告所强调的,数字孪生的设计和部署是为了实现虚拟协作,吸收和处理大数据,以及协助我们以更有效和安全的方式管理物理世界。

有几个行业在使用数字孪生能力方面取得了重大进展,如汽车、飞机、能源、城市规划和医疗保健等,仅举几例。疫情的影响和对全球经济造成的破坏只会加速全球数字孪生的发展速度和采用。因此,预计到2026年,全球数字孪生市场将达到482亿美元,年复合增长率为58%。虽然目前北美市场拥有最大的份额,但预计亚太市场将在未来几年经历最快的增长。

按照Gartner的说法,数字孪生是现实世界实体或系统的数字代表。数字孪生体的实现是一个封装的软件对象或模型,它反映了一个独特的物理对象、过程、组织、人或其他抽象概念。

数字孪生的设计和部署是复杂的,与其他数字技术密切相关,如云计算、人工智能、物联网、5G网络、区块链和虚拟、增强或混合现实。预计所有这些技术的采用率将对数字孪生产业产生深远影响。迄今为止,系统数字孪生体已经在所有行业中占主导地位,但专家们一致认为,产品和流程数字孪生体类型将在未来几年内上升。

0
0 235
文章 姚 鑫 · 一月 10, 2022 1m read

第二十章 SQL函数 ATAN

一个标量数值函数,返回角的正切的弧切值(以弧度为单位)。

大纲

{fn ATAN(numeric-expression)}

参数

  • numeric-expression - 一个数值表达式。 这是这个角的正切。

ATAN返回NUMERICDOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, ATAN返回DOUBLE; 否则,返回NUMERIC

描述

ATAN接受任何数值,并以浮点数返回角度正切的反(弧)值。 如果传递一个NULL值,ATAN将返回NULLATAN将非数字字符串(包括空字符串("))视为数字值0

ATAN返回一个精度为36、刻度为18的值。

ATAN只能用作ODBC标量函数(使用花括号语法)。

可以使用DEGREES函数将弧度转换为角度。 可以使用RADIANS函数来转换角度到弧度。

示例

下面的例子展示了ATAN的效果:

SELECT {fn ATAN(0.52)} AS ArcTangent 

0.479519291992596165
0
0 108
公告 Michael Lei · 一月 10, 2022
嗨,开发者们,新年好!
不要错过2021年的《ISC 应用市场Open Exchange应用文摘》。让我们认识一下最受欢迎的应用程序和它们的开发者,欢迎免费下载。. 
2021概览:
183 新应用
6,899 次下载 
654 位开发者
566 应用累计
15,897 次下载累计
1,457 位开发者累计
0
0 181
文章 姚 鑫 · 一月 9, 2022 1m read

第十九章 SQL函数 ASIN

一个标量数值函数,返回角的正弦的反正弦(以弧度为单位)。

大纲

{fn ASIN(numeric-expression)}

参数

  • numeric-expression - 数值在-1到1之间的数值表达式。 这是这个角的正弦值。

ASIN返回NUMERICDOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, ASIN返回DOUBLE; 否则,返回NUMERIC

描述

ASIN以浮点数的形式返回角度正弦的反(弧)值。 numeric-expression的值必须是有符号的十进制数,取值范围为1 ~ -1(含1)。 超出此范围的数字将导致运行时错误,生成SQLCODE -400(发生致命错误)。 如果传递一个NULL值,ASIN将返回NULLASIN将非数字字符串(包括空字符串("))视为数字值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.
0
0 160
公告 Michael Lei · 一月 9, 2022
嘿,社区。 
这里是2021年度开发社区问题摘要。 让我们来看看InterSystems开发人员提出的最受欢迎的问题。
统计
 2021年提出了980 个问题
 社区总共提出了5,699 问题
最多浏览问题
0
0 211
文章 姚 鑫 · 一月 8, 2022 1m read

第十八章 SQL函数 ASCII

一个字符串函数,返回字符串表达式的第一个(最左边)字符的整型ASCII码值。

大纲

ASCII(string-expression)

{fn ASCII(string-expression)}

参数

  • string-expression - 字符串表达式,它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHARVARCHAR)。 CHARVARCHAR类型的字符串表达式。

描述

如果传入一个NULL或空字符串值,ASCII将返回NULL。 空字符串返回NULLSQL 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
0
0 158
文章 姚 鑫 · 一月 7, 2022 1m read

第十七章 SQL函数 ACOS

一个标量数值函数,返回给定余弦的弧余弦(以弧度为单位)。

大纲

{fn ACOS(numeric-expression)}

参数

  • numeric-expression - 数值在-1到1之间的数值表达式。 这是这个角的余弦值。

ACOS返回NUMERICDOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, ACOS返回DOUBLE; 否则,返回NUMERIC

描述

ACOS接受一个数值并以浮点数的形式返回余弦的反(弧)值。 numeric-expression的值必须是有符号的十进制数,取值范围为1 ~ -1(含1)。 超出此范围的数字将导致运行时错误,生成SQLCODE -400(发生致命错误)。 如果传入NULL值,ACOS将返回NULLACOS将非数字字符串(包括空字符串("))视为数字值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.
0
0 100
文章 Michael Lei · 一月 6, 2022 1m read

医疗数据集应用(这个应用主要目的是获得医疗数据样本来进行自动化机器学习和其他应用)现在有了6个真实世界的医疗数据集(更多数据集在路上,敬请期待!)

  • 糖尿病数据集: 预测糖尿病诊断
  • 心脏病数据集: 预测心脏病
  • 肾病数据集: 预测肾病
  • 乳腺癌数据集: 预测乳腺癌
  • 孕产妇风险数据集 (新): 预测孕产妇风险等级
  • 医院死亡率数据集 (新): 预测医院死亡率

赶快来下载吧: https://openexchange.intersystems.com/package/Health-Dataset

0
0 1387
文章 姚 鑫 · 一月 6, 2022 1m read

第十六章 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.
0
0 99
文章 姚 鑫 · 一月 5, 2022 3m read

第十五章 SQL窗口函数概述(二)

ROW子句

ROW子句可以与FIRST_VALUE(字段)和SUM(字段)窗口函数一起使用。 可以为其他windows函数指定它,但不执行任何操作(有或没有ROWS子句的结果相同)。

ROWS子句有两种语法形式:

ROWS framestart
ROWS BETWEEN framestart AND frameend

Framestartframeend有五个可能的值:

UNBOUNDED PRECEDING                    /* 从当前分区的开头开始 */
offset PRECEDING   /* 开始偏移当前行之前的行数 */
CURRENT ROW                                      /* 从当前行开始 */
offset FOLLOWING  /* 继续偏移当前行后面的行数 */
UNBOUNDED FOLLOWING                  /* 继续到当前分区的末尾 */

ROWS子句语法可以在两个方向上指定一个范围。 例如,在无界前面和1后面之间的行以及在1后面和无界前面之间的行是完全相等的。

ROWS框架的开始语法默认为CURRENT ROW作为范围的第二个未指定的边界。

0
0 156
文章 Frank Ma · 一月 5, 2022 2m read

本文译自 https://community.intersystems.com/post/using-sql-apache-hive-hadoop-bi…

大家好,

在使用SparkHadoop时,InterSystems IRIS有一个很好的连接器。但市场上也提供了大数据Hadoop访问的其他优秀替代方案-Aparche Hive。请看区别:




HIVE

SPARK

Hive是一个数据库,用类似于RDBMS数据库的表格形式存储数据。

Spark不是一个数据库,它是一个数据分析框架,可以在内存中对大至PB字节的大容量数据进行复杂的数据分析。

使用称作HiveQL的自己的SQL引擎,数据可以从Hive中抽取出来。只能使用SQLs来抽取数据。

Spark既能使用复杂SQLsComplex SQLs)也能使用MapReduce机制进行数据分析。它支持Java, Scala Python写的分析框架。

HiveHadoop之上运行。

Spark没有自己专用的存储。实际上,它是从外部的分布式数据存储如运行在HadoopMongoDB上的HiveHBase中抽取数据。

0
0 200
文章 姚 鑫 · 一月 4, 2022 6m read

第十四章 SQL窗口函数概述(一)

指定用于计算聚合和排名的每行“窗口框架”的函数。

窗口函数和聚合函数

在应用WHEREGROUP byHAVING子句之后,窗口函数对SELECT查询选择的行进行操作。

窗口函数将一组行中的一个(或多个)字段的值组合在一起,并在结果集中为生成的列中的每一行返回一个值。

虽然窗口函数与聚合函数类似,因为它们将多行结果组合在一起,但它们与聚合函数的不同之处在于,它们本身并不组合行。

窗函数的语法

窗口函数被指定为SELECT查询中的选择项。 窗口函数也可以在SELECT查询的ORDER BY子句中指定。

窗口函数执行与由PARTITION by子句、ORDER by子句和ROWS子句指定的逐行窗口相关的任务,并为每一行返回一个值。

0
0 1523
公告 Claire Zheng · 一月 4, 2022

亲爱的社区开发者们,大家好!

欢迎积极参与新一轮InterSystems开发者竞赛!

随着 InterSystems IRIS 2021.2 预览版 的发布和全新的 LOAD DATA 功能,我们希望将其与最新的竞赛(数据集)结合起来! 

🏆 InterSystems 数据集竞赛🏆

竞赛时间: 2021年12月27日-2022年1月16日

奖金总额: $9,450


0
0 368
文章 姚 鑫 · 一月 3, 2022 4m read

第十三章 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的所有值组成的连接字符串。
0
0 317
文章 姚 鑫 · 一月 3, 2022 4m read

第十二章 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) - 可选-列名或以逗号分隔的列名列表。
0
0 384
文章 姚 鑫 · 十二月 31, 2021 4m read

第十一章 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相同的数据类型,但有如下异常:TINYINTSMALLINTINTEGER返回的数据类型都是INTEGER

注意:SUM可以指定为聚合函数,也可以指定为窗口函数。 本参考页面描述了SUM作为聚合函数的使用。 SUM作为一个窗口函数在窗口函数概述中描述。

描述

SUM聚合函数返回表达式值的和。 通常,表达式是查询返回的多行中字段的名称(或包含一个或多个字段名称的表达式)。

0
0 68
文章 Michael Lei · 十二月 30, 2021 1m read

对于那些在某种程度上需要测试ECP的水平可扩展性(计算能力和/或用户和进程的并发性),但又懒得建立环境、配置服务器节点等的人来说,我刚刚在Open Exchange上发布了OPNEx-ECP部署的应用/示例。 

0
0 187
文章 姚 鑫 · 十二月 30, 2021 3m read

第十章 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) - 可选-列名或逗号分隔的列名列表。
0
0 342
文章 Jingwei Wang · 十二月 30, 2021 7m read

可以使用内嵌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.
    0
    0 301
    文章 姚 鑫 · 十二月 29, 2021 3m read

    [toc]

    第九章 SQL聚合函数 MIN

    返回指定列中的最小数据值的聚合函数。

    大纲

    MIN([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
    

    参数

    • ALL - 可选-将聚合函数应用于所有值。ALLMIN返回的值没有影响。提供它是为了与SQL-92兼容。
    • DISTINCT - 可选-指定考虑每个唯一值。DISTINCTMIN返回的值没有影响。它是为SQL-92兼容性提供的。
    • expression - 任何有效的表达式。通常是包含要从中返回最小值的值的列的名称。
    • %FOREACH(col-list) - 可选-列名或逗号分隔的列名列表。
    • %AFTERHAVING - 可选-应用HAVING子句中的条件。

    MIN返回与表达式相同的数据类型。

    描述

    MIN聚合函数返回表达式的最小值(最小值)。通常,表达式是查询返回的多行中的字段名称(或包含一个或多个字段名称的表达式)。

    MIN可以在引用表或视图的SELECT查询或子查询中使用。MIN可以出现在选择列表或HAVING子句中,与普通字段值一起出现。

    MIN不能在WHERE子句中使用。除非SELECT是子查询,否则不能在联接的ON子句中使用MIN

    与大多数其他聚合函数一样,min不能应用于流字段。尝试这样做会生成SQLCODE-37错误。

    0
    0 301
    文章 Jingwei Wang · 十二月 29, 2021 5m read

    $HOROLOG($H)

    表示当前的本地日期和时间,是由两个整数值组成的字符串,这些整数是计数器,是InterSystems IRIS存储格式,不是用户可读的日期和时间。

    ddddd,sssss

    代码示例:

    w $H,!
     
    北京时间2021年12月29日15:15:30时,输出结果为:
     
    66107,54930

    第一个整数,ddddd,是当前日期,表示为自1840年12月31日以来的天数,其中第1天是1841年1月1日。这个日期到达的最大年年限是9999年12月31日,所以这个整数的最大值是2980013。$HOROLOG不能直接用于表示1840年到9999年范围之外的日期

    第二个整数,sssss,是当前的时间,表示为从当天午夜开始的秒数计数。系统将时间字段从0递增到86399秒。当午夜时分达到86399时,系统将时间字段重置为0,并将日期字段增加1。

    你可以通过调用Horolog()方法获得相同的当前日期和时间信息,如下所示。

    WRITE $SYSTEM.SYS.Horolog()

    $NOW()

    $NOW()返回当前进程的本地日期和时间,是InterSystems IRIS存储格式,不是用户可读的日期和时间。

    ddddd,sssss.ffffff

    代码示例:

    w $NOW(),!
    
    北京时间2021年12月29日15:15:30时,输出结果为:
    
    66107,54930.
    0
    0 294
    文章 Jingwei Wang · 十二月 29, 2021 4m read

    dformat :












    描述
    1 MM/DD/[YY]YY : 07/01/97 或 02/22/2018
    2 DD Mmm [YY]YY : 01 Jul 97
    3 YYYY-MM-DD :2018-02-22 (ODBC时间格式:默认值在下面的tformat部分有描述) 默认情况下,这种格式与当前的地区设置无关 如果要使用你当前的日期和时间的地区设置与这种格式,请将localeopt设置为0。
    4 DD/MM/[YY]YY :01/07/97 或 22/02/2018
    5 Mmm [D]D, YYYY :Jul 1, 1997
    6 Mmm [D]D YYYY :Jul 1 1997
    7 Mmm DD [YY]YY :Jul 01 1997
    8 YYYYMMDD :19970701
    9 Mmmmm [D]D, YYYY :July 1, 1997
    10 W (2) :一个星期的日数,从0(星期日)到6(星期六)编号。
    0
    0 193
    文章 姚 鑫 · 十二月 28, 2021 3m read

    第八章 SQL聚合函数 MAX

    返回指定列中最大数据值的聚合函数。

    大纲

    MAX([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])
    

    参数

    • ALL - 可选-将聚合函数应用于所有值。 ALLMAX返回的值没有影响。 它提供了SQL-92兼容性。
    • DISTINCT - 可选-一个DISTINCT子句,指定考虑每个惟一值。 DISTINCTMAX返回的值没有影响。 它提供了SQL-92兼容性。
    • expression - 任何有效的表达式。 通常是包含要返回的最大值的值的列的名称。
    • %FOREACH(col-list) - 可选-列名或以逗号分隔的列名列表。
    • %AFTERHAVING - 可选-应用在HAVING子句中的条件。

    MAX返回与表达式相同的数据类型。

    描述

    MAX聚合函数返回表达式的最大值。 通常,表达式是查询返回的多行中字段的名称(或包含一个或多个字段名称的表达式)。

    MAX可以在引用表或视图的SELECT查询或子查询中使用。 MAX可以在SELECT列表或HAVING子句中与普通字段值一起出现。

    MAX不能在WHERE子句中使用。 MAX不能在JOINON子句中使用,除非SELECT是子查询。

    与大多数其他聚合函数一样,MAX不能应用于流字段。

    0
    0 571
    文章 姚 鑫 · 十二月 27, 2021 6m read

    第七章 SQL聚合函数 LIST

    创建逗号分隔值列表的聚合函数。

    大纲

    LIST([ALL | DISTINCT [BY(col-list)]] string-expr [%FOREACH(col-list)] [%AFTERHAVING])
    

    参数

    • ALL - 可选-指定LIST返回string-expr的所有值的列表。 如果没有指定关键字,这是默认值。
    • DISTINCT - 可选-一个DISTINCT子句,指定LIST返回一个仅包含唯一的string-expr值的列表。 DISTINCT可以指定BY(colo -list)子句,其中colo -list可以是单个字段,也可以是用逗号分隔的字段列表。
    • string-expr - 计算结果为字符串的SQL表达式。 通常是所选表中列的名称。
    • %FOREACH(col-list) - 可选-列名或以逗号分隔的列名列表。
    • %AFTERHAVING - 可选-应用在HAVING子句中的条件。

    描述

    LIST聚合函数返回指定列中以逗号分隔的值列表。

    一个简单的LIST(或LIST ALL)返回一个字符串,其中包含一个逗号分隔的列表,该列表由所选行中string-expr的所有值组成。 其中string-expr为空字符串(")的行由逗号分隔列表中的占位符逗号表示。 string-exprNULL的行不包含在逗号分隔的列表中。

    0
    0 232
    文章 Michael Lei · 十二月 27, 2021 5m read

    freepik- freepik.com 首先,什么是数据匿名化?

    根据维基百科 Wikipedia:

    数据匿名化 是一类以隐私保护为目的的 信息清洁  . 是从数据集中去除可确定个人的信息  , 使得该数据描述的个人保持匿名.

    换句话讲, 数据匿名化是保留数据但同时要确保数据源的匿名. 基于所采用的匿名技术,数据被编辑、屏蔽或替换。 这就是IRIS-Disguise的目的,提供一套匿名化工具。 您可以使用两种不同的方式,通过方法执行或在持久类定义本身内部指定匿名化策略。

    当前版本的IRIS-Disguise提供了6种匿名化数据的策略

    • 销毁Destruction
    • 加扰Scramble
    • 洗牌Shuffling
    • 部分掩蔽Partial Masking
    • 随机化Randomization
    • 伪造Faking

    让我解释每种策略,我将用一个例子展示一个方法执行,正如前面提到的,我还将展示如何在持久类定义中应用。

    要以这种方式使用IRIS-Disguise,您需要“戴上伪装眼镜”

    在持久类中,可以扩展dc.Disguise.Glasses 类,并根据您选择的策略更改数据类型的任何属性。

    之后,在任何时候,只需调用类上的congoverProcess方法。将使用数据类型的策略替换所有值。

    让我们开始吧。

    ###销毁 Destruction

    此策略将用一个单词(默认为“机密”)替换整个列。

    Do ##class(dc.Disguise.Strategy).
    0
    2 400
    文章 姚 鑫 · 十二月 26, 2021 6m read

    第六章 SQL聚合函数 JSON_ARRAYAGG

    创建JSON格式值数组的聚合函数。

    注:IRIS可用,IRIS之前版本不可用。

    大纲

    JSON_ARRAYAGG([ALL | DISTINCT [BY(col-list)]] string-expr [%FOREACH(col-list)] [%AFTERHAVING])
    

    参数

    • ALL - 可选-指定JSON_ARRAYAGG返回一个JSON数组,其中包含string-expr的所有值。 如果没有指定关键字,这是默认值。
    • DISTINCT - 可选-一个DISTINCT子句,指定JSON_ARRAYAGG返回一个仅包含唯一字符串expr值的JSON数组。 DISTINCT可以指定BY(colo -list)子句,其中colo -list可以是单个字段,也可以是用逗号分隔的字段列表。
    • string-expr - 计算结果为字符串的SQL表达式。 通常是所选表中列的名称。
    • %FOREACH(col-list) - 可选-列名或以逗号分隔的列名列表。
    • %AFTERHAVING - 可选-应用在HAVING子句中的条件。

    描述

    JSON_ARRAYAGG聚合函数返回指定列中值的JSON格式数组。

    一个简单的JSON_ARRAYAGG(或JSON_ARRAYAGG ALL)返回一个JSON数组,其中包含所选行中string-expr的所有值。

    0
    0 427