Excel ピボット Power Pivot DAX関数 質問スレ
8デフォルトの名無しさん (ワッチョイ 8501-u5XH)
2023/10/01(日) 09:52:08.54ID:lwwAe0aV0 テスト
9デフォルトの名無しさん (スププ Sd43-nGkL)
2023/10/01(日) 11:05:37.12ID:WuVr8Gf6d Excelと縁を切れば解決
10デフォルトの名無しさん (ワッチョイ cf10-zGmP)
2024/02/22(木) 18:00:44.01ID:QdbeD+B20 いまいちフィルターコンテキストがよくわかんね
ちょっとDAX変えてみたら数値違っててふぁ!?ってなる
ちょっとDAX変えてみたら数値違っててふぁ!?ってなる
11デフォルトの名無しさん (ワッチョイ 06da-Ky5X)
2024/04/09(火) 04:08:28.45ID:WWFLUpaA0 Copilotからやっと教わったExcel版PowerPivot用DAX関数の備忘録
以下の3つのクエリー
Q_カレンダー:[年]、[年月]、[年月日時間帯]・・・
Q_地点:[地点No]、[地点名]
Q_Data:[年月日時間帯]、[年月]、[地点名]、[値]・・・
がデータ モデルに接続されていて、
Q_Data[年月] → Q_カレンダー[年月]
Q_Data[地点名] → Q_地点[地点名]
でそれぞれリレーションし、スライサーで[地点名]、[年月]を選択できるピボットテーブルがある。
このピボットテーブルに
「それそれの地点ごとの、全期間での[値]の最大値」
([年月]を変えても月次グラフの縦軸[値]スケールを地点ごとにほぼ一定にしたいため)
を列に追加したい場合のDAX関数は、
全期間最大値:=
CALCULATE(
MAXX(
FILTER(Q_Data, Q_Data[地点] = VALUES(Q_地点[地点])),
Q_Data[値]
),
ALL(Q_カレンダー)
)
MAXXとVALUESを使うのと、この構文がミソなのかと。
他にも
VAR SelectedLocation = VALUES(Q_地点[地点])
RETURN
・・・
として一時的に[地点名]を保持する方法も提示されたが、
SelectedLocation にエラーが出て、これはまだInsider版やPower BIでしか使えない?
以下の3つのクエリー
Q_カレンダー:[年]、[年月]、[年月日時間帯]・・・
Q_地点:[地点No]、[地点名]
Q_Data:[年月日時間帯]、[年月]、[地点名]、[値]・・・
がデータ モデルに接続されていて、
Q_Data[年月] → Q_カレンダー[年月]
Q_Data[地点名] → Q_地点[地点名]
でそれぞれリレーションし、スライサーで[地点名]、[年月]を選択できるピボットテーブルがある。
このピボットテーブルに
「それそれの地点ごとの、全期間での[値]の最大値」
([年月]を変えても月次グラフの縦軸[値]スケールを地点ごとにほぼ一定にしたいため)
を列に追加したい場合のDAX関数は、
全期間最大値:=
CALCULATE(
MAXX(
FILTER(Q_Data, Q_Data[地点] = VALUES(Q_地点[地点])),
Q_Data[値]
),
ALL(Q_カレンダー)
)
MAXXとVALUESを使うのと、この構文がミソなのかと。
他にも
VAR SelectedLocation = VALUES(Q_地点[地点])
RETURN
・・・
として一時的に[地点名]を保持する方法も提示されたが、
SelectedLocation にエラーが出て、これはまだInsider版やPower BIでしか使えない?
12デフォルトの名無しさん (ワッチョイ 06da-Ky5X)
2024/04/12(金) 23:08:20.61ID:Z4KZtsyr0 またCopilotから教わった。
>>11 はフィルターが2だったけど、
全地点を1つのBookに入れると、Web読み込みもあってさすがに重いので、
1Boookは1地点にした。
ということで、地点指定は不要に。
結果、別テーブルの、リレーションが張ってあるQ_カレンダー[年月]の
フィルター1つだけで指定されている中で、
Q_Data[値]の全期間の最大値を求めるDAX式は、
全期間最大:=
CALCULATE(MAXX(ALL(Q_Data), Q_Data[正側計]))
Q_カレンダー[年月]についての記述は不要で、
ALL(Q_Data)だけで行けるとのこと。
フィルターが2つだった >>11 のDAX関数とも、だいぶ作りが違う。
>>11 はフィルターが2だったけど、
全地点を1つのBookに入れると、Web読み込みもあってさすがに重いので、
1Boookは1地点にした。
ということで、地点指定は不要に。
結果、別テーブルの、リレーションが張ってあるQ_カレンダー[年月]の
フィルター1つだけで指定されている中で、
Q_Data[値]の全期間の最大値を求めるDAX式は、
全期間最大:=
CALCULATE(MAXX(ALL(Q_Data), Q_Data[正側計]))
Q_カレンダー[年月]についての記述は不要で、
ALL(Q_Data)だけで行けるとのこと。
フィルターが2つだった >>11 のDAX関数とも、だいぶ作りが違う。
13デフォルトの名無しさん (ワッチョイ 21da-YTH6)
2024/10/26(土) 20:59:06.16ID:f26vHvwK0レスを投稿する
