先週のチャレンジの回答はこちらで見つけることができます。
このチャレンジは @Sebastian_Chaieb2からのものです。Sebastianさん、ご投稿ありがとうございました!
このチャレンジは、前回のLEGO®データ分析(#213)の上級バージョンです。今回も、同じデータセットを使ってレポートを作成しますが、今回はレポートにレゴモデルの画像を組み込みます!
また、前回と異なり、このチャレンジで開発するアプリでは、ドロップダウンメニューを組み込み、ユーザーがレゴコレクションを選択できるようにします。さらに、リストボックスは、リストから1つまたは複数のリリース年を選択できるようにします。
以下は、このチャレンジを克服するために待ち受けているタスクの内訳です:
1.データセットの統合と表の作成:
データセットを統合して、以下の列を持つ包括的な表を作成します:
Model Number (これは Set ID です)
Model Name
Year Released
Number of Parts
Collection Name
2.アプリ開発:
ユニークなコレクション名(Collection Name)を選択可能なドロップダウンメニューを作成します:
前のステップで作成した表の Collection Name 列を使用します
50 以上のモデル名が登録されているコレクションのみを使用します
ピリオド(.)、カンマ(,)、およびフォワードスラッシュ(/)を含むコレクション名を除外します
ユーザーが、単一のリリース年または複数のリリース年を選択できるリストボックスを設計します:
前のステップで作成した表のYear Released列を使用します
3.フィルタリングとモデル選択:
アプリユーザーが設定した入力データを使用して表をフィルタリングし、ユーザーが選択したコレクション名と発売年に対応するModel Numberを選択します。
4.画像の自動取得:
次のウェブサイト(https://brickset.com/search?query=31100&scope=All)からそれぞれのモデルの画像を取得するバッチマクロを作成します
以下の構文を使ってウェブサイトのアドレスを修正します
'https://brickset.com/search?query=' + tostring([Model Number]) + '&scope=All'
ページの内容を抽出し、[Model Number]フィールドの横にhttps://images.brickset.com/sets/images/ を含む行を識別するフィルタを実装します。
画像(JPG)とModel Numberへのパスを抽出します(時々ページに追加の画像が添付されることがあります)
[Model Number] = [ExtractedModelNumber]の場合、画像リンクのみを取得するフィルタを使用します
2つ目のダウンロードツールを使用して、画像をblobとしてダウンロードします(JPG画像が間違ったblob形式であるというエラーを出す場合は、ペイロードパラメータContent-Type: application/pngとContent-Disposition: attachmentを使用します)。
5.最終の出力とPDF表示:
最終の出力として、アプリの最後にPDFファイルが表示されるようにします
データソース:https://www.kaggle.com/datasets/rtatman/lego-database?resource=download
https://brickset.com/search/
...その他を表示