2017-10-04 2 views
0

例を挙げておきます。あなたが見ることができるよう、お客様の情報内のすべての変更は、同じIDを持つテーブルに新しいエントリとして記録されてSisense:履歴データレポートのセルフテーブル結合

key id  name country  valid_from valid_to version 
1 abcxyz John Switzerland 2012/01/01 2014/01/01 1 
20 abcxyz John Germany  2014/01/01 2017/01/01 2 
... 

、しかし:私は、顧客に関する情報を含む緩やかに変化するディメンションテーブルの次のスニペットを持っていると仮定(キーフィールドはテーブルの主キーです)

このテーブルは、Sisense ElastiCubeにインポートされ、Dashboard Webアプリケーションからアクセスできます。

私の質問は:どのように私は、国Aから国Bに移動したすべての顧客を示すウィジェットを作成できますか?

答えて

0

(id、version)が一意であり、バージョンシーケンスにギャップがないと仮定すると、このクエリはあなたに顧客を与えますある国から別の国へ移住した。

ではありません。には最新のバージョンの顧客レコードが表示されますが、変更が発生したときのレコードのバージョンが表示されます。ジョンはバージョン3でイタリアに住んでいた可能性がありますが、クエリは依然としてあなたにドイツの記録を与えるでしょう。

select a.key as moved_from_key 
     ,b.key as moved_to_key 
    from customers a 
    join customers b on(
     b.id  = a.id 
    and b.version = a.version + 1 -- The version following A 
) 
where a.country = 'Switzerland' 
    and b.country = 'Germany'; 
+0

こんにちは、ロニー。はい、これは正しいですが、私はSQLコードの問題を解決することに興味はないので、私はこれを行うためにSisenseのダッシュボードにウィジェットを作成したいと思います。しかし、私はこれを行うことができませんでした。なぜなら、私はSisenseの同じ分野(国)に2つの異なるフィルターを置くことができないからです –