0
は、これが私の現在のデータモデルである - > part of data modelDAX SUM
私はメジャーを作成する上での助けが必要です。私が作成したい
尺度は、時間間隔で旅行を持っていた船の全体的な能力を示しただけでなく、部屋のタイプに基づいて、総容量を見ることができるはずです。
私はのDAX相当を得ることに興味を持っています:
SELECT SUM(sc.capacity)
FROM Reporting.Trips t
JOIN Reporting.Dates d ON d.DateId = t.DateId
JOIN Reporting.ShipCapacities sc on sc.ShipId = t.ShipId
WHERE d.FiscalYear= 2017 AND d.FiscalWeek=15
ORタイプ
SELECT SUM(sc.capacity)
FROM Reporting.Trips t
JOIN Reporting.Dates d ON d.DateId = t.DateId
JOIN Reporting.ShipCapacities sc on sc.ShipId = t.ShipId
WHERE d.FiscalYear= 2017 AND d.FiscalWeek=15 and sc.CabinTypeId = 11
あたり、私はこの方法でメジャーを定義しようとした:
Total Rooms:=CALCULATE (SUM ('Ship Capacities'[Ship Capacity]))
私が持っています
0123:これはのT-SQLの同等を出力していることがわかりますSELECT SUM(Capacity)
FROM
(
SELECT DISTINCT sc.*
FROM Reporting.Trips t
JOIN Reporting.Dates d ON d.DateId = t.DateId
JOIN Reporting.ShipCapacities sc on sc.ShipId = t.ShipId
WHERE d.FiscalYear= 2017 AND d.FiscalWeek=15
) x
ORタイプごと
SELECT SUM(Capacity)
FROM
(
SELECT DISTINCT sc.*
FROM Reporting.Trips t
JOIN Reporting.Dates d ON d.DateId = t.DateId
JOIN Reporting.ShipCapacities sc on sc.ShipId = t.ShipId
WHERE d.FiscalYear= 2017 AND d.FiscalWeek=15 and sc.CabinTypeId = 11
) x
これらは、クエリの結果である - >Query results
感謝。
Total Rooms:=CALCULATE (
SUMX (
'Ship Capacities',
'Ship Capacities'[Ship Capacity]
* COUNTROWS (FILTER (Trips, AND(Trips[Sailed] = TRUE(),Trips[ShipId] = 'Ship Capacities'[ShipId])))
)
)
お知らせCOUNTROWS:
あなたは、これはあなたがしようとした措置の結果であることを確認していますか?明示的なフィルタを使用していない限り、YearとFiscalWeekをフィルタリングしないようです。それは問題ですか? –
はい、値を比較しました。私は明示的なフィルタを使用しています。私はモデルに含まれているテーブルを持っているパラメータシートを持っています。これは、このような方法で対策をフィルタリング:日付[年度] = VALUES(パラメータ[今期])、日付[会計週]はVALUES(パラメータ[現在の会計週を)=。 –
多対多の関係の場合はDAXの問題だと思います。出張から船へは、多対一の関係があります。船舶から船舶までの容量には、1対多数の関係がある。 DAXのようなものではなく、私が望むように計算を使う方法を探しています。 –