問題タブ [ssas-tabular]
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.
mdx - SSAS 表形式モデルから Excel ピボットテーブルに上位 N を効率的に表示する
約のファクトテーブルで構成される単純な表形式モデルがあります。20百万。レコード (販売トランザクション) と、約 600.000 レコード (顧客) を含むディメンション テーブル。
典型的なレポート シナリオは、ファクト テーブル内の何らかの基準で上位 10 人の顧客を取得することです。他の基準 (通常は期間、製品など) でフィルター処理することもできます。
Excel で、2000 万をすべて集計します。総売上高を返すレコードは瞬時です。ただし、顧客ごとにグループ化しようとすると、すべてのデータを取得するのに時間がかかります (15 ~ 20 秒)。これは、表示する必要がある顧客 (600.000) が非常に多いためです。
ここで、上位 10 人の顧客だけを取得するために Excel で値フィルターを適用すると、結果が返されるまでに約 15 ~ 20 秒かかります。製品、時間などの他の属性をスライスしながら)。
内部的に、Excel はTOPCOUNT
、値フィルターを使用して表形式モデルを照会するときに MDX 関数を使用します。
これらの種類のクエリを高速化するために、テーブル モデルでできることはありますか?
私はもう試した:
- ディメンション テーブルに、各顧客の合計売上高を含む計算列を作成します。パフォーマンスは向上しますが、この列の値はファクトの他の属性によってスライスすることができず、列には明らかに多くの個別の値が含まれることになるため、これは適切な方法ではありません (これは表形式では悪いことです)。
- ここで
RANKX
提案されている DAX 関数を使用して、ファクト テーブルで計算されたメジャーを作成します。これにより、Tabular インスタンスがクラッシュしました (ディメンション テーブル内のレコードが多すぎますか?) TOPN
DAX関数を使用して、テーブル モデルで単純な DAX ステートメントを直接実行します。TOPCOUNT
これは、 MDX アプローチよりも 3 ~ 4 倍遅くなりました。
sql-server - 半加法メジャーの日付と時間ディメンション
最後の子集計を行う必要があるファクト テーブルがあり、DimDate と DimTime が添付されています。
私は単一の「時間」次元で半加法を行うことができます(そして過去に行ったことがあります)が、2つは少しイライラしています...それは可能ですか、SSAS 2012でサポートされていますか?(または表形式ですが、大騒ぎしないでください)
私の要件は次のとおりです。
- レポート 年..... 分 (または秒) まで
- 2 つのファクトが同じ日 (DimDate) にある場合...両方の合計ではなく、タイムスタンプ (DimTime) が最も大きいものを LastChild に使用する必要があります。
- パフォーマンスが高いので、10 年、365 日、24 時間、60 分というのは、単一の次元ではあまり意味がないように思えます... 500 万件を超える記録です。秒はどうですか?
誰かが素晴らしいリソース/本に私をリンクできるなら... 私はここでグーグルに真剣に苦労しています!
ありがとう!
sql-server - 表形式モデル 多く 2 多く
次の 2 つのクエリを使用して、舞台裏で何が起こっているのかを正確に説明できる人はいますか? それらは同じ結果を示しているように見えますが、多対多の関係で表形式モデル dax のメジャーをフィルター処理する場合はどちらが「より良い」でしょうか...
これが (かなり標準的な) モデルです: FactData ---> Account <--- AccountCustomerM2M ---> Customer
例 1:
例 2:
ご協力いただきありがとうございます!:)
ssas - ssas サーバーに接続できません
Visual Studio で新しい 'Analysis Services Tabular Project' を作成していますが、VS が最初に尋ねるのは次のとおりです。
表形式モデル プロジェクトの作成中に使用する Analusis Services インスタンスを選択します。
サーバーに情報を入力してテスト接続を試みたところ、次のようなエラー メッセージが表示されました。
サーバー '[ここにサーバー名]' に接続できません。理由: サーバーへの接続中にエラーが発生しました。
問題は (私が思うに) SSAS が私のワークステーションとは別のドメインに存在することです。SSAS に接続するときに他の資格情報を使用する方法はありますか?
または、「エラー」をより詳細に分析する方法はありますか?
ssas - MDX - NON EMPTY 関数は高速ですか?
NON EMPTY
私は可能な限り句を避ける必要があると仮定していました。そのため、実際にクエリがはるかに高速になっていることを偶然発見したとき、私はショックを受けました!
これをサンプリングします:
-- ホット キャッシュで 19 秒
--コールドキャッシュで 5 秒 (一貫して)
NON EMPTY
再帰的ではありませんか?ローカルキャッシュのサイズが原因ですか?
ssas - MDX のサブセレクトとスライサー
結果を MDX の任意のタプルのコンテキストで評価したいが、このタプルを結果の一部にしたくない場合は、次の 2 つのオプションのいずれかを使用します。
1.サブセレクト
2.スライサー
頭に浮かんだ 3 番目のオプションはEXISTS
句ですが、すぐにそれがまったく別の目的であることに気付きました。
したがって、他の側面は別として、これらのクエリの一般的なパフォーマンス、留意すべきベンチマークまたはベスト プラクティス、およびどの状況でどのクエリを使用するかに関心があります。
ssas - Azure VM 上の SSAS 表形式モデル
SSAS 表形式モデルを使用した Azure VM があります。
仮想ネットワークを使用して、オンプレミスからアクセスできることを理解しています。
しかし、仮想ネットワークを作成せずに DAX クエリを使用してアクセスすることは可能ですか?