Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
n_ishizaki
Contributor
Contributor

QlikViewを使った前年同期差の表示方法

こんにちは。初めて投稿させていただきます。

QlikViewのテクニックについて教えてください。

経理という職務上、会計データを前年同月差もしくは前年同期差という観点でデータを分析する機会が多いです。

しかしながら、チャートのピボットテーブルを利用した場合、年度を軸にしてデータを集計することはできるのですが、

その軸にした年度を基に、前年との差分を算出する方法がいまいちわかりません。

色々数式をいじってもうまくいかず、結局めんどくさくなってExcelに変換して改めて数式を入れて差を出しています。

元々QlikViewでうまく表示できたら、こんな手間をかけずに済むので、うまいやり方を教えていただけませんでしょうか。

おそらく文章ではイメージがつきにくいかと思いますので具体例があったほうがいいのですが

さすがに会社の生のデータを出すわけにはいけないので

適当につくったデータベースを添付します。

これをデータベースの右側の表にようにQlikView上で表示するテクニックありましたら

ぜひご教示いただければと存じます。

初歩的な質問かもしれませんが、よろしくお願いします。

Labels (2)
1 Solution

Accepted Solutions
hka
Employee
Employee

年度ごとの集計は、添付ファイルのようにsum(if(条件文,売上金額))と記述してSET分析ではなく、

if文を使用するパターンとSET文を使用するパターン2種類があります。

差分はColumn()関数を使用して、数式間の差を取ることで実現可能です。

条件に関しては、$()を使用しています。

「'」は文字列の認識に使用するため、数式内で使用できないのでアスキーコードでchr(39)を使用して

「'」として扱っています。

$(=chr(39)&max(left(年度,4))&chr(39))は条件表示の時には ’2016’ となります。


細かい設定は添付ファイルを参照してください。

View solution in original post

4 Replies
kentaroWakamatsu
Creator II
Creator II

方法は色々ありますが、エクセル内の表のように、常に当年と前年の比較という事であれば、

添付ファイルのような形が利用する際も利用しやすいかと思います。

以下に解説を記載します。

元データ:「年度」がテキストデータでしたので、計算に利用できるようにするため、スクリプト内で数値に変更

      しています。

      表示上"年度"を元の値につけておきたい場合はDual関数を利用すると可能ですが、

      帳票側の計算式が少し複雑になるので、今回のファイルでは避けています。

利用方法:上部のリストボックス「年度」で、当年にあたる年度をひとつだけ選択します。

      今回の元データは2015~2016のみでしたので、前年を表示するために"2016"を選択して下さい。

      データ自体は数値のみですが、表示上"年度"表示させたい場合は右のリストボックスの

      ようにプロパティーの「数値書式」で変更可能です。

計算式:(ア)前年に該当する列

      式=SUM({<年度={$(=GetFieldSelections(年度)-1)}>}売上金額)

        SET関数を利用して、選択した年度の1年前のデータを集計するようにしています

     (イ)当年にあたる列

      式=SUM(売上金額)

        SUM関数を使った選択範囲の単純集計です

     (ウ)前年同期差

      式=Column(2)-Column(1)

        (イ)の集計結果から(ア)の集計結果を単純に引いています

    

    その他、(ア)と(イ)の列は、「年度」の選択によって項目名が切り替わるようにしています

    SET関数はクリックビュー固有のものかと思いますが、詳しい説明に関してはヘルプから

    検索していただければ確認可能です。

hka
Employee
Employee

年度ごとの集計は、添付ファイルのようにsum(if(条件文,売上金額))と記述してSET分析ではなく、

if文を使用するパターンとSET文を使用するパターン2種類があります。

差分はColumn()関数を使用して、数式間の差を取ることで実現可能です。

条件に関しては、$()を使用しています。

「'」は文字列の認識に使用するため、数式内で使用できないのでアスキーコードでchr(39)を使用して

「'」として扱っています。

$(=chr(39)&max(left(年度,4))&chr(39))は条件表示の時には ’2016’ となります。


細かい設定は添付ファイルを参照してください。

n_ishizaki
Contributor
Contributor
Author

wakamatsu様

早速のご指導ありがとうございました。

サンプルファイルを参考にしてチャートを作成してみたいと思います。

石崎

n_ishizaki
Contributor
Contributor
Author

Kamahata様

早速のご回答ありがとうございました。

数式等を参考にさせていただきます。

石崎