Bir dönüşüm kullanarak bir SQL sorgusu içinde 5 son değerleri hesaplamak için

Burada one of my son ilginç görevler biridir:

Yüksek talep olan ürünleri yalnızca bazı ölçümler hesaplayın. Eğer onun satış değeri her geçen 5 ay içinde sabit X daha (cari ay dahil) daha yüksekti bir öğe "yüksek talep" vardır.

Çözüm

İlk tekrar görev ayar:

Geçerli bir ay M büyük talep bir madde, eğer son 5 ay herkes kendi Abverkäufe (cari ay dahil olduğu gibi bir makale) büyük olduğu bir sabit sabit X (örneğin X = 100) oldu. Biz ve bulmak için bir rapor olarak etkin bir şekilde tüm bu kombinasyon A ve M (ki biz bir Metrik filtre daha sonra muktedir kullanmak gerekli olabildiğince) temsil istiyorum.

İşte benim çözüm sadece bir dönüşüm kullanıyor. Ben sadece bir kez genellikle çok büyük aslında tablo bir kere aslında bu çözümün avantajı bakın.

Kullanacağım tüm örnekler için standart için benim blog MicroStrategy Eğitimin proje yüklü göre. Bu nedenle benim örnekleri kolayca kopyalayıp deneyin. Ayrıca doğrudan bir sorun birkaç çözümleri karşılaştırmak mümkündür.

Ben zaten ihanet, benim çözüm bir dönüşüm kullanın. Bu nedenle bir Dönüşümler görünümü ilk olarak tanımlanması gerekir. Proje MicroStrategy Eğitimi için veri kaynağı "Access veri tabanı TUTORIAL_DATA_7200.mdb olduğunu.

Biz aşağıdaki Profili koymak:

SELECT t1.MONTH_ID, t2.MONTH_ID AS PREV_MONTH_ID, DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE) AS MONTH_DIFF
AŞAĞIDAKİ LU_MONTH AS T1, LU_MONTH AS t2
WHERE (((DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE)) arasında 0 ve 4))
ORDER BY t1.MONTH_ID, t2.MONTH_ID;

VB-DateDiff fonksiyonu burada tam ay arasında hangi yalan numarası, malzeme tarih değerleri teslim etti. View harcamaları sonra bu şekilde yaklaşık olarak görünüyor:

Image 1

Biz adayı Görünüm "MONTH_TO_5_LAST_MONTHS". Şimdi Depo katalog Profili alınır, daha sonra, aşağıdaki nesneler tanımlanmıştır yeni mantıksal masada:

Dönüşüm "5 yük Ay"

Image 2

Öznitelik "Ay Fark"

Month Diff

Month Diff

Ayrıca özellik formu Ay @ Kimliği alanına otomatik olarak uzatılmış olmalıdır yeni tabloyu MONTH_ID:

Month@ID

Şimdi Metrik olan "biraz harita 5 basamak" ile forma *****. temsil yapmak isterseniz Her yıldız böylece bir ay karşılık: linkste yıldız aya kabul raporu doğrultusunda ifade eder, bir önceki aya yanındaki yıldız işareti (kabul raporu hattına), vs göreli

Eğer Abverkaufswert makalenin bir yıldız işareti konumu ilgili ay 100 yılında kabul raporu doğrultusunda büyüktü biz her X "gösterge" göstermek istiyorsanız, yıldız işareti yerine. Aksi takdirde O. belirtmek için yıldız işareti gösterge yerine

Eğer böylece ayda bit harita 200.804 için "OXXOO, bu makalenin ay sadece 200.803 ve 200.802 büyük ölçüde 100 daha fazla olduğu anlamına gelir Abverkaufswerte gösterilir bir yazı için. Tanımına görevleri, bu yazı ayarından göre ay 200.804 büyük talep olmazdı. Makale ve ay "Sadece kombinasyonları için hangi bit harita hesaplanır büyük talep karşılık gelir.

Ve burada Metriks tanımı bit göster Satış> 100 yük 5 Ay içinde:

Metric condition

Boyutluluk ve Metrik ve Konditionalität değiştirilmez. Sadece dönüşüm "5 yük Ay" Metrik atanır.

Metrik ve formül aşağıdaki gibi görünür:

ApplyAgg ( "max (IIF ((# 0 = 0 ve # 1> 100), 'X', 'O')) & Max (IIF ((# 0 = 1 ve # 1> 100), 'X', ' O ')) & Max (IIF ((# 0 = 2 ve # 1> 100),' X ',' O ')) & Max (IIF ((0 = # 3 ve # 1> 100),' X ', 'O')) & Max (IIF ((# 0 = 4 ve # 1> 100), ID] @ 'X', 'O'))"; [Ay Diff; [Üniteleri Satıldı])

Çünkü fonksiyon ApplyAgg bir konditionale muayene ve & Konkatenierung için (IIF VisualBasic sözdiziminde mantığı girmeniz gerekir) ve. Muhtemelen Ancak yine de, işlevini ApplyAgg olmadan, concat ve IF MicroStrategy fonksiyonları ile fonksiyonu olur. Ancak bu durumda bir çok benzer Sorgu MicroStrategy oluşturmak gerekir Mantıksal yolu.

Buradan hangi yük 5 ay içinde Metrik bit göster Satış> 100 kullanan bir rapor, ekran görüntüsü:

Final Report

Almanca olarak orijinal makale buradan okunabilir.

Depoda Katalog tablolar eklemek mümkün değil Çözüm

Depoda Şema için Sayı: değil tablolar ekleyebilirsiniz / views Katalog

Hata: 'Hata Masa ekleyerek (şema s) to. Bu anahtar zaten bu toplama 'unsuru ile ilişkili

MStr 9 Çözüm:

1) Aç 'Mimar',

2) sağ tıklayın tablo <table adı>

3) proje ekle

4) bir kez Sol bölmede onun ekledi, Sağ masa ve yapısını güncelleme

5) Kaydet ve kapat (bu Update Şema, bu nedenle aynı şeyi sorar

6) Şimdi açık Depo Katalog

7) sen tablo görebilirsiniz / görüntülemek şema ekledi

Nesne Takip Aracı - bazı güncelleştirmeler ile

Uzun boşluk 'bazı güncelleştirmeler ile Nesne Takip Aracı' ilanıyla sonra.

1) aracı sisteminde test nereye I-Sunucu yüklü (değil) bir şans I-Server olmadan test etmek için var

2) XP, 2003, Vista, 7 test

3) Bu test Eğitimi kullanmak için; itiraz edebilir aynı benzeyen bazı nesneler için kimliği ... ama aslında orada her kimliği arasında bir sayı fark vardır. Kendi aynı kimliği tekrar kabul etmeyin.

4) Herhangi bir öneri / Comments are welcome

Not: Yakında aracı başka bir araç ile de entegre edilecek.

Download aracı burada.

Not: olduğu gibi "ve ben, ister açık veya zımni, ile ilgili tüm garantileri kabul etmez Bu uygulama" sağlanan tüm bir amaca, doğruluk satılabilirlik tüm garantileri, fitness gibi öğeleri sağlanan, sistem entegrasyonu, başlık, tatmin edici kalite ve ihlal. Ben kesintisiz veya hatasız olacağını sağlanan ürün veya bir bölümünü kullanımının garanti etmez ücretsiz veya sağlanan öğeleri veya bir bölümünü herhangi bir ihtiyaç veya lisans gereksinimi karşılayacak.

Ilginç Metadata sorunu

MStr 9 olarak, yeni bir özellik Multisource burada kullanıcı Çoklu DB Örneğin bağlayabilirsiniz denir.

Biz aynı ve geri tek DB örneğine değiştirmek zorunda olan yeni lisans modeli nedeniyle kullanılır. Bu yüzden aynı ODBC bağlantısı (mantıklı onun bir DB bağlantısı) tüm DB örnek gösterdi

Sayı: rağmen tüm DB Örneğin aynı ODBC, MStr düşündüğünü göstererek, birden çok DB örnek olarak. Yani MStr için Multisource lisans Giriş yapmadan kullanıcı ve herhangi bir rapor çalıştığınızda, bir hata 'olduğunu söyleyerek bu atar gerektirir multisource lisans'. Ilginç bir şey, bu rapor için masaları tek DB Örneğin gelen olmasıdır.

Çözüm: It's haline kritik konu SIT sırasında istemci lisans değişiklikleri ... blah nedeniyle .... Blah.

Bit ve seçenek riski de tek çözüm ... Metaveri tablolarda tüm özellikler için DB Derece Changing sürdü. (Alternatif seçenek, tüm öznitelikleri düzenlemek ve değiştirmek tablo tek DB Örneğin hangi büyük bir görev işaretleme - [400 öznitelikler].

MD tablolar bazı analiz mi, ilişkiler, vb ... Ben tüm DB Örneğin 32 bit değişti ise tek satır silme DB Örneğin 32 bit ID (gerek çok dikkatli olmaları, Metaveri DB sütun değerleri değişen kimliği.

Hala doğrudan ve birlikte bu planlama belge veya yeni bir araç için "için 'bulmak ve herhangi bir tanım nesne yerine Metaveri yılında DB Örneğin değiştirilmesi" belgelere yapıyorum.

Eğer kimse Object ID 'gibi konular bu tür çapraz gelip' ve ayrıca, DOKTOR çözebilirseniz, aynı düzeltmek için yardım etmeye Won't MD SCANMD gibi konular bulunamıyor.

Yakında aynı için belge ve araç-ecek posta ... ...