Skip to main content
takeshiro watanabe ha preguntado en Japan

お世話になります。

売上と累計売上を日別に表示して、

・日付でフィルタした場合も累計計算に影響させない​​

​・最終売上日までは売上が無い日も売上を表示させる

という仕様にするためご相談させて頂き、​実現したのが、添付ファイルの内容になっています。

同じ事をcountd(顧客名)でもやろうとしたところ、RUNNING_SUMを使うため、以下のような誤った計算がされてしまう状態です。

改善する方法はありますでしょうか。

【countd(顧客名)に変換した計算式】

​IF [欠損セルの日付]<=WINDOW_MAX(MAX({ FIXED [カテゴリ]:MAX([オーダー日])})) THEN

RUNNING_SUM(countd(顧客名))

END

​【起こった事】

「1日目2人、2日目2人」で1人重複がある状態だと

累計人数は「1日目2人、2日目3人」と​表示させるべきですが、

この計算式だと「1日目2人、2日目4人」と表示されてしまいます。​

2 respuestas
  1. 10 oct 2024, 15:47

    誤った結果というよりも、計算処理の順序を誤って指定しているために想定と異なる結果が見えていると言ったほうが正しいです。計算式を見るとRUNNING_SUMで累計する前にCOUNTDで集計して個人を識別しないようにしているので、各マークでカウントを行い(1日目に2人、2日目の2人)その累計を4人と出すのは指示された計算式通りの挙動です。

     

    この場合は顧客レベルで出現した時点以降を1と判定し、日ごとにその判定を合計する必要があります。ただこれを表計算で実現するのはなかなか骨が折れますので、データソースに手を加えたほうが簡単かなと思います。目的に沿った表(データの塊)を用意してリレーションするのがスマートですが、今回のサンプルだと注文データを自己結合することでも実現できます。

    誤った結果というよりも、計算処理の順序を誤って指定しているために想定と異なる結果が見えていると言ったほうが正しいです。計算式を見るとRUNNING_SUMで累計する前にCOUNTDで集計して個人を識別しないようにしているので、各マークでカウントを行い(1日目に2人、2日目の2人)その累計を4人と出すのは指示された計算式通りの挙動です。 この場合は顧客レベルで出現した時点以降を1と判定し、日ごとにそ 

    imageimage 

    別シートで任意の日付の時点でのユニークな顧客数を出して、それとこの日ごとの表の同じ日付の計算された値が合致するかどうかを調べて見てください。

0/9000