問題タブ [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.
sql - Reprocess tabular cubes after failure using Informatica
So we process the SSAS tabular cubes every night and the other night the processing of the cube failed. Now what I want to do is implement a system that would trigger an automatic reprocess after failure.
Is there a way to do that in SSAS Tabular? If not, then can I do it using Informatica. Because as of now we call SSIS packages using Informatica to process the cubes.
Thanks!
filter - DAX 計算関係
- 月、MyMeasure
- 150年11月15日
- 150年12月15日
- 200年1月16日
- 200 年 2 月 16 日 -- 将来への予測は望ましくない
- 200 年 3 月 16 日 -- 将来への予測は望ましくない
- 200 年 4 月 16 日 -- 将来への予測は望ましくない
ALL 関数を使用して日付テーブルとの関係を削除し、変更されたコンテキストで個別カウントを計算するメジャーがあります。これは素晴らしいことですが、メジャーは日付テーブルの最後まで未来に拡張されます。
最初の計算の後に別のフィルターを適用する必要があります。
If calendar[date] < today() then MyMeasure ELSE 空白
それともLOOKUPVALUEを使った何か?
sql - データセットからレコードを除外する DAX クエリ
DAX を使用してレコードを除外するクエリを作成する必要があります。特定の条件に基づいてレコードを除外する方法がわかりません。
たとえば、ニューヨークを除くすべての州の会社のデータをフィルター処理し、従業員データを表示する必要があるとします。どうすればそれを達成できますか?
フィルターを適用して特定のデータを表示するだけで、SQL で行うように除外することはできないようです。SQL では、NOT IN (...)
句を使用してそれを行うことができます。DAXに似たようなものはありますか?
どんな助けでも大歓迎です。ありがとう!!
sql-server - 再処理を自動化する SSIS パッケージ
これは私が遭遇した非常にユニークな問題です。詳細を説明することから始めましょう。
部分処理と完全処理の両方のキューブを処理するために設計された親パッケージ (A と呼びましょう) があります。ここで、このパッケージは他の 2 つのパッケージ (B、C など) を呼び出し、1 つはステージング データをロードし、もう 1 つはキューブを処理します。
数週間前、すべてのキューブの処理が失敗するという接続の問題が発生し始めました。それ以来、これは週に1、2回のように発生します。明らかに、SQL サーバーは接続の確立に失敗します (数秒間のみ)。しかし、この接続の喪失により、残りのすべてのキューブ処理が失敗します。
この問題を修正する唯一の方法は、親パッケージを最初からやり直すことです。パッケージ全体を再起動する前に、キューブが既に処理されているフラグを更新するスクリプトを実行します。これは、すでに正常に処理されたキューブをスキップするのに役立ちます。
そのため、キューブが失敗した場合に再処理のために自動的に送信されるように、この子パッケージ (キューブ処理を担当) を設計しようとしています。以下は、私が使用したロジックです。
このプロセス キューブ タスクを for ループ コンテナーに入れ、カウンターを 2 に設定しました。キューブの失敗回数が 2 未満の場合は再処理を試み、失敗回数が 2 より大きい場合は、ループを終了し、そのキューブの処理に失敗します。再試行を 2 回に制限することで、データに問題があり、キューブが毎回失敗する場合に発生する可能性がある無限ループのリスクを回避します。
しかし、キューブは既にスレッドを取得しており、新しいスレッドではなく同じスレッドを再処理するため、これで問題は解決しません。接続の問題を解決するには、新しいスレッドを取得する必要があります。
今、私の質問に来て、
キューブが失敗した場合に、新しいスレッドでキューブを再処理するか、さらに良い方法で、パッケージを停止し、スクリプトを実行してフラグを更新した後に親パッケージを再度実行し、キューブを再処理するように、このパッケージを設計するにはどうすればよいですか。それは可能ですか?または、この問題に取り組むためのより良い方法はありますか?
私はこれまでこの問題に直面したことがないので、どのように進めるかについて少し行き詰まっています。そのため、どんな助けでも大歓迎です。
ssas - MDX、子孫関数の結果を平坦化する方法
私は 5 レベルの階層を持っています。私は Descendants() を使用してメンバーのすべての下位レベルを取得します。現在のメンバーの親、祖父母などを繰り返します。