問題タブ [dax]

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.

0 投票する
1 に答える
2005 参照

ssas - DAXを使用してPowerPivotの複数の列を比較する方法はありますか?

PowerPivotに次のようなテーブルがあるとします。

質問を説明するためのPowerPivotテーブルの例

各行について、列1、2、および3の最小値を見つけて、その値を列「MinColumn」に表示します。ただし、組み込みのMIN関数は、行ではなく列でのみ機能するようです。

ある種のネストされたIF式以外に、これを行う方法はありますか?比較する列がたくさんある場合、それは非常に厄介になり、非常に速くなります。

PowerPivot / DAXは、いくつかの優れた列ベースの機能を実行しますが(xVelocityを使用している場合は予想されます)、行レベルの機能を検討し始めると複雑になるようです。

0 投票する
1 に答える
24479 参照

business-intelligence - USERELATIONSHIPを使用したDAXでのRELATED関数の使用

「RELATED」関数を使用して、BISMモデルの別のテーブルからフィールドを取得しようとしています。Peopleテーブルと関係のあるテーブルが多数あるため、1つの関係のみがアクティブになり、残りは非アクティブになります。この場合、関係は非アクティブであり、私が理解しているように、「USERELATIONSHIP」関数を使用して、使用する関係を指定します。私がここで見つけたものに基づいて:http://connect.microsoft.com/SQLServer/feedback/details/730493/powerpivot-dax-method-related-does-not-work-if-key-is-inactive 私はできると思ったこれを行う:

しかし、エラーが発生します:

列'People[FullName]'は存在しないか、現在のコンテキストで使用可能なテーブルとの関係がありません。

0 投票する
1 に答える
139 参照

excel - 日付を使用した計算メジャーの除外基準

次のテーブル/関係を持つ PowerPivot レポートに取り組んでいます。

ファクトテーブル:

  • クライアント
  • 問題
  • 日付ID

DimDate

  • 日付ID
  • クォーター

年と四半期ごとに COUNT(Issue)/DISTINCT(Client) である計算メジャーを作成し、四半期ごとに 1 つの問題しかないクライアントを計算から除外するようにフィルタリングします。

この最初の部分は、次の 2 つの計算メジャーを作成することで十分に簡単です。個別のクライアント]

ピボット: 行ラベル = 年、四半期の値 = [クライアントごとの問題]

私はDAXを学んでいるので、これをどのように行うべきかわかりません。CALCULATE() または CALCULATETABLE() が最善の策のようですが、[Issues per Client per Quarter] でフィルタリングする方法がわかりません。どんな助けでも大歓迎です!

0 投票する
1 に答える
283 参照

ssas - MDX と DAX メジャーは存在しない値を生成します

SQL Server 2012 分析サービスで表形式モデルを勉強しています。

こんな立方体を作りました。 ここに画像の説明を入力

まず、次のようにデータと結果を確認しました(申し訳ありませんが、ステートメントは意味がありません) ここに画像の説明を入力

契約上の PC メジャーは次のように定義します => 契約上の PC:=SUM([PC カウント])

しかし、パフォーマンス ポイント (Sharepoint) でグラフを作成すると、ひどい結果が表示されます。そのため、グラフで使用される MDX クエリを確認しました。

これは MDX クエリとその結果です。 ここに画像の説明を入力

実際には、ServiceContractID 値はすべて ServiceContract に存在する ContractID 値です。

なぜ空の値があるのか​​ 理解するのは本当に難しいです。この間違った計算の原因は何ですか? (テスト用の多次元を使用してこれを作成すると、期待どおりの結果が得られます。)

0 投票する
2 に答える
621 参照

ssas - 1対多-計算列

以前は(低速の)ストアドプロシージャで処理されていたいくつかの分析レポートを処理するために、SQL2012SSASの新しい表形式モデルを自分で学ぼうとしています。

私はそれのほとんどでまともな進歩を遂げました、物事がどのように機能するか、そして私が必要とする計算を追加する方法を理解するだけですが、私は次のことに頭を悩ませてきました:

ファイル情報を含むテーブルがあります
-IDFileNameCurrentStatus UploadedBy

次に、ファイルが通過したステータスを持つテーブル(ファイルテーブルとの多くの関係):
FileID StatusID TimeStamp

私がやろうとしているのは、ファイルが特定のステータスにあったときにタイムスタンプ情報を返す計算列をファイルテーブルに追加することです。つまり、StatusID=100がアップロードされます。FileStatusテーブルのタイムスタンプ情報が関連付けられているUploadedDateという計算列をFileテーブルに追加したいと思います。

これはDAXで実行できるはずですが、頭を包み込むことができないようです。そこに何かアイデアはありますか?

事前に、ありがとう、ブレント

0 投票する
1 に答える
5252 参照

mdx - 列 A と列 B を使用して比率を計算する - SQL ではなく Powerpivot/MDX/DAX で

目標到達プロセスのクリックスルーを取得するクエリがあります。ユーザーがページにヒットした場合は「1」、そうでない場合は NULL として記録されます -

各比率の列が必要です。たとえば、firstcount/Visits、secondcount/firstcount などと、合計 (finalcount/Visits) が必要です。

私はこれができることを知っています

  • 「計算フィールド」を追加して Excel ピボットテーブルに
  • グループ化によるSQLで
  • PowerPivot で CalculatedColumn を追加します。

    /li>
  • しかし、レポートの消費者に、user_typeまたはuser_locなどだけでスライスするオプションを与える必要があり、Excelはプロポーションを追加する傾向があり、b / cでは機能しません

    /li>

DAX/MDX/PowerPivot に計算列/メジャーを追加して、データのユーザー定義サブセット(日付範囲、ユーザー タイプ、場所など)?

0 投票する
1 に答える
4975 参照

powerpivot - PowerPivot で 2 番目の MIN 値またはクロス列の MIN 値を取得するにはどうすればよいですか?

私は興味深いテーブルを持っていますが、2番目の最小値を取得する方法や何か操作をする方法がわかりません。これが私のテーブルのスタイルの例です:

Column3 の各 A または B (Column1 から) の最小値を見つける必要があります。ただし、A=A (column1=column2) または B=B 行は、この MIN 計算に含めるべきではありません。ただし、A の検出値は行 A=A に表示するか、B の最小値は B=B 行に表示する必要があります。

この計算も試しました:

IF([Column1]<>[Column2],CALCULATE( MIN ([Column3]),ALL(myTable),myTable[Column2]=EARLIER(myTable[Column2])),0) --> の Column3 から同じ値を返す各行。

IF([Column1]=[Column2],CALCULATE( MIN ([Column3]),ALL(myTable),myTable[Column2]=EARLIER(myTable[Column2])),0) --> それぞれの Column3 から最小値を返しますA=A または B=B 行が正しく。A=A または B=B の行には、値が 0 のデータが含まれています。値を 1 に変更すると、この計算では 1 が返されます。しかし、他の行の最小値が必要です。

IF([Column1]=[Column2],CALCULATE( MAX ([Column3]),ALL(myTable),myTable[Column1]=EARLIER(myTable[Column1])),0) --> この計算は、最大値。最高値は常に他の行にあるためです。

PS: A=A または B=B 行のデフォルト値は、Column3 で常に 0 です。

私はこの時点で立ち往生しています=/ありがとう。

0 投票する
2 に答える
3485 参照

ssas - Powerpivot DAX - 「最後から 2 番目」の日付を取得する方法

DateTime 列がある Period のディメンション テーブルで、そのテーブルから「最後から 2 番目」の日付を取得する必要があります。MAX() 関数を許可しない Filter 式で結果を使用する必要があります。

最新の日付を取得し、次の式を使用してフィルターで使用できました。

FILTER(PeriodForecastEuro, RELATED(DimPeriod[PeriodDate]) = LASTDATE(VALUES(DimPeriod[PeriodDate])))

しかし、「最後から2番目」と「最後から3番目」を取得する方法がわかりません。

私はSSAS全体に不慣れです。これについてどうすればよいですか?

0 投票する
2 に答える
2123 参照

powerpivot - 累積生徒数を計算するための Dax 式

SSAS 2012 表形式モデリングで最初のキューブを作成しています。次の列を含む1つのファクトテーブルを取得しました

TermDate StudentKey PaperKey マーク CumulativeNoOfStudents

20100601 1 1 70 2

20100601 2 1 70 2

20100601 3 1 69 3

20100601 4 2 68 1

ここで、DAX を使用して、各行に対して累積学生数 (5 列目) を出力 (計算列) として生成する必要があります。

誰かがDAX式を構築するのを手伝ってくれませんか.

0 投票する
1 に答える
4445 参照

excel - DAX IF 数式を含む

こんにちは、すべての Windows ベースの OS システムとそのタイプ (Windows 7 Enterprise、Windows Server 2000、Windows Server 2003 Standard Edition など) を含む列があります。

これらをフィルタリングして、Windowsの「オペレーティングシステムの名前」のみを表示する必要があります。

すべての Windows 7 を選択するこの式=IF(ISERROR(SEARCH("7",[Caption])),"Windows 7","Error")を使用しましたが、「エラー」を別の IF(ISERROR(SEARCH)) に変更しようとすると、実際にはステートメントが正しく検索されません。

これを回避する方法はありますか?以下の画像は、数式 ` accept を使用した場合に発生するものです Excel では任意の数式をネストできるため、"ERROR" を別の IF(ISERROR(... で置き換えることは確実に可能です。配置する数式が正しいことを確認してください。それ自体で動作するはずです。

=IF(ISERROR(SEARCH("7",[@Caption])),"Windows 7",IF(ISERROR(SEARCH("Windows",[@Caption])), "any other Windows","Error"))

ここに画像の説明を入力 ここに画像の説明を入力