Pesquisar

Artigo
· Out. 8, 2024 4min de leitura

iris-DataViz: Aplicación de análisis y visualización de datos al estilo de Tableau con función de arrastrar y soltar

image

Hola Comunidad,

En este artículo, os presentaré mi aplicación iris-DataViz.

iris-DataViz es una aplicación de análisis y visualización de datos exploratorios basada en Streamlit que aprovecha la funcionalidad de IRIS embebido en Python y SQLAlchemy para interactuar con IRIS, así como la biblioteca de Python PyGWalker para el análisis de datos y la visualización de datos. PyGWalker (Python Graphic Walker) es una biblioteca de visualización de datos interactiva creada para Python, que tiene como objetivo llevar la facilidad y funcionalidad de la visualización al estilo de Tableau con arrastrar y soltar a los entornos de Python.

Características de la aplicación

  • Visualización de arrastrar y soltar
  • Manipulación y limpieza de los datos dentro de la visualización
  • Amplia gama de tipos de gráficos:
  • Exploración interactiva de datos
  • Agregación y agrupación interactivas.
  • Visualizaciones exportables
  • Resumen automático de datos
  • Campos calculados / computados
  • Soporte para datos categóricos, numéricos y temporales
  • Leyendas y filtros interactivos
  • Generación interactiva de informes
  • Soporte de datos geoespaciales


Vista general de la aplicación

La aplicación ya incluye importados datos relacionados con coches. Para ver los datos, navegad al Portal de Gestión de SQL y visualizad los datos utilizando el siguiente comando SQL:

SELECT
Make, Model, Year, EngineFuelType, EngineHP,
EngineCylinders, TransmissionType, Driven_Wheels, 
NumberofDoors, MarketCategory, VehicleSize, 
VehicleStyle, highwayMPG, citympg, Popularity, MSRP
FROM DataViz.CarsInfo

image

Para ejecutar la aplicación, navegad a http://localhost:8051. Seleccionad el espacio de nombres, el esquema y la tabla. Haced clic en la pestaña de Datos para analizar los datos.


image

Seleccionad la pestaña de Visualización, arrastrad las columnas deseadas al eje X y al eje Y, y seleccionad el tipo de gráfico que queráis.
image

Fragmento de código de la aplicación

A continuación, se presenta el código de ObjectScript invocado desde Python embebido para obtener los espacios de nombres de IRIS:

Class dc.DataViz.Util Extends %RegisteredObject
{
ClassMethod getNameSpaces() As %String
{
 //init sql statement   
 set statement=##class(%SQL.Statement).%New()
 //Prepare Class Query
 set status=statement.%PrepareClassQuery("%SYS.Namespace","List")
 //Check the Error
 if $$$ISERR(status) 
 { 
    do $system.OBJ.DisplayError(status) 
 }
 //Execute the statement
 set resultset=statement.%Execute()
 set results = "1"
 while resultset.%Next() {
	//zw resultset    
    if results = "1" {
	    set results = resultset.%Get("Nsp")
	    }
    else
    {
    	set results = results _ "," _ resultset.%Get("Nsp")
    }
 }
 return results
}
}

Código de Python embebido que invoca el código de ObjectScript:

  import iris
  ns = iris.cls('dc.DataViz.Util').getNameSpaces()
  namespaces = ns.split(",")

El código a continuación obtendrá la lista de esquemas y tablas:

 def get_schema(self):
        #Establish IRIS Connection    
        with self.engine.connect() as conn:
            with conn.begin():     
                sql = text(""" 
                    SELECT distinct TABLE_SCHEMA
                    FROM INFORMATION_SCHEMA.TABLES                   
                    WHERE TABLE_TYPE='BASE TABLE'       
                    order by TABLE_SCHEMA
                    """)
                results = []
                try:
                    #Fetch records into results variable
                    results = conn.execute(sql).fetchall()
                    schemas="0"
                    for element in results:                                 
                       if schemas == "0":
                           schemas = element[0]
                       else:
                           schemas = schemas+","+element[0]
                except Exception as e:
                    print(e)
                    
        return schemas

    def get_tables(self,schema):
        #Establish IRIS Connection       
        with self.engine.connect() as conn:
            with conn.begin():     
                sql = text(""" 
                    SELECT TABLE_NAME
                    FROM INFORMATION_SCHEMA.TABLES                   
                    WHERE TABLE_TYPE='BASE TABLE'
                    AND TABLE_SCHEMA = :schema
                     order by TABLE_NAME
                    """).bindparams(schema=schema)            
                results = []
                try:
                    #Fetch records into results variable
                    results = conn.execute(sql).fetchall()                  
                    tables="0"
                    for element in results:                                 
                       if tables == "0":
                           tables = element[0]
                       else:
                           tables = tables+","+element[0]
                except Exception as e:
                    print(e)
                    
        return tables

Para más detalles, por favor, visitad la página de la aplicación iris-DataViz en Open Exchange.

Gracias.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Out. 8, 2024 9min de leitura

GitLab を使用した InterSystems ソリューションの継続的デリバリー - パート X: コード以外の話

約 4 年のギャップを経て、私の CI/CD シリーズが帰ってきました! 長年にわたり、InterSystems の数社のお客様と連携し、様々なユースケースに対応する CI/CD パイプラインを開発してきました。 この記事で紹介する情報が誰かのお役に立てられれば幸いです。

この連載記事では、InterSystems テクノロジーと GitLab を使用したソフトウェア開発の様々な可能なアプローチを取り上げています。

取り上げたいトピックは広範にありますが、今回は、コードを超えた内容についてお話ししましょう。構成とデータについてです。

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Out. 8, 2024

Gagnants du Premier Concours d'Articles Techniques !

Bonjour les Développeurs !

Nous avons de nouveaux articles super intéressants à lire grâce aux merveilleux participants du Concours d'Articles Techniques InterSystems !

🌟 4 articles incroyables 🌟

Et maintenant, il est temps d'annoncer les gagnants !

Découvrons les gagnants et leurs articles :

⭐️ Prix des experts – gagnants sélectionnés par les experts d'InterSystems :

🥇 1ère place et le choix entre Apple Watch SE GPS / Lego NINJAGO® City Gardens / Lego Dungeons & Dragons: Red Dragon's Tale : Utilisation des bons types de stream dans un environnement mirroré par @Matthieu LAURENT 

🥈 2ème place et le choix entre SteelSeries Arctis Nova 7X / AirPods (3ᵉ génération) / Lego Hogwarts™ Castle: The Great Hall : Tests unitaires avec VSCode et une version de IRIS antérieure à 2023.3 par @Robert Barbiaux 

🥉 3ème place et le choix entre Samsonite Classic Business Perfect Fit / Lego Spider-Man Final Battle / Huawei Watch Fit SE : Injection SQL - une menace vaincue ? par @Iryna Mykhailova 

⭐️ Prix de la communauté et le choix entre Samsonite Classic Business Perfect Fit / Lego Spider-Man Final Battle / Huawei Watch Fit SE – gagnant sélectionné par les membres de la Communauté, article avec le plus de likes :

🏆 Utilisation des bons types de stream dans un environnement mirroré par @Matthieu LAURENT 

Félicitons ces héros qui ont participé au Concours d'Articles Techniques et qui recevront chacun une gourde en remerciement de leur participation :

@Robert Barbiaux 
@Matthieu LAURENT 
@Robert Cemper
@Iryna Mykhailova 

MERCI À TOUS ! Vous avez apporté une contribution incroyable à notre Communauté de Développeurs !


Les prix sont en cours de production. Nous contacterons tous les participants lorsqu'ils seront prêts à être expédiés.

5 Comments
Discussão (5)4
Entre ou crie uma conta para continuar
Pergunta
· Out. 8, 2024

Performance tuning techniques - Emmanuel Katto Uganda

Hi everyone, My name is Emmanuel Katto. What performance tuning techniques have you found most effective when working with InterSystems IRIS? Any specific metrics to monitor?

 

I look forward to your tips/suggestions.

Thanks in advance!

Best,

Emmanuel Katto

4 Comments
Discussão (4)4
Entre ou crie uma conta para continuar
InterSystems Oficial
· Out. 7, 2024

通过近似最近邻索引(已在向量搜索抢先体验计划中实现)加快向量搜索速度

我们最近在向量搜索抢险体验计划中提供了新版的 InterSystems IRIS,新版本采用了新的基于分层可导航小世界 (HNSW) 索引算法的近似最近邻索引。 这一新增功能可对大型向量数据集进行高效的近似最近邻搜索,从而显著提高查询性能和可扩缩性。

HNSW 算法旨在通过构建基于图形的结构来优化高维数据的向量搜索,从而更快地在大型向量集合中找到近似邻。 无论您使用的是推荐系统、自然语言处理,还是其他机器学习应用,HNSW 都能显著缩短搜索时间,同时允许您调整准确度水平,但准确度提高的代价是查询时间变慢。

HNSW 的主要优点包括:

Discussão (0)0
Entre ou crie uma conta para continuar