Skip to main content
ゆり 藤並 님이 Japan에 질문했습니다

添付画像のような、2つの異なる日付データを持つテーブルを用いて、

月別に、営業日ベースでの基準達成率を出したいと思っています。

 

現在、2つのテーブルを年月・日付の2フィールドを用いたリレーションで繋げ、以下のような計算フィールドを作成してみたのですが、

トランザクションデータに存在しない日付については正確な基準達成率が出せておらず、数値にズレが発生してしまう状態です。

COUNT(IF [営業日フラグ]=1 THEN 1 END)/SUM({ FIXED [年月 (営業日マスタ)]:COUNT(IF [営業日フラグ]=1 THEN 1 END)})

↑日付フィルターで選択している期間内の営業日数÷月毎の営業日数

で基準達成率を算出しようとしています。

トランザクションデータは添付画像のもの以外にも、各種カテゴリ判別用のフィールドを複数持っており、

そのカテゴリ毎に細分化して基準達成率を出そうとすると、カテゴリAでは15%、カテゴリBでは20%…とバラつきが出てしまう状態です。

 

今回、日付フィルターにはトランザクションデータの方の日付フィールドを用いたいのですが、こちらの日付データには歯抜けの日付があるため、挙動が複雑になってしまっています。

 

そもそも、結合・リレーション・データブレンドのどれでテーブルを繋ぐべきなのかも含め、ご存じの方がいらっしゃれば教えていただけますと幸いです。

営業日カレンダーとトランザクションデータを紐づけて計算したい

답변 4개
  1. 2023년 12월 21일 오전 12:27

    @おか むー さん

    詳細に教えていただき、ありがとうございます!

     

    テーブル結合の場合、以下図のようにトランザクションデータ内で同じ日付が重複しているレコードにおいて、

    営業日フラグが増殖してしまい、正確な基準達成率計算ができなくなってしまうのではないかと懸念しております…。

    @おか むー さん詳細に教えていただき、ありがとうございます! テーブル結合の場合、以下図のようにトランザクションデータ内で同じ日付が重複しているレコードにおいて、営業日フラグが増殖してしまい、正確な基準達成率計算ができなくなってしまうのではないかと懸念しております…。基準達成率計算式を以下の形に変更することで重複排除可能でしょうか…。COUNT(IF [営業日フラグ]= [日付 (営業日マスタ)基準達成率計算式を以下の形に変更することで重複排除可能でしょうか…。

    COUNT(IF [営業日フラグ]= [日付 (営業日マスタ)] THEN 1 END)/SUM({ FIXED [年月 (営業日マスタ)]:COUNT(IF [営業日フラグ]=1 THEN 1 END)})

    前提不足で申し訳ありませんが、教えていただけますと幸いです。

0/9000