2016-10-01 6 views
0

私は自宅に多数のセンサーがあり、PowerBIを使用して異なる部屋の温度のグラフを表示し、最新/最新の値を測定したいと考えています。DAX:LATESTエントリのテーブルを作成

私はDAXでこれを書いて最も困難な時間を過ごしています:

データはフォーム上のAzureテーブルという名前の「DeviceReadings」からPowerBIに来る:

  • 場所(テキスト、パーティションキー)
  • のrowKey(日付に基づいて、数値が、記憶されて使用されていない)
  • 日付(日付と時刻、タイムスタンプ)
  • 温度(10進数)
  • 湿度(10進数)

私が希望することである:(擬似コード)

Select Location, Last(Date), Temperature, Humidity FROM DeviceReadings 
GROUP BY Location 

募集/期待される成果は以下のとおりです。

明らか
"Mediaroom", "01.10.2017 09:00", 26, 17 
"Office", "01.10.2017 09:03", 28, 23 
"Livingroom", "01.10.2017 09:13", 22, 32 

、私が作成しようとしていますこれらの測定値に基づいて計算DAXテーブルを作成します。アイデアは、ゲージスタイルのビジュアルでこれらの値を表示できるように、常に最新の温度/湿度を含む計算テーブルを作成することです。 Iという名前の列を付加し、テーブル= SUMMARIZECOLUMNSを設定しようとしている場所によってグループ化されており

"LastSampled" として「MAX(DeviceReadings [日])、次いで"温度"; LASTNONBLANK(DeviceReadings [温度]; DeviceReadings [温度]);しかし、それは "接続された温度の読み取り値を取得しませんが、他の何か。

は理想的には、私はその後、最大の日付のPRの場所で、場所によってグループ化する、その後、生温度+湿度値

を表示私は単に私のPowerBIのダッシュボードに表示された場所によって、「最近の温度読み取り」をしたいです。 (PowerBIデスクトップを使用してすべてのクエリを書いてレポートを作成し、まだPowerBIポータルにアップロードしていない)

私のDAXスキルはかなり低いので、計算されたクエリを書く際に助けが必要です。

答えて

1

は、この式を使用してみてください:

Table = SELECTCOLUMNS (
    FILTER (
     CROSSJOIN (
      SELECTCOLUMNS (
       GROUPBY (
        DeviceReadings, 
        DeviceReadings[Location], 
        "LASTDATE", MAXX (CURRENTGROUP(), DeviceReadings[Date]) 
       ), 
       "Location", DeviceReadings[Location], 
       "Date", [LASTDATE] 
      ), 
      SELECTCOLUMNS (
       DeviceReadings, 
       "DateJoin", DeviceReadings[Date], 
       "LocationJoin", DeviceReadings[Location], 
       "Humidity", DeviceReadings[Humidity], 
       "Temperature", DeviceReadings[Temperature] 
      ) 
     ), 
     [Date] = [DateJoin] 
      && [Location] = [LocationJoin] 
    ), 
    "Location", [Location], 
    "LastDate", [Date], 
    "Temperature", [Temperature], 
    "Humidity", [Humidity] 
) 

私はあなたが後にあるものを達成する簡単な方法があるかなり確信しているが、私は今把握することはできません。

これが役立つかどうか教えてください。

+0

これは機能します!私は今のところそれをupvotedしているし、もっと簡単なものが現れなければ、私はそれを答えとしてマークします - それはDAXの多くですが、一見簡単な要求です! :) –

+0

答えとしてこれを受け入れると、それは機能し、誰も簡単な解決策を思いつきませんでした。ありがとう、アレックス:) –

関連する問題