変換を使用する1つのSQLクエリ内で5日値を計算する

ここでは私の最近の興味深い課題のひとつです:

は、高い需要がされているアイテムのみをいくつかのメトリックを計算します。 場合、その売上高の値ごとに、最後の5ヶ月では、定数X以上(現在の月を含む)以上されたアイテム"の需要が高い"です。

ソリューション

最初に、再びタスクの設定:

有効な先月 M大規模な需要の記事、最後の5ヵ月間の誰もがそのAbverkäufe(現在の月の包括的なようです記事)拡大された固定の定数X(Xの平均= 100)だった。 我々を見つけるために、レポートのように効率的にそれらのすべての組み合わせ M(これは私たちの場合、メトリックのフィルタよりも保存できるようにするために使用するために必要可能な限り)を表現します。

ここに私の解決策は1つだけ変換を使用しています。 私は一度だけ一般的には非常に大規模なファクトテーブルに1つにアクセスし、実際には、このソリューションの利点を参照してください。

私は使用するすべての例については、標準的に自分のブログMicroStrategyのチュートリアルでのプロジェクトにインストールされている。 したがって、あなたが私の例を簡単にコピーすることができます試してみる。 また、直接問題のいくつかのソリューションを比較することが可能です。

として、私はすでに裏切られた、私の溶液中での変換を使用します。 したがって、変換のビューには、最初のように定義する必要があります。 プロジェクト"MicroStrategyのチュートリアル用のデータソース"ACCESSのデータをベースTUTORIAL_DATA_7200.mdbです。

我々は、次のビューに入れる:

セレクトt1.MONTH_ID、t2.MONTH_IDのAS PREV_MONTH_ID、DateDiff関数("m"は、t2.MONTH_DATE、t1.MONTH_DATE)のAS MONTH_DIFF
からLU_MONTHとしてT1、LU_MONTHのAS t2に
のWHERE(((DateDiff関数("m"は、t2.MONTH_DATE、t1.MONTH_DATE))の間に0、4))
ORDER BYをt1.MONTH_ID、t2.MONTH_ID;

VBの関数DateDiff関数はここをフルヶ月の間にある数は、電源の日付の値を引き渡した。 ビューの支出を、そのような方法について内を検索:

Image 1

我々は指定表示"MONTH_TO_5_LAST_MONTHS"。 現在、ギャラリー、カタログ内のビューをインポートされ、その後、次のオブジェクトが定義されて、新しい論理テーブルの上に:

トランスフォーメーション"5負荷ヶ月"

Image 2

属性"ヶ月の差分"

Month Diff

Month Diff

加えて、属性の形式月@ IDは、フィールドに自動的に拡張される必要がある新しいテーブルをMONTH_ID:

Month@ID

今Metrikは、"ビットマップ5桁"のフォームに*****.を表してビルドする 各アスタリスクにより1ヶ月対応:linksteアスタリスクは、1ヵ月に考え、レポートの行に参照し、1カ月前に、次のアスタリスク(みなさレポートの行に)などの相対的な

場合は、Abverkaufswert記事は、アスタリスクの位置に対応する月間100考え、レポートの行に拡大された各々 Xには"表示"を指定する場合は、アスタリスクの代わりに。 それ以外のことを示すOには、アスタリスクの表示の代わりに

場合、その月には、ビットマップ200804"をOXXOOは、この資料ではヶ月200803のみ200802主に100人以上のAbverkaufswerteていたことを意味示されている記事です。 定義へのタスクのような記事の設定からよると、先月200804で大規模な需要がない。 記事と数ヶ月"のみの組み合わせでは、ビットマップが計算される大規模な需要に対応します。

ここMetriksの定義をビットマップ営業"100ロード5ヶ月です:

Metric condition

次元とMetrikのKonditionalität変更されません。 のみを変換"5負荷ヶ月"Metrikが割り当てられます。

Metrikの数式に見えるは次のとおり:

ApplyAgg("最大(作りたかったら((#0 = 0、#1"100)、'X'は、'O'を))&最大(作りたかったら((#0 = 1と#1"100)、'X'は、' O'を))&最大(作りたかったら((#0 = 2と#1"100)、'X'は、'O'を))&最大(作りたかったら((#0 = 3と#1"100)、'X'は、 'O'を))&最大(作りたかったら((#0 = 4#1"100)、目録番号:@'X'は、'ó '))"; [ヶ月差分; [単位品切れ])

これは、関数ApplyAgg 1 konditionale審査および&Konkatenierung用( 作りたかったら VisualBasicの構文では、ロジック入力する必要があります)です。 おそらくそれはまた、関数ApplyAggことなく、 連結および IF MicroStrategyの機能を持つ関数です。 ただし、この場合には非常によく似たクエリはMicroStrategyを生成する論理的な方法です。

ここで負荷を5ヶ月で、メトリックのビットマップ販売"100を使用して、レポートのスクリーンショットです:

Final Report

ドイツ語の言語で、元の記事はここで読むことができます。

倉庫内のカタログテーブルを追加することができないためのソリューション

ウェアハウスのスキーマに問題:しないテーブルを追加することができる/ビューのカタログ

エラー:'エラー表を追加する(スキーマ掲載)へ。 このキーは既にこのコレクション'の要素に関連付けられている

MSTR 9の解決方法:

1)オープン'建築家'、

2)右クリックし、テーブル<テーブル名>

3)は、プロジェクトに追加する

4)を1回左ペインには、追加、右の表と構造の更新

5)保存して閉じる(これ更新スキーマので、同じように要求されます

6)今すぐオープンハウス情報

7)の場合、テーブルを参照することができます/ビュースキーマに追加

オブジェクトの追跡ツール-いくつかの更新プログラム

長ギャップ'いくつかの更新プログラムでオブジェクトの追跡ツール]を投稿した後。

1)ツールは、システムのテストをここで、I - Serverがインストールさ(ない)チャンスを私- Serverなしでテストを得た

2)XP、2003年、Vistaは、7でテスト済み

3)これらのテストのチュートリアルを使用する場合、オブジェクトの場合と同じように見えるいくつかのオブジェクトのIDを... ...しかし、実際には、各IDの間に1つの数の違いです。 その同じIDを繰り返すと仮定しないでください。

4)すべての提案/コメント大歓迎です

注:近日販売ツールをいくつかの他のツールでも統合される。

ツールをダウンロードはここ

:とおりです"と私は、かどうかを明示的または黙示的に尊重すると、すべての保証を放棄するこのアプリケーションは、"提供されるすべては、特定の目的は、精度のための商品のすべての保証、フィットネスなどの商品提供、システムインテグレーション、タイトル、満足のいく品質と非侵害。 私は中断されるか、エラーが提供されるアイテムまたはその一部を使用する保証はありません、無料、フリー、またはその提供する商品またはその一部を任意の必要がある、またはライセンシーの要件を満たすれます。

興味深いのメタデータの問題

MSTR 9日には、新機能のマルチソースここで、user複数のDBインスタンスに接続することができますが呼び出されます。

我々は同じで、われわれが単一のDBインスタンスへの変更を余儀なくされ、新しいライセンスモデルのために使用されます。 だから、同じODBC接続(論理的には、1つのDB接続)へのすべてのDBインスタンスを指摘

問題:にもかかわらずすべてのDBインスタンスを同じODBC、MSTR検討を指しているが複数のDBインスタンスている。 ですから、MSTRするマルチソースライセンスをログインせずにユーザーと任意のレポートを実行しようとすると、エラーが'これは言っスローを必要とマルチソースライセンス'。 興味深い点は、そのレポート用のテーブルを1つのDBインスタンスから来ている。

解決策:それはとなる重要な問題芝浦工大中のクライアントのライセンスの変更...何とかのために...。何とか。

ビットとオプションのリスクはまた、唯一の解決策...メタデータテーブル内のすべての属性のためのDBインスタンスの変更を取った。 (代替オプションは、すべての属性を編集し、変更するテーブルを1つのDBインスタンスには、巨大なタスクを指して- [400属性]。

医学のテーブルにいくつかの分析は、リレーションシップ、モニュメント等...私は、すべてのDBインスタンスを32ビットに変更しながら行を削除する1つのDBインスタンスが32ビットのIDを(必要がある、非常に慎重にするには、メタデータのDB内のカラムの値を変更するIDです。

私はまだ直接とともに、その計画のドキュメントまたは新しいツール"'を見つけ任意の定義内のオブジェクトを置き換えるのメタデータのDBインスタンスを変更する"のドキュメントやってる

もし誰のオブジェクトID'のような問題は、このようなクロス来る'とは、医師を解決することができる場合は、同じ修正を助けようとウィルは医学SCANMDのような問題を発見することはできません。

すぐに同じのためのドキュメントおよびツールを掲載する予定です... ...