QlikView。 最初のアプリを作成しますか?...


この記事では、QlikTech for Business IntelligenceのQlikViewを使用する基本について説明します。 注意、多くのネタバレ。


はじめに


QlikTechは、ラドナーに本社を置くビジネスインテリジェンスソフトウェア企業です。 1993年にスウェーデンで設立されました。
QlikViewは、 ETLツールが組み込まれたRAMでの連想検索を備えたBIプラットフォームです

略語、定義、情報




実際、なぜここにいるのですか? -簡単な販売分析のための最初のアプリを作成するため


これには何が必要ですか?
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つの測定では、[プレゼンテーション]タブで[部分合計の表示]を個別に設定します



変革を続けます 今は何もはっきりしていません
写真

年、月、日の測定値を削除し、親と命名法のみを残します



それは多かれ少なかれ、明確に、優れたように見え始めました。
これで、年と月で遊んで、必要なものを選択して、表のデータ変換の速度に注意を払うことができます
サンプリング
クリアボタンのサンプル:



終わり。

おわりに


実際、私はコミュニティにどのように機能するかを示し、指で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);

Source: https://habr.com/ru/post/J218737/


All Articles