問題タブ [mdx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssas - SSASでは、親子のDATAMEMBER名をカスタマイズできます
SSASの親子ディメンションでは、データメンバーは自動的に親と同じ名前になります。
例えば
- ディビジョンXリスクレジスター
- ディビジョンXリスクレジスター
- 部門Aリスク登録
- 部門Bリスク登録
- 部門Yリスクレジスター
- 部門Yリスクレジスター
- 部門Pリスク登録
- 部門Qリスク登録
次のように、すべてのデータメンバーに「ExecutiveRiskRegister」という名前を付けたいと思います。
- ディビジョンXリスクレジスター
- エグゼクティブリスクレジスター
- 部門Aリスク登録
- 部門Bリスク登録
- 部門Yリスクレジスター
- エグゼクティブリスクレジスター
- 部門Pリスク登録
- 部門Qリスク登録
(ところで、子供にも子供がいる場合、そのデータメンバーも「エグゼクティブリスクレジスター」である必要があります)。
これは、SSASのディメンションに何かを設定することで実行できますか、それともすべてのMDXクエリで個別に処理する必要がありますか?
ssas - 半加法的措置の問題 - 月ごとではなく、月ごとのスナップショットを合計する
SQL には精通していますが、MDX は初めてなので、次のことを理解するのに苦労しています。
毎月の口座残高のスナップショットを含むファクト テーブルがあります。残高を半加法的尺度としてロールアップする必要があります。明らかに、残高に対して単純な合計は機能しません。ただし、すべてのアカウントの残高を合計して、各月内のすべての残高を個別に合計する必要があるため、「lastnonempty」の概念も機能しません。例、事実が次のように見える場合:
また、アカウントをメジャー カテゴリ/マイナー カテゴリ/アカウント階層にグループ化するアカウント ディメンションがあります。すべてのアカウントの各月の残高を合計する次のような出力が必要です。
また、アカウントの種類ごとに分類すると、次のようになります。
ただし、残高は月、四半期、または年にまたがって合計するべきではありません。意味がなく、2 回カウントされるからです。時間間隔が長くなると、期間の終わりが表示されます。
株式の「lastnonempty」集計を使用すると、先月の口座残高の合計ではなく、1 か月の文字通り最後の口座行のみが取得されるようです。あたかもその月の合計が、合計ではなく、その月に存在する 1 つのランダムな口座から取られた残高を示しているかのようです。(私はそれが本当にランダムではないことを確信しています、おそらく保管順序または何かに基づいて1つを選んでいます)
私は単純で間違ったことをしているだけだと確信しています...
sql-server - WHERE句のMDXクエリに複数のパラメータを渡す
次のような単純なMDXクエリがある場合:
そして、これは十分に簡単な別の次元のIDでフィルタリングしたいと思います。
しかし、複数のIDがある場合、MDXクエリを動的に構築せずにこれらを渡す方法はありますか?
filter - MDX 範囲をフィルターで置換
次の回答を見ながら、範囲をフィルターに置き換えたいと思いました。
MDX は次のとおりです。
日付範囲を次のようなフィルターに置き換えようとしています:
値の比較に関して、条件ステートメントは何を探していますか? どんな助けでも素晴らしいでしょう!
ありがとう!
ssas - MDX での日付に基づくメジャーの取得
これらは、データ構造に深く入り込まずに説明するのは非常に困難です。できる限り多くの情報を提供しながら、できるだけ短くするようにします。
時間の経過に伴う金銭的価値 (キャッシュフロー) であるメジャーと、日付のディメンション、および評価のディメンションがあります。評価には日付があり、この日付は最初のキャッシュフローの日付に対応します。
後の要点は最初の値です (つまり、評価日に対応するキャッシュフロー値です。評価日がわかっている場合は、この日付を日付ディメンションに変換して、後の値を取得するのは簡単です。 :
ただし、評価日のセットがある場合 (たとえば、3 か月分の評価の評価日の値を取得しようとしている場合)、この方法は失敗します。以前の評価は後の評価の日付に対応する値になるためです。
たとえば、この計算されたメンバーは間違った値を返します。
この例では、3 つの評価 (7 月末、8 月、および 9 月) があり、それぞれに対応する評価日から (月末に) 先の月次キャッシュフロー値があります。各評価の最初のキャッシュフロー値を返すのではなく、たまたま評価日に対応するすべてのキャッシュフロー値の合計を取得します。
これが、この問題についての議論を始めるのに十分明確であることを願っています。有用な場合、これはキューブ ステージング データベースから適切なデータを取得する SQL クエリです。
ありがとう
ssas - MDX WHERE NOT IN() は多対多ディメンションで同等
キューブに (他の通常のディメンションの隣に) 多対多のディメンションがあります。行数メジャーでファクト行を除外する場合、通常、MDX で次のようにします。
これは、この単純な例では必要以上に複雑に見えるかもしれませんが、この場合、UNION も含めて WHERE が大きくなることがあります。
したがって、これは通常の次元で機能しますが、多対多の次元になりました。上記のトリックを実行すると、目的の結果が得られません。つまり、多対多のディメンションでその特定の属性を持つすべての行を除外したいと考えています。
つまり、すべての行をカウントしますが、指定された属性は無視します。ファクト テーブルの行は、多対多のディメンションで複数の属性を持つことができるため、行は引き続きカウントされます。
それは私が必要とするものではありません。そのディメンション属性値を持つ行を明示的に除外する必要があります。また、複数の値を除外する場合があります。だから私が必要とするのは、T-SQLの WHERE .. NOT IN (...) に似たものです
[attribute].all と [attribute].&[value] から結果の値を減算するだけでよいことに気付きましたが、複数の WHERE ステートメントを UNION する場合は機能しなくなります。
誰もこれを解決する方法について良い考えを持っていますか?
前もって感謝します、
デルタ
reporting-services - ディメンションの下の非表示の属性階層
以下は、レポートで使用される mdx クエリのスニペットです。
with member [Measures].[Leased Coin In] ([Machine Dimension]. [Leased Flag] .&1 , [Measures].[Coin In])
さて、私の質問は次のとおりです。Machine Dimensionの下のキューブには、 Leased Flagという名前の属性階層名がありません。xmlaスクリプトで調べたところ、そのような名前はありません 。ただし、mdx クエリは結果を引き出します。
非表示の場合、xmla スクリプトで非表示/非表示またはそれが何であれ表示されないのはなぜですか?
何か不足している場合、それを追跡して機械の寸法とどのように関連しているかを調べるにはどうすればよいですか。
あなたの助けに感謝。
sql-server-2005 - 緩やかに変化するディメンションのすべてのバージョンの結果の集計
ゆっくりと変化するディメンションのすべてのバージョンの値を集計しようとしています。ここでは、問題の簡単な説明を示します。
Product ディメンションがあり、このディメンションには ProductGroup という属性があります。
製品は、ProductGroups を変更することがあります。
Product ディメンションはゆっくりと変化するディメンションであり、ProductGroup 間を移動するときに変化します。Product ディメンションには、ProductKey と ProductBusinessKey があります。
ProductKey はディメンション内の一意のキーであり、ProductBusinessKey はメインの予約システムからのキーです。ProductBusinessKey (PBK) は製品に固有であり、変更されることはありません。
ディメンション テーブルとファクト テーブルの単純化された構造は次のとおりです。
以下の略語を使用しました
PK - プロダクト キー
PBK - ProductBusinessKey
PG - 製品グループ
寸法表
PK PBK 名前 PG
1 1 製品 1 製品グループ 1
2 1 製品 1 製品グループ 2
3 2 製品 2 製品グループ 1
ファクト テーブル
PK 収益
1 100
2 100
3 100
製品ディメンションのすべてのバージョンの総収益を表示するレポートを生成したいと考えています。
Prod1 Prod2
200 100
現時点で私が使用している彼のmdxは
そして、これは次の結果を生成しています
Prod1 Prod1 Prod2
100 100 100
結果を返すクエリをどのように構成できるか疑問に思っていました
Prod1 Prod2
200 100
どんな助けでも大歓迎です。