Nouvelle publication

Rechercher

Résumé
· Juil 1, 2024
Article
· Juil 1, 2024 4m de lecture

在InterSystems ObjectScript中使用 VECTORs

迄今为止,我看到的大多数使用向量vector的示例,将它只作为 SQL 中的一种功能,尤其是围绕 VECTOR_Search 的 3 个函数。
* TO_VECTOR()
* vector_dot_product ()
* vector_cosine ()

iris-vector-search 演示包中隐藏着一个非常有用的摘要。
从那里,你可以通过多个链接找到所需的一切。

我还缺少更多的 VECTOR 方法,于是在 Idea Portal 上提出了相关请求。

接着,我想起每个 SQL 方法或存储过程都有一堆 ObjectScript 代码。
于是我开始搜索,下面就是我的研究的一些总结:

%Library.Vector 是对新数据类型的核心描述
      这是一种复杂的结构,就像对象或 %DynamicObjects 或 $Bit Expressions 一样,需要特定的方式去访问。
我们还可以看到 2 个必备参数: 
      * DATATTYPE - 一旦设置就不能更改。 可接受的类型:  "整数integer"(或 "int")、"双精度浮点double"、"十进制decimal"、"字符串 "和 "时间戳"。
      * LEN >0 时,可以增长,但绝对不能缩小

$vector() / $ve() 是矢量访问的基本方法
      * 设置矢量数据 >>> SET $VE(. . .) = val
      * 返回矢量数据 >>> WRITE $VE(. . ) , SET var=$VE(. . ) 
          提示:单个位置返回值,但从::到位置返回另一个矢量!
      * 删除矢量数据 >> KILL $VE(. . .) 
      所有 3 个参数都需要至少 1 个位置参数。你可以把它理解为维度。

$isvector()显然是在开始操作前检查格式是否正确。

$vectorop() / $vop() 包括与向量有关的所有其他函数
    调用参数通常为(operation、vector)
某些operation提供可选的 bitxpr。它标记了要排除/包含的位置/维数。

例如: 
- 你只想对 x 轴和 y 轴进行操作,而不想对 z 轴进行操作。

单向量操作符

    Aggregate Operations 汇总操作
      * "count"
      * "max"
      * "min"
      * "sum"
    Filter Operations 过滤器操作
      * "defined"
      * "undefined"
      * "<"
      * "<="
      * ">"
      * ">="
      * "="
      * "!="
      * "between"
     Numeric Operations 数字相关操作
      * "+"
      * "-"
      * "/"
      * "*"
      * "**"
      * "#"
      * "e-"
      * "e/"
      * "ceiling"
      * "floor"
     String Operations 字符串相关操作
      * "_"
      * "e_"
      * "lower"
      * "upper"
      * "substring"
      * "trim"
      * "triml"
      * "trimr"
    Grouping Operations 组相关操作
     * "group"
     * "countgb"
   Miscellaneous Operations 杂项操作
     * "convert"
     * "length"
     * "mask"
     * "positions"
     * "set"
   Informative Operations 信息化业务
    * "bytesize"
    * "type"

多向量操作符(通常为两个操作)

    Vector-wise Filter Operations
       * "v<"
       * "v<="
       * "v>"
       * "v>="
       * "v="
       * "v!="
    Vector-wise Arithmetic Operations
      * "v+"
      * "v-"
      * "v/"
      * "v*"
      * "v**"
      * "v#"
    Vector Concatenation
      * "v_"
    Vector Grouping
      * "countg"
      * "maxg"
      * "ming"
      * "sumg"
    Vector Merge
     * "vset"

你看,现在已经有了一套丰富的工具。
如果你详细研究文档,结果的目的或优势可能不会立即显现出来。

不过,我希望你能对目前可用的工具有一个大致的了解。

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Résumé
· Juil 1, 2024

InterSystems開発者コミュニティのダイジェスト、6月 2024

6月 2024開発者コミュニティ ニュースレターへようこそ。
全体統計
9 件の新しい投稿が公開 (6月 月):
 7件の新着記事
 2の新しい発表
5 人の新メンバーが参加 (6月 月)
1,309 件の投稿が公開 (全期間)
265 人のメンバーが参加 (全期間)
トップ記事
JSON_Table(SQL)の利用
Tomoko Furuzono順
今月のトップ作家
記事
お知らせ
6月, 2024Month at a GlanceInterSystems Developer Community
Résumé
· Juil 1, 2024

【週間ダイジェスト】 6/24 ~ 6/30 の開発者コミュニティへの投稿

6/24 ~ 6/30Week at a GlanceInterSystems Developer Community
Article
· Juin 30, 2024 1m de lecture

使用代码读取审计日志

你可以使用List query 对 %SYS.Audit 查询审计日志,代码如下:

 Set statement=##class(%SQL.Statement).%New()  
 Set status=statement.%PrepareClassQuery("%SYS.Audit","List")
 Set rs=statement.%Execute()  
 Set tab = $char(9)
 While rs.%Next() {    
   Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),!      
 }
Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer