Snowflake 

Snowflake Summit 2025 最速レポート3日目①
- 非エンジニアがコードを書かずにStreamlitアプリを構築編-

はじめに

こんにちは。DATUM STUDIOの山口です。
本日は、開催3日目のSnowflake Summitで印象に残ったセッション「Empowering Users with a Streamlit Code Generator App」についてご紹介します。

このセッションでは、非エンジニアでも業務アプリを開発できるように、Streamlitを用いたノーコードのアプリ生成ツールの開発事例が紹介されました。

直面していた課題

日々の業務で頻繁に求められるStreamlitアプリの開発を、毎回エンジニアがゼロから行っていたため、工数の増加が大きな課題となっていました。

特に需要が高かった以下2種類のアプリについて、テンプレート化と自動生成の仕組みを整える取り組みが行われたとのことです。

  • ・Table Edit App(テーブル編集アプリ)
     Snowflake上の既存データを編集/補足する業務アプリ
  • ・Form Collection App(フォーム入力アプリ)
     フォーム入力を通じて新規データをSnowflakeテーブルに登録するアプリ

これらは複数の部署に共通して求められる汎用的な機能であるにもかかわらず、従来はテンプレートや再利用可能な仕組みが存在せず、毎回Pythonでの個別実装が必要とされていました。

さらに、非エンジニアであるビジネスユーザーからは「自分でもこうしたアプリを作成してみたい」という声が増えており、内製ニーズの高まりも背景にありました。

解決策「GUIで項目を選ぶだけでコードが自動生成されるWebアプリ」

そこで開発したのが「Streamlit Code Generator」というStreamlit上で動作するStreamlitアプリコード生成ツールです。

このツールは、ユーザーがドロップダウンやテキストボックスを使っていくつかの選択肢を入力するだけで、以下2種類のコードが自動生成される仕組みになっています。

  1. 1.Snowflakeにターゲットテーブルを作成するためのSQL文
  2. 2.Streamlitアプリ本体のPythonコード

生成されたコードは、そのままコピー&ペーストするだけで即利用可能。
コードに関する専門知識が全くなくても、業務で必要なアプリを自力で作成できるようになりました。

▲ アプリタイプ(編集 or フォーム)を選ぶだけで開始できる

Table Edit App の生成ステップとUI

編集アプリを作る手順は以下のとおりです。

  1. 1.ソーステーブル名の指定
  2. 2.ターゲットテーブル名
  3. 3.ウェルカムメッセージの有無
  4. 4.フィルター用カラムの選択
  5. 5.編集禁止カラムの選択

「Generate Code」ボタンを押すと、以下2種類のコードが生成されます。

  • ・ターゲットテーブル作成用SQL
  • ・Streamlitアプリ用Pythonコード
▲ 出力されたSQL・Pythonコードは、そのまま貼り付けて使用可能

生成されたコードを使用して生成した編集アプリのUIは次のようになります。

▲ Table Edit AppのUI

Form Collection App の生成ステップとUI

フォーム入力アプリも同様にGUIで生成可能です。

  1. 1.ターゲットテーブル名の指定
  2. 2.フィールド数、名称、データ型の指定
▲ こちらも出力されたSQL・Pythonコードはそのまま貼り付けて使用可能
▲ Form Collection AppのUI

このように出力されたコードを使うだけで、非エンジニアでも実用的なフォームアプリが完成します。

ツール導入によって組織に起きた3つの変化

Nicole氏はこのコード生成ツールにより、タコマ市のチームに次のような変化が起きたと語りました。

  1. 1.全てのアプリが同じフォーマット・構造で構築されるため、保守・改修がしやすくなった。
  2. 2.非エンジニアでもアプリを自作できるようになった。
  3. 3.生成されたアプリを起点に、ユーザーがアイデアを出し合い、カスタマイズを試す文化が生まれた。

特に3点目の変化は、今後さらに便利なアプリを生み出すために、非常に良い文化だなと感じました。


今後の展望

このツールはまだまだ改良中とのことで、今後の計画として次の内容が語られました。

  • ・のフィールドタイプの拡充(ラジオボタン、セレクトボックスなどの追加)
  • ・編集アプリへのピボット機能の導入(ワイド形式 ⇔ ロング形式の変換)
  • ・コーディング命名規則の統一による、ガバナンス・保守性の強化

また、ツールのコードはNicole氏のGitHub上で公開されており、今後はコミュニティからのアイデアやPull Requestによって、さらに進化させていく予定とのことです。

実際にソースコード(※)をご覧いただくと分かりますが、たった250行のPythonスクリプトで構成されており、Streamlitを活用することで、いかに手軽にアプリを構築できるかをあらためて実感しました。

https://github.com/nicoleedwards4/StreamlitCodeGeneratorApp

まとめ

共通部分が多いアプリをユーザー自身が自由に作成できるようになったことで、エンジニアの工数は大幅に削減されたのではないかと感じました。

また、何より「アプリを使ってアプリを作る」という発想が非常にユニークで、強く印象に残りました。

さらに、データ可視化やチャットボットといった用途にとどまらず、このような創造的なアプリの事例を見ることで、Streamlitの持つ可能性の広がりをあらためて実感しました。

このページをシェアする:



DATUM STUDIOは、クライアントの事業成長と経営課題解決を最適な形でサポートする、データ・ビジネスパートナーです。
データ分析の分野でお客様に最適なソリューションをご提供します。まずはご相談ください。

関連記事