ダッシュボードとデータ可視化のための偽データの生成



背景
単純なインターフェイスにデータの複雑さを蒸留することに焦点を当てて、私が取り組んでいるアプリケーションの大部分.これは私の仕事の核心であったLRE Water そして、私の新しい役割でさらにそうですStae . データの多くの異なるタイプと構造は、ダッシュボードとデータ視覚化を適切にテストするために必要です.開発の容易さのために、私はしばしば偽のデータセットを生成します.
過去に、私は、Googleシートと配列式、vlookups、ランダム値ジェネレータの組み合わせに偽のデータセットを作成するために頼りました.このアプローチは、小さな、1つのオフデータセットのために働いた.1000以上のレコードを生成するか、データセットを更新するために必要なときはいつでも、このアプローチは退屈であることがわかった.私も探検Faker and Casual (両方とも素晴らしいツールですが、生成されるデータが一般的であり、実装が大きなデータセットにとって理想的でないことを発見しました.私はツールを欲しかった.
  • 簡単に任意のサイズの現実的な偽のデータセットを生成することができます.
  • 設定可能です.
  • データセットの更新を行います.
  • データを出力しやすい形式で出力します.
  • この問題を解決するためにData Spring と関連するCLI.サイドノート:データスプリングは非常に多くの仕事を進行中の場合は、フィードバックを共有してください!

    事例研究
    我々は過去5年間で国務省の日々の支出を視覚化するダッシュボードを開発しているとしましょう.データセットには次の要件があります.
  • 複数の支出の値は、最後の5年間、各部門ごとに毎日必要です
  • 我々は、データが生成される部門の現実的なリストを指定できるようにする必要があります.
  • 支出の価値は、現実的な範囲内にする必要があります
  • JSON形式で出力する必要があります.
  • 必要は更新したり再生を容易にする.
  • データ構造は次のようになります.
    [
      {
        "date": "2020-01-01T08:00:00.007Z",
        "department": "Transportation",
        "spending": 10000
      },
      ...many more records
    ]
    

    グーグルシートアプローチ
    データセットは比較的簡単ですが、生成するのにまだ退屈です.Googleのシートを使用して、我々はランダムに番号とVLookupの組み合わせを使用して部門を選択し、ランダムに番号を生成する日付フィールドのいくつかの並べ替えの日付のステップ間隔のロジックを実装する必要がありますし、我々のしきい値間の乱数を生成します.その後、私たちは、数千行の下に数式をコピーしたり、配列の式を使用して、信じられないほど遅い結果スプレッドシートを扱う必要があります.最後に、スプレッドシートをCSVとしてダウンロードし、JSONに変換する必要があります.そして、もし我々が何かを変えたいと思ったなら、我々は再びこれをしなければならないでしょう.いいえ.

    データスプリングと同じシナリオ
    データスプリングは、コンフィギュレーションベースのデータジェネレータで、オブジェクトまたはJSON設定ファイルを使用してデータの希望する形状を定義します.ケーススタディでデータセットを作成するには、次の手順を実行します.
    import { DataSpring } from "data-spring"
    
    const config = [
      { id: "record_id", type: "id" },
      {
        id: "date",
        type: "date",
        interval: {
          // i.e. 'hour' | 'day' | 'month' | 'year'
          type: 'hour',
          // # of records to generate before stepping to next interval
          recordsPerInterval: 2,
        },
        min: "2015-01-01 00:00:00",
        max: "2020-12-31 00:00:00",
      },
      {
        id: "department",
        type: "string",
        values: ["Transportation", "Environment", "Public Health", "Parks and Rec"],
      },
      {
        id: "spending",
        type: "number",
        min: 5000,
        max: 100000,
      },
    ]
    
    const dataset = DataSpring(config)
    
    かなり簡単なハウ?あなたが部門を追加することを忘れたか、支出の範囲が間違っていたことを理解した場合、それはconfig 変数.

    ラッピング
    これはかなり工夫された例であったが、データ・スプリングがどのように偽のデータセットを簡単に生成できるかを示した.
    何かご質問やコメントがあれば下記をご覧ください!あなたがこのポスト役に立つとわかるならば、retweetまたは共有してください!あなたもsign up for updates 私が新しいポストをリリースするときはいつでも.

    便利なリンク
  • ギタブレポ(https://github.com/tylerben/data-spring)
  • データスプリング(https://www.npmjs.com/package/data-spring) .
  • NPMの上のデータ春CLI(https://www.npmjs.com/package/data-spring-cli)