この記事では、QlikTech for Business IntelligenceのQlikViewを使用する基本について説明します。 注意、多くのネタバレ。
はじめに
QlikTechは、ラドナーに本社を置くビジネスインテリジェンスソフトウェア企業です。 1993年にスウェーデンで設立されました。
QlikViewは、 ETLツールが組み込まれたRAMでの連想検索を備えたBIプラットフォームです 。
略語、定義、情報
- QV-QlikView
- QVで「レポート」ではなく「アプリケーション」を呼び出すのが慣例です
- 1つのアプリケーションに同じ数のレポートを含めることができます
- レポートの下で定義されている-テーブル、グラフ、リスト、チャート
実際、なぜここにいるのですか? -簡単な販売分析のための最初のアプリを作成するため
これには何が必要ですか?
1. QlikView。
2.データ。QVを使用してランダムに作成しました。
3. 25〜30分。
参照資料
1. QlikView Personal Edition( ver。11.20 SR5) x86 x64 Win8andUp -1つのコンピューターで1人のユーザーが使用する際の制限なしに、誰でも利用できる無料バージョン
2. Megaのデータアーカイブ
データの読み込み
QVが既にインストールされ、新しいドキュメントが作成されていることを前提としています。
スクリプトエディター(CTRL + E)を開いて、デフォルトの環境変数がすでに作成されていることを確認します。
スクリプトエディタウィンドウ
仕事に今日必要なのはボタンだけです- 、Excelファイルからデータを読み込むためです。
カレンダーを作成することから始めましょう。コードを入力してください:
(完全なスクリプトは、記事の最後にあります)
カレンダー
データをダウンロードする前に毎回アプリケーションを保存することを忘れないでください。そうしないと、すべてのコードを再度入力する必要があります。
設定で自動保存を有効にできます。
CTRL + Rを押してデータをロードしましょう
進捗
閉じると、シートプロパティウィンドウが表示されます。
シート特性
シートに表示されているデータの構成を、所有しているものに基づいて変更するよう提案されているので、活用しましょう。
年、月を追加
あるべき姿
[OK]をクリックして、「リストボックス」を好きなように配置します。
動く物体
それだけです。CTRL+ Eスクリプトエディターに移動し、[テーブルファイル]ボタンをクリックし、命名ファイルを選択して[開く]をクリックします。
参考書
プロパティは変更しませんが、[完了](または[完了])をクリックするだけです
スプレッドシートドキュメントのプロパティ
同時に、ドキュメントからデータをロードするためのコードを自動的に作成しました。
商品コード
ディレクトリの最初の行を置き換えるだけです。 命名法について
RowNo()という行をIDとして追加します。データをロードする際に、データをバインドできる一意の識別子がなく、手動で作成しなければならないこともあります。しかし、その別の時間についての詳細。
命名法と同様に
引き続き、命名法に類似した販売データのダウンロードをスクリプトに追加します
それは販売であるはずです
スクリプトの作成は完了です。CTRL+ Sアプリケーションを保存し、CTRL + Rをロードします。5万ダウンロードする速さに注意してください。 Excelファイルの行。
進捗
設計
結果を変更せずにしましょう
シートデータ
ピボットテーブルを作成します
フルテーブル
テーブルの種類を選択します-概要、次をクリックし、ディメンションを追加します
次にクリックして、式を追加します。
テーブルの種類を選択します-概要、次をクリックし、ディメンションを追加します
次にクリックして、式を追加します。
テーブルを少しまっすぐにして、これに似たものを取得しましょう。
そのようなもの
受け取ったもの:
チェック済み
プロパティに移動します。
最初の4つの測定では、[プレゼンテーション]タブで[部分合計の表示]を個別に設定します
チェック済み
プロパティに移動します。
最初の4つの測定では、[プレゼンテーション]タブで[部分合計の表示]を個別に設定します
変革を続けます 今は何もはっきりしていません
写真
年、月、日の測定値を削除し、親と命名法のみを残します
年、月、日の測定値を削除し、親と命名法のみを残します
それは多かれ少なかれ、明確に、優れたように見え始めました。
これで、年と月で遊んで、必要なものを選択して、表のデータ変換の速度に注意を払うことができます
サンプリング
クリアボタンのサンプル:
終わり。
おわりに
実際、私はコミュニティにどのように機能するかを示し、指でQVでアプリケーションを構築したかったのです。
私自身、QVに関するより深刻なプロジェクト、特に5億行のデータに関するレポートの作成に携わっています。
継続がhabroad-societyに興味があるなら、私は喜んでそれを提供します。
kamentyへようこそ。
完全なアプリケーションコード
SET ThousandSep = '';
SET DecimalSep = '、';
SET MoneyThousandSep = '';
SET MoneyDecimalSep = '、';
SET MoneyFormat = '### 0.00 p .;-### 0.00 p。';
SET TimeFormat = 'h:mm:ss';
SET DateFormat = 'DD.MM.YYYY';
SET TimestampFormat = 'DD.MM.YYYY h:mm:ss [.fff]';
SET MonthNames = 'Jan; 2月 3月 4月 5月 じゅん 7月 8月 9月 10月 11月 Dec ';
SET DayNames = '月; 火 水; 木 金 土; 太陽 ';
//空のカレンダーテーブル
カレンダー:/ *テーブルの名前* /
load * Inline / *明示的に指定したデータを1行ずつデータにロードします* /
[日付、月、年、日]; / *テーブルに含まれるデータフィールドの名前* /
//現在の日付から800日を引いたカレンダーを作成します
Let CurrentDate = Num(Today(1)); / *変数CurrentDateを定義します-
デジタル表現での今日の数字のように* /
Let Period = 800; / *私は任意の番号を取りました。任意の番号を使用できます* /
For i = 0 to $(Period)/ *ループを作成* /
連結(カレンダー)/ *連結コマンドは、既に作成されたテーブルを意味します
新しいデータを追加する必要があります* /
Load / * Loadコマンドはほぼすべての場所で使用され、テーブルにデータをロードすることを意味します* /
日付($(CurrentDate)-$(i))を日付として、/ *日付を計算* /
Month(Date($(CurrentDate)-$(i)))as Month、/ *月の計算* /
年(日付($(CurrentDate)-$(i)))年として、/ *年を計算* /
Day(Date($(CurrentDate)-$(i)))as Day / *数値を計算* /
AutoGenerate 1 / * Autogenerate 1-テーブルに1行書き込む必要があることを意味します* /
;
次に私; / *ループを継続* /
命名法:
LOAD製品名、
親
IDとしてRowNo()
から
nomenclature.xlsx
(ooxml、埋め込みラベル、表はSheet1です);
ムーブメント:
LOAD ID
日付
数量
金額
から
Motion.csv
(txt、utf8、埋め込みラベル、区切り文字は「、」、msq);
SET DecimalSep = '、';
SET MoneyThousandSep = '';
SET MoneyDecimalSep = '、';
SET MoneyFormat = '### 0.00 p .;-### 0.00 p。';
SET TimeFormat = 'h:mm:ss';
SET DateFormat = 'DD.MM.YYYY';
SET TimestampFormat = 'DD.MM.YYYY h:mm:ss [.fff]';
SET MonthNames = 'Jan; 2月 3月 4月 5月 じゅん 7月 8月 9月 10月 11月 Dec ';
SET DayNames = '月; 火 水; 木 金 土; 太陽 ';
//空のカレンダーテーブル
カレンダー:/ *テーブルの名前* /
load * Inline / *明示的に指定したデータを1行ずつデータにロードします* /
[日付、月、年、日]; / *テーブルに含まれるデータフィールドの名前* /
//現在の日付から800日を引いたカレンダーを作成します
Let CurrentDate = Num(Today(1)); / *変数CurrentDateを定義します-
デジタル表現での今日の数字のように* /
Let Period = 800; / *私は任意の番号を取りました。任意の番号を使用できます* /
For i = 0 to $(Period)/ *ループを作成* /
連結(カレンダー)/ *連結コマンドは、既に作成されたテーブルを意味します
新しいデータを追加する必要があります* /
Load / * Loadコマンドはほぼすべての場所で使用され、テーブルにデータをロードすることを意味します* /
日付($(CurrentDate)-$(i))を日付として、/ *日付を計算* /
Month(Date($(CurrentDate)-$(i)))as Month、/ *月の計算* /
年(日付($(CurrentDate)-$(i)))年として、/ *年を計算* /
Day(Date($(CurrentDate)-$(i)))as Day / *数値を計算* /
AutoGenerate 1 / * Autogenerate 1-テーブルに1行書き込む必要があることを意味します* /
;
次に私; / *ループを継続* /
命名法:
LOAD製品名、
親
IDとしてRowNo()
から
nomenclature.xlsx
(ooxml、埋め込みラベル、表はSheet1です);
ムーブメント:
LOAD ID
日付
数量
金額
から
Motion.csv
(txt、utf8、埋め込みラベル、区切り文字は「、」、msq);