初投稿です。GoogleCalendarの連携について2点質問です。1複数のカレンダーを同期させる場合1アカウントに対していくつまで同期できるのでしょうか?カレンダーを共有していれば全員共有できるのでしょうか?2UXにて対象月のみの所要時間(終了時間-開始時間)合計を表示したいです。所要時間は、Googleカレンダーテーブルの仮想列で作っています。UXからgroup agregateで合計させたいのですが、カウントしか出てきません。もし方法あれば教えてください。よろしくお願いします。
個人的には「可能な限り、コーディングしない」を信条としておりますので、ノーコードのソリューションで全て対応!が理想ですが、GASでも表現の幅は広がりますね。
追加TIPSですが、新たに作成したカレンダーのマスタテーブル。仮にあるYYYY/MMの月内に何もデータが登録されていない、つまりマスタに表示されている子テーブルを参照するLISTタイプのカラムの件数がゼロの場合、これを除外しクリーニングした方がいいので、マスターテーブルからSLICEを作成。FLITERの条件にCount([Related Calendars])>0とすることで、登録件数ゼロのYYYY/MMは除外されます。
件数は多いでしょうから、そのようなケースはないかもしれませんが、ご一考ください。
Codingしてしまいますとメンテナンスに問題が発生。アップシートのプラットフォーム上ですべて完結させてしまえば、後に他の人間がコード(実際ノーコードですが。。)をみたときにすぐにアナトミーが理解できる。メンテも
見据えて。世の流れは、絶対にノーコードに傾いていきますし。そしてシンプルイズベスト。開発者・アプリクリエーターの立場で構築の難しいロジックをけり込んで「よっっしゃ!」と思ってアプリをユーザーに展開してみても「操作が複雑でよーつかいかたわかりません」といった結果に陥ることに。ユーザー満足度が最大限優先されるべきものなので、常にシンプルに、を心掛けています。
私も始めたばかりなので、逆にプログラムに頼らず、ノーコードで作ったUXで最適な動きを目指してみます。
なるほど、そうやって除外するのですね!試してみます。
アップシートに他の方のグーグルカレンダーをデータソースとして登録する際、「パスワード教えてください」ということが必要となりますのであまり適さないと思います。その方に直接操作してもらうこともできますが何か気持ち悪いですね。従い、グループ共有のカレンダー目的にフリーのGOOOGLEアカウントを作成、カレンダー自体を事前に共有させて利用する手法がベストかと思います。
2の部分ですが、ステップを踏んでサンプルアプリを作成されてみてください。味噌としては、カレンダーの値をマスター化して、Groupingやそのほかの便利な機能として利用しようという試みです。
1に関しては、異なるアカウントではカレンダー共有はできない。別で新しい共有アカウントを作り、そこに予定を記録する。という感じですね!
2なるほど、日付のリストはテーブルで作ったものを利用するのですね。
後半が少しわかっていませんが、一度試してみます!ありがとうございます!
1.データソースとして異なるgoogleのアカウントでのカレンダーを複数選択し、一つのアプリの異なるデータソースとすることは可能と思います。それぞれ独立した異なるdbと認識されるはずです。(申し訳ありません。試してはおりません)
但し、その場合、一つのカレンダーviewには複数の異なるテーブルを選択することはできませんので、アカウント・DB毎に異なるカレンダーviewを作成することが必要となり不便かもしれません。
実際に共有したい方々とシェアされた一つのgoogle accountを作成し、そちらをアップシートのdbと指定。そちらのデータは、グーグルのサービスで他のアカウントユーザーと共有されているはずですので、アップシートから共有カレンダーのデータは同期して、他のユーザーのカレンダー上で見れるようになるのではないでしょうか?
2.いくつか手法はあると思います。
まずカレンダーテーブルには、現在、FROM/TOの日時のフィールドから計算したDURATIONがあるものと了解しました。以降の参照のためカラム名を[期間]としておきます。
まず、新たにカレンダーテーブルを作成します。
[Date] というひとつのカラムだけです。
Dateにはご希望の開始日、例えば2000/1/1 と一番上におき、以降、2000/2/1, 2000/3/1といった風に一か月毎の月初の日付のデータを作成しておきます。必要となる将来日付まで。
このテーブルを読み込みます。そしてvcを追加します。計算はTEXT([Date],"YYYY/MM")です。テキストで年/月の値を動的に作成するわけです。
そしてこのVCをテーブルのKEY/ラベルに指定してください。DEFAULTではDATEがKEYとされているのでこれを変更です。
カレンダーテーブルには日付のフィールドがあるはずです。その日付をベースに同じようにVCを作成し、TEXT([日付],"YYYY/MM")という関数を入力します。そして、カラムタイプをREFに指定。上で作成したカレンダーテーブルをLOOKUPさせます。
あらたに追加作成した年・月の値のカレンダーのテーブルにはLISTタイプのカラムが自動生成されます。親子関係です。
[Related Calendars]みたいに表示されているはずです。
そして、こちらの年月カレンダーテーブルにVCを追加します。合計期間(BY年月)とでもしておきましょう。動的に年・月毎の期間の合計を計算させるわけです。
必要な関数は
sum([Related Calendars][期間])
二つのフィールド名の間に. ピリオドは必要ありませんのでご注意ください。
この年・月のカレンダーテーブルからチャート、TABLE,ご希望・お望みのVIEWを作成されれば、年・月毎に合計された期間の数字が見れるようになるはずです。