問題タブ [cube-script]
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.
sql-server - MDX 計算。各メンバーを総計で割る
サンプルデータ
OLAP キューブを次の形式でエクスポートしました (メジャーの[Some Percent]
使用法は ですAverage over time
):
方式
[Modified Percent]
次のように計算する必要がある新しい計算メンバーを作成する必要があります。
サンプルデータを使用した式
したがって、私のサンプルデータは次のようになります。
望ましい出力
[Modified Percent]
次のように返されます。
MDX スクリプト
今のところ私はMDX Script
以下を持っていますが[Modified Percent]
、同じ値を返します[Some Percent]
これも試しましたが、不運にも同じ結果になりました:
分割部分が 1 を返すように見えます。それを解決する方法はありますか? ご不明な点がございましたら、お問い合わせください。詳細をお知らせします。
ssas - SSAS キューブの計算されるメンバーとしての MDX
[Budget SalesRegion]
フィールドとフィールドを持つ販売地域ごとの FactBudget があり[Sales Region]
ます。ディメンションDimCustomer
には、フィールド[Sales Region]
とがあり[Customer Type]
ます。
と の関係はFactBudget
でDimCustomer
のみ定義され[Sales Region]
ます。
特定の のmdx
をフィルタリングするかなり単純なステートメントがあります。返された [Sales Region] を使用して、対応する [Budget SalesRegion] を選択します。[Sales Region]
DimCustomer
[Customer Type]
このステートメントを計算されるメンバーに変換してSSAS cube
、スライサーで選択された [Customer Type] によってステートメントが適切にフィルター処理されるようにするにはどうすればよいですか?
ssas - 除算と時間計算を組み合わせた SSAS 計算
状況: SQL Server 2012 SSAS 多次元モデルで、キューブに空のメジャーを作成し、スコープ ステートメントを使用して計算を入力することにより、計算されたメジャーを作成しました。(したがって、ここで説明されているように、計算でセキュリティ対策を使用できます)
また、上記の計算を含むメジャー グループ全体を対象とした時間計算も行いました。(ここで説明されているように)
計算用に空のメンバーを作成します。
メジャー グループ スコープを閉じる
結果: 「ベース メジャー」と「計算されたメジャー」を使用してキューブをクエリすると、時間計算の結果はベース メジャーでは正しいが、「計算されたメジャー」 C では正しくない。これは、メジャーが最初に計算され、その後で取得されるため時間計算が行われ、結果が集計されます。
例: 現在の月は 2015 年 4 月です。毎月のスコアは 5% です。YTD メジャーは 20% (1 月、2 月などは 5%) を示します。これは 5% である必要があります。
私の質問: 正しい結果が得られるように、時間計算または「計算メジャー」を変更するにはどうすればよいですか?
ssas - 単項演算子を使用した SSAS 計算メジャー
親子階層を持つ勘定ディメンションがあります。いくつかのリーフ レベルの標識を反転する必要があるため、これを処理するための計算メジャーを作成しました。1 つの問題を除いて、うまく機能します。アカウント階層は単項演算子を使用して、兄弟の適切な加算/減算を行います。以下に示す計算されたメジャーを使用すると、単項演算子が考慮されなくなります。計算されたメジャーにそれらを尊重させる方法はありますか?
ssas - MDX クエリの各結果行で前年から年末値を取得する
時間粒度が月単位のスナップショット ファクト テーブルがあるため、メジャー値は特定の時点のみであり、時間の経過に伴う累積ではありません。次のように、特定の月の値を前年度末と比較するために、前年度末値を導出する必要があります。
| | 月 | 月 | ヴァル1 | 前の年 |
| | 2014 年 10 月 | 101 | 100 |
| | 2014 年 11 月 | 103 | 100 |
| | 2014 年 12 月 | 105 | 100 |
| | 2015 年 1 月 | 110 | 105 |
| | 2015 年 2 月 | 115 | 105 |
| | 2015 年 3 月 | 113 | 105 |
...
| | 2015年12月 | 120 | 105 |
| | 2016 年 1 月 | 130 | 120 |
等...
私は SSAS を使用しており、時間ディメンション テーブルは年 -> 四半期 -> 月 -> 日階層で設定されています。
前の月、月のローリング数、および YTD 累積値の取得に対する解決策を見つけることができますが、これは時点間の比較です。
Lag、Ancestor、および/または ParallelPeriod を使用しようとしていますが、上記の結果セットを取得できないようです。
process - SSAS キューブ プロセスの後に DMV カタログ クエリを実行すると、すべての DB スクリプトが強制的に実行される
2012 SSAS キューブを処理した後、次のような DMV クエリを実行します。
SQLプロファイラーで、クエリの制限を無視して、データベース内のすべてのキューブのスクリプトを実行していることがわかります。私の顧客のデータベースには多くのキューブがあるため、この操作には 20 秒以上かかります。
なぜこれが起こるのか分かりますか?
ssas - Mdx で上位 n カウントのメトリックを追加する方法
適用されるたびに上位 10 件の結果のみを表示するメトリックを作成したいと考えています。データが
上位5つの結果を降順に表示したい。したがって、期待される結果は次のとおりです。
次の MDX クエリで既に結果を取得しています。
結果:
基本的に、上記のクエリを使用してメトリックを作成し、それをキューブ ソリューションに保存したいと考えています。
したがって、アイテムと価格をドラッグすると、すべてのデータ、つまり 10 行すべてが表示されます。
そして、新しく作成したメトリックをドラッグすると、上位 5 つの結果が他の行に表示されます (その他は残りの行の合計になります)。
この機能を実現する方法はありますか?
編集 1
上位 10 の動的セットを 1 つ作成しました。他の動的
メジャーを
作成しました。上位 10 とその他の両方の結果を表示する別の動的セットを作成しました。
しかし、動的セットを選択してトップ 10 + その他を表示すると、次のエラーがスローされます:
計算されたメンバーを含めることができないセットが発生しました