Nueva publicación

查找

Pregunta
· 7 jul, 2025

Diamond Rings for Women: A Symbol of Elegance and Timeless Beauty

When it comes to timeless elegance and symbolic value, few pieces of jewelry can match the allure of diamond rings for women. For centuries, diamonds have been treasured for their beauty, rarity, and the emotions they represent. From engagement rings to anniversary gifts and fashion statements, diamond rings hold a special place in a woman’s jewelry collection. In this article, we’ll explore the significance, styles, and shopping tips for diamond rings that every woman should know.

Comentarios (0)1
Inicie sesión o regístrese para continuar
Artículo
· 7 jul, 2025 Lectura de 3 min

Definiciones y referencias del cubo de análisis

Quizá esto sea bien conocido, pero quería ayudar a compartirlo.

 

Considerad que tenéis las siguientes definiciones de clases persistentes:

Una clase Factura con una propiedad que referencia a Proveedor.

Class Sample.Invoice Extends (%Persistent, %Populate)
{
Parameter DSTIME = "AUTO";
Property InvoiceNumber As %Integer(MINVAL = 100000) [ Required ];
Property ServiceDate As %Date(MINVAL = "+$h-730") [ Required ];
Index InvoiceNumber On InvoiceNumber;
Property Provider As Sample.Provider [ Required ];
Index Provider On Provider [ Type = bitmap ];
/// Build some invoices, this will firstly create 100 Providers
/// <Example>
/// Set tSC=##class(Sample.Invoice).Build()
/// </example>
ClassMethod Build(pCount As %Integer = 100020, pInit As %Boolean = 0) As %Status
{
    #dim tSC 			As %Status=$$$OK
    #dim eException  	As %Exception.AbstractException
    try {
        If pInit {
            $$$THROWONERROR(tSC,##class(Sample.Provider).%KillExtent())
            $$$THROWONERROR(tSC,##class(Sample.Invoice).%KillExtent())
        }
        $$$THROWONERROR(tSC,##class(Sample.Provider).Populate(100))
        $$$THROWONERROR(tSC,##class(Sample.Invoice).Populate(pCount))
    }
    catch eException {
        Set tSC=eException.AsStatus()
    }
    Quit tSC
}
}

y Proveedor

Class Sample.Provider Extends (%Persistent, %Populate)
{

Property Name As %String [ Required ];
Property NPI As %Integer(MAXVAL = 9000000000, MINVAL = 100000000) [ Required ];
}

Si llamáis al método Build en Sample.Invoice, podéis consultar esto con SQL.

SELECT
InvoiceNumber,Provider->Name, Provider As ProviderId,ServiceDate
FROM Sample.Invoice

y veréis

El área que trata este artículo es cómo decidir crear una dimensión sobre Proveedor.

Lo que he comprobado que funciona bien es seguir este patrón.

Esto hace lo siguiente:

  1. Define la dimensión Unique Id en Proveedor (que es el Id de Sample.Provider). Esto es importante porque es totalmente posible que haya más de un Proveedor con el nombre SMITH, JOHN. Al definir el nivel de dimensión en la propiedad Proveedor, estamos indicando que la tabla de dimensiones se cree basada en un Proveedor único. Si miramos en la tabla de dimensiones generada, vemos...

  1. Define una propiedad para el nivel que

 a. Identifica la propiedad = Provider.Name

 b. Obtener valor en tiempo de ejecución = Sí

 c. Usar como nombres de miembros = Sí

Esto tiene el efecto secundario de definir en la tabla de dimensiones la siguiente declaración de propiedad

/// Dimension property: Name<br/>
/// Source: Provider.Name
Property Name As %String(COLLATION = "SQLUPPER(113)", MAXLEN = 2000) 
[ Calculated, 
SqlComputeCode = {Set {Name}=##class(Sample.BI.Cube.Invoice.Provider).%FetchName({Provider})}, SqlComputed ];

con el método %FetchName que se ve así

/// Fetch the current value of %FetchName.<br/>
/// Generated by %DeepSee.Generator:%CreateStarTable.
ClassMethod %FetchName(pKey As %String) As %String
{
 // If we don't a value, show key as this is most likely the NULL substitute
 Set tValue=pKey
 &SQL(SELECT Name INTO :tValue FROM Sample.Provider WHERE %ID = :pKey)
 Quit tValue
}

 

Esto significa que cuando se recuperen los miembros de una dimensión, devolverá el Nombre del Proveedor y no el Id del Proveedor.

Usando Analyzer podemos ver

¿Por qué es esto importante?

  1. Si el nombre del Proveedor cambia en Sample.Provider, el cubo no tiene que ser reconstruido ni sincronizado. Si tenemos cientos de millones de facturas y cambian los nombres de los proveedores, no queremos tener que reconstruir o sincronizar el cubo de facturas por un solo cambio en el nombre de un proveedor.
  2. La tabla de dimensiones para Proveedor se basa en el Id del Proveedor, lo que permite tener más de un proveedor con el mismo nombre en la tabla de dimensiones o en el cubo.

Si en lugar de definir una Propiedad de Nivel de Dimensión definimos la Propiedad de Nivel como Provider.Name, esto significa que cuando el cubo se construye o sincroniza:

  1. El índice único de la dimensión se basa en Provider.Name, lo que provoca que todos los proveedores con el mismo nombre se agrupen bajo ese nombre.
  2. Si Provider.Name cambia, será necesario reconstruir el cubo.
Comentarios (0)1
Inicie sesión o regístrese para continuar
Comentarios
· 7 jul, 2025

¿Lo hicisteis todo en InterSystems READY 2025? Comprobad vuestro bingo.

¿Cómo fue vuestra experiencia en READY?

Hemos preparado un cartón de bingo: echad un vistazo y comprobad cuántas casillas podéis marcar.
Tachad las que coincidan con vuestra experiencia o enumeradlas en los comentarios.
Y si ocurrió algo memorable que no está en el cartón, ¡nos encantaría saberlo! ✨

      

Elementos del bingo:

  1. Participasteis en el torneo de golf o en el partido de fútbol
  2. Descubristeis una función que no sabíais que existía
  3. Asististeis a un taller práctico el domingo
  4. Aprendisteis algo nuevo
  5. Tuvisteis una reunión individual con un experto de InterSystems
  6. Asististeis al menos a una demo del Tech Exchange
  7. Contestasteis correctamente las 5 preguntas del quiz (en el stand de Developer Community)
  8. Hicisteis un examen de certificación gratuito
  9. Girasteis la Rueda de la Fortuna en el stand de Developer Community
  10. Asististeis a las ponencias principales y a las sesiones de la tarde
  11. Conocisteis a alguien nuevo / hicisteis una nueva conexión
  12. Conocisteis a otro miembro de la Developer Community

¿Cuántos de los 12 pudisteis marcar?
Copiad los que completasteis en vuestra respuesta, ¡nos da curiosidad saber qué actividades fueron las más populares! 🤩

Comentarios (0)1
Inicie sesión o regístrese para continuar
InterSystems Official
· 7 jul, 2025

可用于解决最新的 2025.1.0、2024.1.4、2023.1.6 和 2022.1.7 版中的命名空间切换和全局显示问题的点式版本

InterSystems 发布了新的点式更新,该更新解决的缺陷问题影响以下受支持的产品线的最新先前版本 2025.1.0、2024.1.4、2023.1.6 和 2022.1.7:

  • InterSystems IRIS
  • InterSystems IRIS for Health
  • HealthShare Health Connect

此问题可能导致在使用以下功能时出现意外的 <PROTECT> 错误或访问异常:

  • 隐式命名空间
  • 对数据库的混合只读/读写访问
  • 用于列出例程和全局变量的管理门户页面

症状包括:

  • 命名空间创建故障
  • 在列出例程时,间歇性出现“访问被拒”错误
  • 对于具有只读权限的用户,全局显示页面不返回数据

虽然这些问题并影响访问控制或用户权限,但它们会在多种场景下影响预期的系统行为。

问题得到解决的版本

以下点式版本中修复了该问题:

  • 2025.1.0.230.2
  • 2024.1.4.516.1
  • 2023.1.6.810.1
  • 2022.1.7.116.1

建议使用受影响版本的客户应用相关更新,以确保系统正常运行。

如果您有任何问题或需要支持,请联系 InterSystems 全球响应中心 (WRC)

Comentarios (0)1
Inicie sesión o regístrese para continuar
InterSystems Official
· 7 jul, 2025

2025 年 6 月 10 日 – 官方公告:命名空间切换和全局显示故障

摘要

公告编号 受影响的产品和版本 风险类别和评分 明确要求

DP-439649

产品:

  • InterSystems IRIS®
  • InterSystems IRIS for Health
  • HealthShare® Health Connect

版本:

  • 2025.1.0.225.1
  • 2025.1.0.223.0
  • 2024.1.4
  • 2023.1.6
  • 2022.1.7

操作:
4 – 高风险

 

系统稳定性:
3 – 中等风险

 

此问题构成安全漏洞。 它允许用户绕过权限检查或访问其授权命名空间之外的数据

使用隐含命名空间、管理门户或数据库读写/只读混合访问权限

在命名空间之间切换或使用以下任何功能访问环境中的全局变量时,上面列出的 InterSystems 产品中的问题可能会引发意外的 <PROTECT> 错误

  • 隐含命名空间
  • 只读访问默认数据库,但读写访问其他地方
  • 列出例程和全局项的管理门户页面

该问题的症状包括:

  • 存在命名空间创建故障 (DP-440830)
  • 在管理门户中列出例程时,间歇性出现访问被拒的情况 (DP-439622)
  • 全局显示实用工具不显示全局变量(如果用户只有只读权限)(DP-440744)

DP-439649 已解决了所有这些问题,纠正了权限检查应用于进程私有全局和隐含命名空间解析的方式。 这些纠正措施针对的是行为中的失误,而不是访问控制中的失误。 权限得到了正确执行,用户无法访问其分配范围之外的全局变量或命名空间

此问题在以下产品的 2025.1.0.230.2、2024.1.4.516.1、2023.1.6.810.1 和 2022.1.7.116.1 版中得到了解决:

  • InterSystems IRIS 
  • InterSystems IRIS for Health
  • HealthShare® Health Connect

了解更多信息

如果您有任何问题或需要帮助,请联系 InterSystems 全球响应中心 (WRC)

Comentarios (0)1
Inicie sesión o regístrese para continuar