こんにちは。
あるシステムの表形式のデータを取得してフィルターをかけて条件に合うものを絞っていく作業をしてます。
例えば下記のようなデータがあるとします。
氏名 | 商品名 | 種別 | 開始日 | 廃止日 |
---|---|---|---|---|
山田花子 | テレビ 液晶 | 家電 | 令和3年1月10日 | 令和3年2月10日 |
田中太郎 | ノート | 文房具 | 令和2年10月25日 | 令和3年1月15日 |
鈴木次郎 | テレビ 液晶 | 家電 | 令和2年12月5日 | 令和3年3月1日 |
データスクレイピングで取得し、商品名と種別で「データテーブルをフィルタ」で
「商品名 contains 液晶」
「種別 = 家電」
としたら商品名「テレビ 液晶」のように空白の文字列があると思うようにフィルターをしてくれなかったので、まず「種別 = 家電」だけでフィルターしました。結果をdt_種別抽出結果とします。
そのあと、繰り返し各行を使って
繰り返しをrow コレクション内の各要素をdt_種別抽出結果とし、本体の中に
代入 trim商品名=row(“商品名”).tostring.Replace(" “,”")
データテーブルを構築 列名を「trim商品名」とし出力を「dt_trim商品名」 としました。
データ行を追加 入力を「dt_trim商品名」、列配列を{trim商品名}
としたのですが、上書きされてしまいます。
色々調べて
代入 新規行=(dt_trim商品名).NewRow
というものを作ってみたものの、これが正解なのか、どこに配置してどう使ってよいのかわかりません。
やりたいことは下記のように商品名の空白を除去したデータテーブルを作成し、
trim商品名
テレビ液晶
テレビ液晶
データテーブルを結合で、種別で抽出した「dt_種別抽出結果」の後ろにくっつけて、データテーブルをフィルターで「trim商品名 contains 液晶」とし、最後に開始日と廃止日の期間内に購入日が入っている行を抽出したいです。
下記はデータテーブルを結合後のイメージです。
氏名 | 商品名 | 種別 | 開始日 | 廃止日 | trim商品名 |
---|---|---|---|---|---|
山田花子 | テレビ 液晶 | 家電 | 令和3年1月10日 | 令和3年2月10日 | テレビ液晶 |
鈴木次郎 | テレビ 液晶 | 家電 | 令和2年12月5日 | 令和3年3月1日 | テレビ液晶 |
データ行を追加で上書きされない方法と、ここで詰まってしまったのでデータテーブルを結合をまだ試せてないのですが、この方法でよいのかを伺いたいです。
よろしくお願いいたします。