urashineの稀記録

アウトプットするための環境

CountRowsの代わりに使ってみた -AllItemsCount-

SharePointリストをデータソースとしてアプリを作成した際、リストのアイテム総件数を表示するのに「CountRows関数」をよく利用していました。関数名も記憶に残りやすく便利で多用していたのですが、このCountRows関数は現時点では「委任をサポートしていない」関数とのこと。

learn.microsoft.com

 

正直この”委任”について(データも多くなることないし問題ないだろうと)今まで重要視していなかったです。しかし現職ではこの"委任"、特に厳しく見られるのでアプリ作成に慎重になっています😵

 

ということで、CountRows関数を使わずにアイテム件数を表示できないか少し調べました。結果、ギャラリーコントロールのプロパティの1つ、『AllItemsCount』を採用することにしました。

 

ただし、以下引用にもある通り、リストのアイテムが多いと実際の数よりも少なく表示されるかもしれないとのこと。具体的な数の記載は確認できていませんが、業務利用で採用する場合は要検証。。。

 

■AllItemsCountについて

AllItemsCount – ギャラリーに読み込まれたアイテム数。 これは、データ ソース の アイテム の実際の数よりも少ない場合があります。 ギャラリーをスクロールすると、さらに多くのアイテムが読み込まれる場合があります。

learn.microsoft.com

書き換えてみた

ちなみに自宅の環境では、子どもの保育園への登園記録をリストで自動記録しています。これをPower Appsのキャンバスアプリで絶賛利用中。

ギャラリーの右上に、登録件数と表示させています。これを今までは、CountRows関数を使っていました。委任警告の黄色波線も確認できます。

CountRows関数を使った件数表示

こちらをギャラリーコントロールのAllItemsCountプロパティで同じように件数表示!

AllItemsCountプロパティを使った件数表示に切り替え

うまく切り替えることができました。
CountRows関数よりも入力がスッキリしているので個人的には好きです。
件数がどのぐらいまで正常表示されるのか気になりますが、30件ぐらいの少ない件でしたら問題ないことを確認しました!

もし業務利用で採用することになれば検証することになると思うので、その際は忘れずに追記します。

 

p.s. 家族内でこのアプリを使ってもらいたいけどライセンス料が気になって購入先延ばし中。気にならないくらいの鱈腹お給料でいたい。

DAXで稼働日数を可視化! -NETWORKDAYS-

Power BIでDAX、『NETWORKDAYS関数』を使っただけの記録。
『NETWORKDAYS関数』は稼働日数の可視化で利用した。

NETWORKDAYS(<start_date>, <end_date>[, <weekend>, <holidays>])

<start_date> ・・・ 稼働日集計対象の1日目
<end_date> ・・・ 稼働日集計対象の最終日
<weekend> ・・・ 稼働日として記録しない曜日を数字で指定(1なら土日)
<holidays> ・・・ 稼働日として記録しない日付を1列のみのテーブルを指定する

 

例)

<start_date>、<end_date> ・・・ DATE関数で指定(メジャー)
<weekend>・・・稼働日として土日曜日を記録外とするため「1」を指定
<holidays>・・・HOLIDAYSテーブル(1列の情報のみ)を作成し指定
                             ※加えて、自社独自の休日などを加えると尚良さそう

上記各パラメータを使用して、NETWORKDAY関数を使用。
(下図例では、WORK DAYSとしてメジャーを作成。)

NETWORKDAYSを使った例

カードビジュアルに、作成したメジャーをフィールドに設定してみると、
248と数値が表示された。

稼働日数が可視化されました!

カードビジュアルに、作成したメジャーをフィールドに指定

<start_date>や<end_date>を可変できるようにすることで
さらに良くなること間違いなし。(※初学者には思いつかないので一旦固定)

HOLIDAYSをスライサーで動かしている様子

learn.microsoft.com

複数の項目の取得アクションでフィルタークエリを使って1エントリまで絞ったら、first関数!

取得したのは1件なのに、 繰り返し処理になっちゃう

SharePointのアクション、『複数の項目の取得』でリストから1件だけ取得できるようにフィルター クエリを調整したのに、いざ後続のアクションで使用すると勝手にApply to eachアクションが加わってしまう時の対応メモ。

このままでも処理的には問題なさそうだけど、設計書起こしだとか、処理速度だったり色々ありそうなので、スマートな作り方になるよう『first関数』に(本当に今更ですが)挑戦しました。

続きを読む