Free Trial

ウィークリーチャレンジリポジトリ

トップになるためのスキルをお持ちですか? ウィークリーチャレンジを購読しましょう。ベストを尽くして問題を解決し、解決策を共有して、他のユーザーがどのように同じ問題に取り組んだのか確認しましょう。私たちも解答例を共有しています。

チャレンジ #217: XML 解析

AYXAcademy
Alteryx
Alteryx

 

今週は以前回答が少なかったチャレンジに再挑戦してみたいと思います。今回はたくさんの回答があるといいですね!

 

 

どこで興味深いチャレンジに遭遇するのか分からないものです。

xml_brackets (1).png

以下は "XML Parsing for Beginners"という投稿に対する回答として投稿されました。

 

「私はある項目 (item) に関する情報を含むファイルを持っています(サンプルが以下にあります)。私の仕事は、item_identifier を特定の属性に関連付けるリストを生成することです(例えば、このサンプルから、以下の出力テーブルのようなものを作成します):

 

item_identifier | grade_level | subject | Depth of Knowledge | Bloom's Taxonomy | etc etc

 

つまり、基本的にはすべての<source><langstring>をタイトルとして、<taxon><entry>を値として持つテーブルです。 その後、少し複雑になりますが、<source><langstring>Standard に到達した後、すべての値を求めてください。」

sanae
ボリード

できました!

スポイラ
challenge_jp_217_start_file_sanae.png
gawa
16 - Nebula
16 - Nebula

できました。データ構造さえわかれば、パース自体は簡単です。

スポイラ
gawa_0-1684370643630.png

 

SuguruYoshinaga
コメット

XMLパースツールを初めて使いました

スポイラ
XMLの仕組みなどよく分かってないですが、とりあえず結果は一致しました。
SuguruYoshinaga_0-1684386166312.png

 

ntakeda
クエーサー

できました。

 

スポイラ
ntakeda_0-1684395628994.png

 

Tokimatsu
クエーサー

やってみました。

 

スポイラ

XML Parse がうまく使えず、正規表現でやりました。

Tokimatsu_0-1684402364822.png

 

 

Qiu
21 - Polaris
21 - Polaris

Done

スポイラ
challenge_ja_217.PNG
AkimasaKajitani
17 - Castor
17 - Castor

できました!

 

スポイラ
過去の日本語版の43ですね!

AkimasaKajitani_0-1684503775500.png

昔と比べるとかなりやり方異なっていますが・・・。



DaisukeTsuchiya
マグネター

見たことあるなと思ったら、再登場なのですね。

 

スポイラ
 XML Parseと正規表現の両方でやってみました。XMLは慣れていないのでTry &Errorが必要でした。正規表現の方がわかりやすいような気もします。

スクリーンショット 2023-05-20 091333.jpg
AkimasaKajitani
17 - Castor
17 - Castor

Cloud版でやってみました!

 

まず、TRIFACTA Classicです。

 

スポイラ
XMLくらいさくっと読めるんじゃないのかーって思ってトライしたら、えらい目にあいました・・・。
TrifactaにもMulti Row Formula機能があって、PREV関数で前の行が読めるようです。これはこれでわかりやすかったです。
ただ、新しく作ったフィールドを呼び出せないので、若干Desginerとの使い勝手は異なりました・・・(しょうがないので、MODとか駆使してます)。
Trifactaは正規表現がうまく使いこなせなくてそこが課題です・・・。


AkimasaKajitani_0-1684551634363.png
AkimasaKajitani_1-1684551906125.png

 



 

Designer Experienceです。

スポイラ
こちらは、正規表現ツールで、さくっと行に分割してできるだろーって思ったら、行にトークン化で分割しようとするとNullになってしまうので(Desktopと同じ設定です)、Trifacta的な方法で進めましたが、Designer ExperienceはMulti Row FormulaがないためStandardって部分をうまく処理できず、行固定で抜き出すしかありませんでした・・・。なので、かなり冗長なWFになっています。

AkimasaKajitani_2-1684552936022.png


ある程度はMulti Row Formulaなくても対応できますが(主にTileとMOD関数を使った数学的なトリックなどで)、やはりMulti Row Formulaほしいです。
あと、Designer ExperienceはMOD関数なかった・・・。