0 フォロワー · 33 投稿

このタグは、分析およびビジネスインテリジェンスソリューション、視覚化、KPI、その他のビジネスメトリック管理の開発に関する議論に関連しています。

記事 Toshihiko Minamoto · 1月 25, 2022 9m read

キーワード: PyODBC、unixODBC、IRIS、IntegratedML、Jupyterノートブック、Python 3

 

目的

数か月前、私は「IRISデータベースへのPython JDBC接続」という簡易メモを書きました。以来、PCの奥深くに埋められたスクラッチパッドよりも、その記事を頻繁に参照しています。 そこで今回は、もう一つの簡易メモで「IRISデータベースへのPython ODBC接続」を作成する方法を説明します。

ODBCとPyODCBをWindowsクライアントでセットアップするのは非常に簡単なようですが、Linux/Unix系サーバーでunixODBCとPyODBCクライアントをセットアップする際には毎回、どこかで躓いてしまいます。

バニラLinuxクライアントで、IRISをインストールせずに、リモートIRISサーバーに対してPyODBC/unixODBCの配管をうまく行うための単純で一貫したアプローチがあるのでしょうか。

 

範囲

最近、Linux Docker環境のJupyterノートブック内でゼロからPyODBCデモを機能させるようにすることに少しばかり奮闘したことがありました。 そこで、少し冗長的ではありますが、後で簡単に参照できるように、これをメモに残しておくことにしました。  

範囲内 

このメモでは、以下のコンポーネントに触れます。

  • 0
    0 1234
    記事 Henrique Dias · 12月 25, 2020 2m read

    皆さん、こんにちは。

    iris-analytics-パッケージには、「企業が自社のソフトウェアで InterSystems Analytics の サポートをいかに簡単、そしてシンプルに利用できるかを示す」意図があります。

    新しいシンプルなソリューションを作成したり、OpenExchange を使用して既存のソリューションを改善したりすることもできます。

    InterSystems IRISにアップグレードしている企業のほとんどは、ツールが提供するすべての機能を活用しています。

    このコンテストでの私のもう一つのターゲットは、インターシステムズを長く利用していても、自分たちがアクセスしている可能性をフルに活用していない企業です。

    このプロジェクトは、他のプロジェクトをベースにしてインスピレーションを得て作成しました。ありがとう  @Evgeny Shvarov @Guillaume Rongier @Peter Steiwer

    それらのプロジェクトが一緒になって、このウィザードになった。

    インポートウィザード

    メインページはシンプルで、そこに至るまでのプロセスがわかりやすい。

    ウィザードを適切に使用するためのフィールドがいくつかあります。

    1. CSV ファイルを選択します。
    0
    0 549
    記事 Toshihiko Minamoto · 11月 19, 2020 9m read

    企業は変化の激しい業界で競争力を維持するため、イノベーションを起こす必要があります。 この製品は企業が迅速かつ安全な意思決定を行い、より正確な将来の実績を目指せるようにします。
    ビジネスインテリジェンス(BI)ツールは、企業が試行錯誤に頼ることなくインテリジェントな意思決定を行うのに役立ちます。 このようなインテリジェントな決定は市場で成功するか失敗するかを決定付けます。
    Microsoft Power BI は業界をリードするビジネスインテリジェンスツールの 1 つです。 Power BI では数回クリックするだけでマネージャーやアナリストが企業のデータを簡単に探索できます。 これは重要なことです。容易にデータにアクセスして視覚化できれば、それがビジネス上の意思決定に使用される可能性が高くなるからです。

    0
    0 489
    記事 Toshihiko Minamoto · 6月 3, 2020 6m read

    先週、私たちはInterSystems IRIS Data Platformを発表しました。これは、トランザクション、分析、またはその両方に関係なく、あらゆるデータの取り組みに対応する新しい包括的なプラットフォームです。 CachéとEnsembleでお客様が慣れ親しんでいる多くの機能が取り込まれていますが、この記事では、プラットフォームの新機能の1つであるSQLシャーディングについてもう少し詳しく説明します。これはスケーラビリティに関する強力な新機能です。 

    ちょうど4分41秒の時間がある方は、スケーラビリティに関するこちらの詳しい動画をご覧ください。 ヘッドホンがない方や聞き心地の良いナレーションが同僚の方の迷惑になると思う方は、どうぞ読み進めてください! 

    スケールアップとスケールアウト 

    1日に何百万件という株取引を処理する場合でも、1日に数万人の患者を治療する場合でも、このような業務を支えているデータプラットフォームは、こういった大きなスケールに透過的に対処できなければなりません。 「透過的に」というのは、プラットフォームがスケーリングの面を請け負い、開発者やビジネスユーザーは処理量を気にすることなく、それぞれが専門とする業務とアプリケーションに専念することができるという意味です。 

    長年にわたり、Cachéは垂直スケーラビリティをサポートしてきました。

    0
    0 426
    記事 Mihoko Iijima · 8月 16, 2021 5m read

    開発者の皆さん、こんにちは!

    InterSystems IRIS でアナリティクスソリューションを構築するにはどのような方法があるでしょうか。

    最初に、アナリティクスソリューションは何かについて確認しようと思いますが、とても幅広いテーマになってしまうので、Analytics コンテストで発表できるソリューションに限定してご紹介します。

    以下、モニタリングインタラクティブアナリティクスレポーティングの3種類のアナリティクスソリューションについてご紹介します。

    モニタリング

    一般的なモニタリングソリューションは、アクティブに更新される KPI を備えたオンラインダッシュボードで構成されています。

    モニタリングの主な使用例としては、新しいデータの KPI を常に視覚的に観察し、緊急時に対応することです。

    インタラクティブアナリティクス

    このソリューションはフィルタやドリルダウンが行えるインタラクティブなダッシュボードのセットを想定しています。

    主なユースケースは、グラフや表のデータを視覚化した上で、フィルタやドリルダウンを使用してデータを探しだし、ビジネス上の意思決定を行うことです。

    レポーティング

    レポーティングソリューションは、グラフやテキスト形式のデータを事前にデザインされたフォームで提供する HTML や PDF ドキュメントの形式で、静的(通常)レポートを提供し、メールで送付することもできます。

    レポーティングシステムの主なユースケースは、ビジネスにとって重要な製品やプロセス、サービス、セールスなどの状況を説明するレポートを一定期間に取得することです。

    このようなソリューションを構築するために、InterSystems 製品をどのように利用できるでしょうか。

    以下の項目で議論してみましょう。

    0
    0 335
    記事 Toshihiko Minamoto · 12月 8, 2020 4m read

    インスタンスのデータに基づくビジネスインテリジェンスを実装しようと計画中です。 DeepSee を使うには、データベースと環境をどのようにセットアップするのがベストですか?

     

    0
    0 301
    記事 Toshihiko Minamoto · 7月 5, 2023 39m read

    この記事では、InterSystems IRIS の学習に関連したトピックについて、開発者コミュニティでの厳選された記事にアクセスすることができます。機械学習や Embedded Python、JSON、API と REST アプリ、InterSystems環境の構築と管理、DockerとCloud、VSCode、SQL、Analytics/BI、グローバル、セキュリティ、DevOps、インターオペラビリティNative API、それぞれでランク付けされたトップの記事を見ることができます。ぜひ、楽しみながら学んでください!  

    機械学習

    機械学習は、高度なデータ分析を構築し、優れた効率で手動活動を自動化するための必須技術です。既存のデータから学習する認知モデルを作成し、自己調整されたアルゴリズムに基づいて予測、確率計算、分類、識別、「非創造的」な人間の活動の自動化を実行します。

    すべてのシナリオにおいて、InterSystems IRISは、これらのマシンラーニングモデルを作成、実行、利用可能にし、使用するためのデータプラットフォームおよび環境として機能します。IRISは、SQLコマンドからのML利用(IntegratedML)、Embedded PythonやPMML(Predictive Model Markup Language)による機械学習が可能です。

    0
    2 283
    記事 Toshihiko Minamoto · 5月 24, 2021 3m read

    以下の記事は、DeepSee の基本的なアーキテクチャを実装するためのガイドです。 この実装には、DeepSee キャッシュ用のデータベースと DeepSee 実装と設定用のデータベースが含まれています。

    0
    0 273
    記事 Toshihiko Minamoto · 5月 27, 2021 5m read

    以下の記事では、DeepSee の中程度の複雑さのアーキテクチャ設計を説明します。 前の例で説明したとおり、この実装には、DeepSee キャッシュや DeepSee の実装と設定用の個別のデータベースが含まれています。 この記事では、同期に必要なグローバルの保存用と、ファクトテーブルとインデックスの保存用に、2 つの新しいデータベースを紹介します。

    0
    0 258
    記事 Minoru Horita · 11月 30, 2020 6m read

    みなさん、こんにちは。 今回は ML モデルを IRIS Manager にアップロードしてテストしようと思います。

    注意: Ubuntu 18.04、Apache Zeppelin 0.8.0、Python 3.6.5 で以下を実行しました。

    はじめに

    最近では実にさまざまなデータマイニングツールを使用して予測モデルを開発し、これまでにないほど簡単にデータを分析できるようになっています。 InterSystems IRIS Data Platform はビッグデータおよび高速データアプリケーション向けに安定した基盤を提供し、最新のデータマイニングツールとの相互運用性を実現します。

    この連載記事では、InterSystems IRIS で利用できるデータマイニング機能について説明します。最初の記事ではインフラストラクチャを構成し、作業を開始する準備をしました。2 番目の記事では、Apache Spark と Apache Zeppelin を使用して花の種を予測する最初の予測モデルを構築しました。 この記事では KMeans PMML モデルを構築し、InterSystems IRIS でテストします。

    Intersystems IRIS は PMML の実行機能を提供しています。 そのため、モデルをアップロードし、SQLクエリを使用して任意のデータに対してそのモデルをテストできます。

    0
    0 245
    記事 Toshihiko Minamoto · 5月 2, 2023 5m read

    InterSystems 2022.2 では、IRIS SQL テーブルを永続化する新しいオプションとして、分析クエリを桁違いに向上させられるカラムナーストレージを導入しました。 2022.2 と 2022.3 ではこの機能は実験的としてマークされていますが、次の 2023.1 リリースでは、完全にサポートされた本番機能に「卒業」する予定です。 

    製品ドキュメントとこの紹介動画では、IRIS では現在でもデフォルトであり、全顧客ベースで使用されている行ストレージと、このカラムナーストレージの違いがすでに説明されており、ユースケースに適切なストレージレイアウトの選択方法に関する大まかなガイダンスが提供されています。 この記事では、このテーマについて詳しく説明し、業界で実践されているモデリング原則、内部テスト、および早期アクセスプログラム参加者からのフィードバックに基づく推奨事項をいくつか紹介します。 

    1
    0 217
    記事 Toshihiko Minamoto · 9月 15, 2023 5m read

    DeepSee BI ソリューションのユーザーインターフェース(UI)を配布するにはいくつかのオプションがあります。 最も一般的には以下の手法があります。

    • ネイティブの DeepSee ダッシュボードを使用し、Zen で Web UI を取得して、Web アプリに配布する。
    • DeepSee REST API を使用して、独自の UI ウィジェットとダッシュボードを取得・構築する。

    最初の手法はコーディングを行わずに比較的素早く BI ダッシュボードを構築できるためお勧めですが、事前設定のウィジェットライブラリに限られます。これを拡張することはできますが、大きな開発の手間がかかります。

    2 つ目の手法には、任意の総合 js フレームワーク(D3,Highcharts など)を使用して DeepSee データを可視化する手段がありますが、ウィジェットとダッシュボードを独自にコーディングする必要があります。

    今日は、上の 2 つを組み合わせて Angular ベースの DeepSee ダッシュボード用 Web UI を提供するもう 1 つの手法をご紹介します。DeepSee Web ライブラリです。

    0
    0 214
    記事 Toshihiko Minamoto · 4月 1, 2024 5m read

    大規模言語モデル(OpenAI の GPT-4 など)の発明と一般化によって、最近までは手動での処理が非現実的または不可能ですらあった大量の非構造化データを使用できる革新的なソリューションの波が押し寄せています。 データ検索(検索拡張生成に関する優れた紹介については、Don Woodlock の ML301 コースをご覧ください)、センチメント分析、完全自律型の AI エージェントなど、様々なアプリケーションが存在します。

    この記事では、IRIS テーブルに挿入するレコードに自動的にキーワードを割り当てる単純なデータタグ付けアプリケーションの構築を通じて、IRIS の Embedded Python 機能を使って、Python OpenAI ライブラリに直接インターフェース接続する方法をご紹介します。 これらのキーワードをデータの検索と分類だけでなく、データ分析の目的に使用できるる単純なデータタグ付けアプリケーションを構築します。ユースケースの例として、製品の顧客レビューを使用します。

    要件

    • IRIS の実行インスタンス
    • OpenAPI API キー(こちらで作成できます)
    • 構成済みの開発環境(この記事では VS Code を使用します)

    Review クラス

    顧客レビューのデータモデルを定義する ObjectScript クラスの作成から始めましょう。

    0
    0 213
    記事 Toshihiko Minamoto · 10月 5, 2023 4m read

    コミュニティの皆さん、こんにちは!

    DeepSee Web についてのパート 2 では、DSW のカスタマイズオプションについて説明します。  

    カスタマイズには、ウィジェットのカスタマイズとダッシュボードパネルのカスタマイズの 2 種類があります。

    開発者コミュニティ分析におけるダッシュボードのカスタマイズ例。

    0
    0 204
    記事 Toshihiko Minamoto · 9月 1, 2023 2m read

    以下は、InterSystems IRIS で使用するデータベース、ネームスペース、および Web アプリケーションを作成できる ObjectScript スニペットです。

        set currentNS = $namespace
    
        zn "%SYS"
    
        write "Create DB ...",!
        set dbName="testDB"
        set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
        set status=##Class(Config.Databases).Create(dbName,.dbProperties)
        write:'status $system.Status.DisplayError(status)
        write "DB """_dbName_""" was created!",!!
    
    
        write "Create namespace ...",!
        set nsName="testNS"
        //グローバルの DB
        set nsProperties("Globals") = dbName
        //ルーチンの DB
        set nsProperties("Routines") = dbName
        set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
        write:'status $system.Status.DisplayError(status)
        write "Namespace """_nsName_""" was created!",!!
    
    
        write "Create web application ...",!
        set webName = "/csp/testApplication"
        set webProperties("NameSpace") = nsName
        set webProperties("Enabled") = $$$YES
        set webProperties("IsNameSpaceDefault") = $$$YES
        set webProperties("CSPZENEnabled") = $$$YES
        set webProperties("DeepSeeEnabled") = $$$YES
        set webProperties("AutheEnabled") = $$$AutheCache
        set status = ##class(Security.Applications).Create(webName, .webProperties)
        write:'status $system.Status.DisplayError(status)
        write "Web application """webName""" was created!",!
    
        zn currentNS
    
    0
    0 190
    記事 Henrique Dias · 1月 28, 2021 3m read

    2020年に世界を襲ったパンデミックの影響で、COVID-19のニュースや数字をみんなでフォローするようになりました。

    これを機に、世界の予防接種の数を追いかけて、シンプルで楽しいものを作ってみてはいかがでしょうか。

    この課題に立ち向かうために、私はOur World in Dataで提供されたデータを利用しています。世界最大の問題を解決するための研究とデータ。

    Github上にCOVID-19のデータで専用のリポジトリを用意してくれていて、そのワクチンのデータを持ってトラッカーを手伝ってくれました。

    もしあなたが彼らを知らなかったら、それをチェックしてみてください、それはあなたにとって価値ある時間です。 Github repository

    アプリケーション iris-vaccine-trackerには、3つの異なるページがあります。

    1. メインダッシュボード
    2. ダッシュボードに表示されている詳細情報のデータ表
    3. ヒートマップ

    ダッシュボード

    メインダッシュボードでは、世界中の予防接種の状況を簡単に知ることができます。

    最初のウィジェットは:

    • ワクチンを何本接種しているのか
    • ワクチン接種に関する情報を提供している国はどれくらいあるのか
    • これまでに申請した予防接種の合計。

    2つ目のウィジェットでは、最も重要な予防接種数の多いトップ10の国の予防接種を時系列で見ることができます。

    2
    0 186
    記事 Toshihiko Minamoto · 5月 31, 2021 3m read

    以下の記事では、DeepSee のより柔軟なアーキテクチャ設計の概要を説明します。 前の例で説明したとおり、この実装には、DeepSee キャッシュや DeepSee の実装と設定、および同期グローバル用の個別のデータベースが含まれています。 この例では、DeepSee インデックスを保存するための新しいデータベースを紹介します。 DeepSee インデックスがファクトテーブルや次元テーブルとともにマッピングされないように、グローバルマッピングを再定義します。

    0
    0 182
    記事 Toshihiko Minamoto · 1月 11, 2024 3m read

    DeepSee で階層を設計する場合、子メンバーに 1 つの親しか指定できません。 子が 2 つの親に対応する場合には、信頼性のない結果が得られることになります。 類似する 2 つのメンバーが存在する場合、そのキーがそれぞれ一意になるように変更する必要があります。 これが起きる場合とそれを回避する方法について、2 つの例を見ながら説明します。

    例 1

    (アメリカには)Boston と言う都市がある州がたくさんあります。 私のサンプルデータでは、Boston, MA(マサチューセッツ州ボストン)と Boston, NY(ニューヨーク州ボストン)のレコードがあります。 次元は次のように定義されています。

    私の場合、City(都市)と State(州)は単純な文字列です。 キューブにビルドすると、"MA" と "NY" の2 つの州メンバー、"Boston" と "Boston" の 2 つの都市メンバーが得られます。 Boston が 1 つではなく 2 つあるのはなぜでしょうか。 メンバーには 2 つの親メンバーを指定できないため、親ごとに異なるメンバーを作成する必要があります。 残念ながら、1 つのキーが 2 つの異なるメンバーを持っているため、この時点で「不適切な階層」状態になっています。

    これを修正するには、キーを一意にしなければなりません。

    0
    0 172
    記事 Toshihiko Minamoto · 3月 28, 2024 12m read

    ローコードへの挑戦

    こんな状況を思い浮かべてください。「ウィジェットダイレクト」というウィジェットとウィジェットアクセサリーを販売する一流のネットショップで楽しく勤務しています。先日、上司から一部の顧客がウィジェット商品にあまり満足していないという残念な話を聞き、苦情を追跡するヘルプデスクアプリケーションが必要となりました。さらに面白いことに、上司はコードのフットプリントを最小限に抑えることを希望しており、InterSystems IRIS を使って 150 行未満のコードでアプリケーションを提供するという課題をあなたに与えました。これは実際に可能なのでしょうか?

    免責事項: この記事は、非常に基本的なアプリケーションの構築を記すものであり、簡潔さを維持するために、セキュリティやエラー処理などの重要な部分は省略されています。このアプリケーションは参考としてのみ使用し、本番アプリケーションには使用しないようにしてください。この記事ではデータプラットフォームとして IRIS 2023.1 を使用していますが、それ以前のバージョンでは記載されているすべての機能が提供されているとは限りません。

    ステップ 1 - データモデルの定義

    クリーンなネームスペースを新規に定義することから始めましょう。CODE と DATA データベースを使用します。

    1
    0 160
    記事 Mihoko Iijima · 8月 23, 2021 1m read

    これは InterSystems FAQ サイトの記事です。

    InterSystems IRIS Business Intelligence 用メニューの Analytics(または DeepSee)を使用するためには、使用するネームスペース用ウェブアプリケーションパスを Analytics(またはDeepSee)に対応するように設定変更する必要があります。

    詳細については以下のドキュメントをご参照ください。

    【IRIS】
    InterSystems IRIS Business Intelligence の Web アプリケーション設定について

    【2015.1~2018.1】
    DeepSee の Web アプリケーション設定について

    【~2014.1】
    %CSPページへのアプリケーション・アクセスの制御について/特殊なケース: DeepSee

    0
    0 159
    記事 Toshihiko Minamoto · 1月 28 4m read

    InterSystems IRISのウィンドウ関数を使用すると、累積合計、ランキング、移動平均など、強力な分析を直接SQLで実行できます。
    ウィンドウ関数は、「GROUP BY」のように結果をまとめることなく、関連行の「ウィンドウ」(グループ上)で動作します。
    つまり、ループも結合も一時テーブルも使わずに、より簡潔で高速、しかも保守しやすいクエリを書くことができます。

    この記事では、よくあるデータ分析タスクに取り組むことで、ウィンドウ関数の仕組みを理解していきましょう。


    InterSystems IRISでのSQLウィンドウ関数入門

    SQLウィンドウ関数は、データ分析のための強力なツールです。
    各行をそのまま表示したまま、複数行の集計とランキングを計算することができます。
    ダッシュボード、レポート、または複雑な分析を構築しているかどうかに関係なく、ウィンドウ関数はロジックを簡素化し、パフォーマンスを大幅に向上させます。

    注意:私はウィンドウ関数の専門家ではありませんが、私がウィンドウ関数を理解するうえで役立ったインサイトやリソースを共有したいと思います。 ご提案や訂正があれば、ぜひお知らせください!


    🚀 ウィンドウ関数が重要な理由

    累積合計やランキング、行間の差分を計算するために、複数のSQLクエリや手続き型のループを書いたことはありませんか?

    0
    1 67