リストの合計件数とratingの平均値の表示方法@supabase

supabaseを使用していまして、3点教えていただきたいです。

①リストの合計件数を表示する方法
②ratingの平均値を出して数値として表示する方法
③ratingの平均値を出してratingbarとして表示する方法
添付画像を参照いただければ幸いです。


色々とやり方はあるかと思いますが、一つのやり方として記載いたしますね。

データとアウトプットイメージ

合計件数

1.Backend Callで対象テーブルのデータを取得します。
2.取得したデータの件数「Num List Items」をPage stateに保存してそれを表示しています。


平均値とrating barの表示

1.合計件数と同じく対象テーブルのデータを取得します
2.取得したデータの評価点(listで保持)をCode Expressionで平均値に変換します。
以下のコードだと、小数点1桁までの平均値を計算してくれます。inputはint型、outputはdouble型になります。
code expressionのまま表示してもよいですし、page stateに保存してそちらを参照する形で表示しても良いかと思います。

var1.isNotEmpty
  ? double.parse(
      (var1.reduce((a, b) => a + b) / var1.length).toStringAsFixed(1)
    )
  : 0.0

rating barも上記の平均と同じくcode expressionで平均値をだしますが、リターンを整数(int)として表示するため、コードは以下のようになります。

var1.isNotEmpty
  ? (var1.reduce((a, b) => a + b) / var1.length).round()
  : 0

Supabaseを利用するのであれば、上記のようにデータを取得してからローカルで計算することも出来ますし、RPC関数を使ってSupabase上で計算した結果を戻してくることも可能かと思います。
ローカルで計算するのもcode expressionでも出来ますし、custom functionを使うことも可能かと思います。

「いいね!」 1

ありがとうございます。すみません、かなり初心者でして詳細を教えていただけないでしょうか?
現状起きていること
合計件数:「Num List Items」が表示されない
平均値とrating barの表示:どのように設定されているのかが理解できておらずです。

わがまま言って申し訳ないのですが、動画等でご教示いただけると嬉しいです。

動画のアップは許可されていないっぽいです。
頂いた内容だと、どこまで出来てどこが出来ないかがわかりかねています。

合計件数も上記の方法でうまく取得できないでしょうか?

わかりにくくすみません!
リストの合計件数はなんとか実装できました。

ratingの平均はほぼ最初から何も理解できておらずでして、Local Page State Valiablesのみ作成しその後が迷子になっています。。。
恐らくActionの設定とcode expressionでの設定が理解できていないです。


こちらデータベースと入出力の型に相違があったのが原因でした。
なんとか解決できました。
アドバイスいただきありがとうございました!

「いいね!」 2