Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Qlik Sense Desktop (June 2017) に月別のシートを持つ Excel データをロードしたところ、以前の版では各月のデータが自動的にひとつに結合されていましたが、June 2017版でロードすると各月のデータが別のテーブルとしてロードされてしましました。
手動でテーブルを結合する機能(「テーブルの変換」>「テーブルの結合」)があるので試しましたが、同じ項目名のデータであるにもかかわらず、マッピングされない項目が発生してしまいます。
これも手動でマッピング(「マッピングの編集」)すると結合できます。
同様の事象の情報などがありましたら、提供をお願いします。
メッセージ編集者: Nobuki Takahashi 2017/7/16 11:38 - 一部の表現を「データ」から「テーブル」に変更しました。()内に機能名を示しました。
Kawahataさんの参考情報を見ながら、データロードエディタの自動生成セクションを編集し、シート名([2018-2]など)を追加するだけで、結合、マッピングも自動で行えるようになりました。ありがとうございました。
以下のようなコードにしました。
Set salesMonths = '2016-11', ... , '2018-2';
For each mo in $(salesMonths)
LOAD
...
FROM [lib://.../....xlsx]
(ooxml, embedded labels, table is [$(mo)]);
Next;
追加の現象:
「未マッピング」となってしまう項目が日付の場合で、片方が yyyy/mm/dd の形式でデータが入り、もう片方は5ケタの数字になってしまう現象も起きています。元の Excel シート上では yyyy/mm/dd の形式で表示されています。
私の環境で1つのExcelファイルで月ごとのシートを作成して試したところ、問題なく1テーブルに集約されました。
問題の発生するデータを頂くことは可能でしょうか。
Kawahataさん、確認ありがとうございます。会社の売上データなので、加工したものを作ってみます。ちなみに8ヶ月分で、1月のデータは109項目、16000~20000件(行)です。
データマネージャで取込を実行されていますでしょうか。
データロードエディタの方で取り込みを実行して頂くと
こちらは元データの項目名で判断していますのでデータフォーマットが
同じであれば同一テーブルに取り込まれるはずです。
一度試してみて頂けますでしょうか。
Kawahataさん、コメントありがとうございます。
データマネージャーで毎月以下のように取り込んでいました。
1. [テーブル]を選ぶ。
2. 該当データのテーブルを削除。
3. [データの追加]を選択。
4. Excel ファイルを選択。
5. 各月のシートを選択。
6. [データの追加]を選択。
この操作のうち、2 の操作を止めたところ、うまく取り込めました。テーブルを削除した際に結合が解除されるので、その状態で新しいデータをロードしたために結合されなかったようです。以前の版ではこの操作で結合されていたのですが...。
シートが毎月増えるのでデータロードエディタでのロードはうまくいかないような気がします。
参考情報です。
データロードエディタを使う場合、データリストのデータを作成することで、
Excelのデータシートが増えるてもデータリストにシート名を追加するだけで
データマネージャで都度都度データの選択削除をしないでも
データロードする方法があります。
例えば、QlikSense_Data.xlsxにシートが増えた場合に
QlikSense_DataList.xlsxのTable項目に追加されたシート名を記入して
データロードし直すだけでデータの取り込みが可能です。
データフォーマット、ファイル名称が変わる場合は、また別の方法があります。
もし使えそうなら使ってみてください。
Kawahataさん、参考情報のアプリ拝見しました。データロードエディタの自動生成セクションを編集すればいろいろできそうなことがわかりました。ありがとうございます。
また、マニュアル
を見ていたらデータマネージャーでテーブルを連結する方法が書かれていました。ビデオもありました。ちょっとめんどうですが「テーブルの連結」と「マッピングの編集」を利用すれば2つのシートの項目を対応づけられることが分かりました。自動生成セクションを自分で編集する前に活用できそうです。
データマネージャーのほうは項目名だけではなく、データが一致しないと項目を結合してくれないことも理解しました。
Kawahataさんの参考情報を見ながら、データロードエディタの自動生成セクションを編集し、シート名([2018-2]など)を追加するだけで、結合、マッピングも自動で行えるようになりました。ありがとうございました。
以下のようなコードにしました。
Set salesMonths = '2016-11', ... , '2018-2';
For each mo in $(salesMonths)
LOAD
...
FROM [lib://.../....xlsx]
(ooxml, embedded labels, table is [$(mo)]);
Next;