【Microsoft】Excel関数ベースのプログラミング言語「Microsoft Power Fx」登場 オープンソースで公開予定 [少考さん★]

■ このスレッドは過去ログ倉庫に格納されています
0001少考さん ★2021/03/03(水) 13:29:23.34ID:QA7DmcDv9
※ ITmedia NEWS、新野淳一氏

Excel関数ベースのプログラミング言語「Microsoft Power Fx」登場 オープンソースで公開予定:Microsoft Ignite 2021
https://www.itmedia.co.jp/news/articles/2103/03/news080.html

2021年03月03日 12時00分 公開 [新野淳一,ITmedia]

この記事は新野淳一氏のブログ「Publickey」に掲載された「Excelの数式をベースにしたプログラミング言語「Microsoft Power Fx」登場。オープンソースで公開予定。Microsoft Ignite 2021」(2021年3月2日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。

米Microsoftは3月2日(現地時間)、Excelの数式をベースとしたプログラミング言語「Microsoft Power Fx」(以下、Power Fx)を発表しました。

https://twitter.com/MSPowerApps/status/1366814357468946432

午前3:15 ・ 2021年3月3日・Sprinklr Publishing

Excelの関数を使うだけでなく、動作も似せたものに
Excelには、文字列の長さを得るLEN関数や文字列の一部を取り出すRIFHT関数やLEFT関数、条件判定を行うIF関数、条件に合致するデータを取り出すLookup関数など、さまざまな機能を備えた関数があります。

Power Fxでは主にこうした関数を用いて、必要な値を取得したり、アプリケーションの動作を変化させることになります。

下記の画面では、Power Fxによるif関数がアプリケーション画面に関連付けられており、IF関数内で取得するスライドバーの値によってif関数の戻り値がホワイトもしくはブラックとなり、それによって画面の色が変化する、という動作が実現されます。

https://image.itmedia.co.jp/news/articles/2103/03/mt1626333_IFWENJBGETI-01.jpg

例えば、データベースにある「Employee」テーブルの「First Name」フィールドから、ある値に一致するデータをLookup関数を用いて取得する、といったことがPower Fxで次のように記述できることが示されています。

Lookup( Orders, Number=Selected).Employee.'First Name'

ここではドット「.」によってLookup関数が拡張され、データベースのテーブルからフィールドへとデータソースをドリルダウンできるようになっています。

この数式を画面上の特定のフィールドに張り付ければ、そのフィールドにデータベースから選択された名前が表示される、ということになります。

Power Fxでは、このようにExcelと同様の関数を利用するだけでなく、Excelのセルに数式を入力すればすぐに結果が表示され、さまざまな数式が自動的に計算、再計算されるように、その動作もリアルタイムかつ非同期に行われるようになっています。

プログラマーはVisual Studioで効率的に編集も可能
Power Fxのコードは、アプリケーション画面上の各コントロールのプロパティのように、コントロールに対してコードとなる数式をひもづけられるだけでなく、全体のコードをまとめてVisual Studio Codeなどの開発環境で通常のプログラミング言語のように編集することもできます。

これによりノンプログラマーはExcelでセルに数式を書き込むように、画面上のコントロールに数式を書き込むことで開発を進められる一方、プログラミングに慣れているプログラマーは、Visual StudioやVisual Studio CodeとGitHubなどを用いて効率的に開発やデバッグを進めることができるようになっています。

https://image.itmedia.co.jp/news/articles/2103/03/l_mt1626333_IFWENJBGETI-02.jpg

(略)

※省略していますので全文はソース元を参照して下さい。
https://twitter.com/5chan_nel (5ch newer account)

0412ニューノーマルの名無しさん2021/03/06(土) 12:58:29.27ID:IxNikghZ0
>>411
まさかhtmlに書き出しただけ?

ウチも社内の業務用ポータルをEXCELで作りhtmlに書き出した物を使ってるが
先日標準ブラウザをchromeに変えたら表示が崩れたとクレームが多発。
担当が「どうして直らないんだろ」とウンウン唸ってたが、俺は黙ってる事にしたw

0413ニューノーマルの名無しさん2021/03/06(土) 13:10:43.55ID:umt1T1aB0
>>7 への批判コメントがあるのが理解できない。
たかが帳票に記入するのに、危険があるけどマクロを有効にしてもいいか、などと警告でたら嫌だろ

0414ニューノーマルの名無しさん2021/03/06(土) 13:12:59.89ID:gFiHvOWO0
VBAで十分だろ

0415ニューノーマルの名無しさん2021/03/06(土) 13:27:53.49ID:9NohU4pT0
.net版以降のVBで挫折したオサーンには、VB6ベースのVBAで十分だよ。
C言語は分かるがC++はチンプンカンプンと言うロートル。

0416ニューノーマルの名無しさん2021/03/06(土) 13:34:58.95ID:VSgaSBXs0
ID作ろうとしたら「会社アドレスで登録しろ」ってさw
Microsoftアカウントなら持ってるがちょっと様子見するわ

0417ニューノーマルの名無しさん2021/03/06(土) 13:44:54.18ID:VSgaSBXs0
>>239
ドイツ語版フランス語版はそれぞれの母国語で書けるんだよな
SUM()と書いたら怒られる。SUMME()とかそんなの。

0418ニューノーマルの名無しさん2021/03/06(土) 16:14:53.80ID:/9azRP0P0
vlookupよく使うけどxlookupが使えない
物理的に

0419ニューノーマルの名無しさん2021/03/06(土) 16:20:44.54ID:Xh+LCBJN0
関数詳しい人に聞きたい
Aシートは作業用Bシートは印刷用
同じ内容を列幅が違う隣のシートに常にリンクさせる方法とは?
行削除挿入も対応で
今はifとindexでやってるけどスマートな方法ない?

0420ニューノーマルの名無しさん2021/03/06(土) 16:26:47.83ID:FDkU2yzI0
FFTとかの制限外して欲しいな。

0421ニューノーマルの名無しさん2021/03/06(土) 16:59:43.42ID:Hzrqtgd10
>>419
「リンクされた図」で張り付けって知ってる?
必要な部分をコピーして張り付ける際にリンクされた図を選ぶだけ

0422ニューノーマルの名無しさん2021/03/06(土) 20:39:15.85ID:uIDmRZ/Z0
>>419
query()

0423ニューノーマルの名無しさん2021/03/06(土) 20:50:04.28ID:NNVKDH790
>>421
印刷用Bシートでフィルター印刷したいからそれじゃ無理

0424ニューノーマルの名無しさん2021/03/06(土) 20:53:24.27ID:HcRu0YYr0
>>245
SASみたいにすればいいのにね

0425ニューノーマルの名無しさん2021/03/06(土) 21:40:31.67ID:4WS/VyJW0
>>12
sumif countif offset

0426ニューノーマルの名無しさん2021/03/06(土) 21:51:03.85ID:qJsKnExd0
msは定期的に定着しない言語だす文化なのか。
ASP VB .net

0427ニューノーマルの名無しさん2021/03/06(土) 22:03:31.10ID:uDTzArT40
>>12

=OR
1シート上の中の関数の数で言えば、ダントツで多い。
条件付き書式での判定で必ず使うから。

0428ニューノーマルの名無しさん2021/03/06(土) 22:30:12.64ID:uDTzArT40
VLOOKUPなんて、片手間にやるためにあるので
大量に複雑なVLOOKUP使うような事をする前に
RDB側で処理させる事を考えた方が良い

EXCELに何もかもやらせるなんて、
ロジックの可視化も低くて保守も面倒だから
片手間仕事以外をやらせると引き継ぎの時に偉いことになるぞ。

30年ぐらい前に某大手の勤怠入力承認管理をEXCELで実装したが
今考えたらやってること無茶苦茶すぎたな。
EXCEL95からバージョン上がるごとにバージョンごとに動き違うから
VBAの中でバージョン判定させてロジック変えてたり、
今みたいに10年も20年も同じソースが動く時代じゃ無かった分、
クソ面倒で仕方なかった。
ACCESSとか、二度とやりたくないクソソフト。

0429ニューノーマルの名無しさん2021/03/07(日) 05:28:19.80ID:RP2/1tOS0
PowerAppsってのは使ったことがあるが
まああんな感じなんだろうな

0430ニューノーマルの名無しさん2021/03/07(日) 05:41:18.91ID:39BpTUbk0
これは歓迎だね
Excelを使える大量の一般人を開発に投入できる
今までのプログラミング言語は専門的過ぎた

0431ニューノーマルの名無しさん2021/03/07(日) 08:39:43.56ID:o5jdI/nm0
>>430
これがVBA触った事だけのあるやつを
みずほ銀行の開発案件に放り込もうとする奴の脳みそか...

0432ニューノーマルの名無しさん2021/03/07(日) 09:24:17.67ID:rmwWXywB0
>>428
まぁまだその頃はソフトウェア黎明期だからしゃあないな

0433ニューノーマルの名無しさん2021/03/07(日) 09:46:20.41ID:qSTtJgZh0
>>407 ×人間は難しいことができないから、
○人間は自分の書いたコードすら覚えて置くことができないから、

0434ニューノーマルの名無しさん2021/03/07(日) 09:51:46.64ID:CacOiaz30
セルの見た目と印刷結果が違うのいい加減無くせよ。表示されないなら編集画面の時点で調整しろ。
そのせいで多くの熱帯雨林が伐採された。

0435ニューノーマルの名無しさん2021/03/07(日) 09:54:15.08ID:UsC03/+w0
>>12
vlookup

0436ニューノーマルの名無しさん2021/03/07(日) 09:56:11.15ID:b9hQ9A4J0
>>434
Excelの印刷なんてしなくなったなぁ

0437ニューノーマルの名無しさん2021/03/07(日) 09:56:50.15ID:UGB1//Bw0
1周して
VBに戻ると

0438ニューノーマルの名無しさん2021/03/07(日) 09:58:43.27ID:t3vgKKV+0
VBAって日本で一番用いられてる言語なんじゃないか
一介の事務職のワシでも使ってるからな

0439ニューノーマルの名無しさん2021/03/07(日) 10:09:44.94ID:KMKOqn0+0
画面設計をエクセルライクな感じで出来るって事かな
VisualStudioあんま使わんから知らんけどこれで便利になるのかい

0440ニューノーマルの名無しさん2021/03/07(日) 10:16:27.56ID:V/hcZrjU0
>>3
それでいいよ

0441ニューノーマルの名無しさん2021/03/07(日) 10:21:24.36ID:V/hcZrjU0
>>9
Excelに見た目を要求しなくてもいいだろ
見た目を気にするならWordを使えばいい
Excel機能が必要ならWordの中に組み込めばいい

0442ニューノーマルの名無しさん2021/03/07(日) 10:42:07.50ID:1EwIAEsp0
Excelの関数はシート・セルという二次元表データ構造を
操作すること前提だから、作る側もイメージしやすいのよね
従来の言語は、データ構造に関する自由度が高すぎるがゆえに
個人の技量のブレによるバグの余地があり過ぎた

0443ニューノーマルの名無しさん2021/03/07(日) 10:51:29.54ID:IkEfxJkS0
>>15
ほんこれ。

0444ニューノーマルの名無しさん2021/03/07(日) 14:48:12.24ID:WPBOWSWc0
VBA だとこう書けるのが
=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",
LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))

Power Fx だとこうなる
Right(Input.Text,Len(Input.Text)-
Find("|",
Substitute(Input.Text," ","|",
Len(Input.Text)-Len(Substitute(Input.Text," ","")))))

なるほど、これは凄い!

0445ニューノーマルの名無しさん2021/03/07(日) 14:50:03.66ID:mQaswYME0
言語乱立するのも嫌だがウイルスの元になるもの増やすのはやめてくれ w

0446ニューノーマルの名無しさん2021/03/07(日) 18:05:10.23ID:vkaHMyOw0
仕事の引継ぎができません・・・
エクセルで仕様書作るやつがいるかどうか
検証するのに3倍金がかかるw

0447ニューノーマルの名無しさん2021/03/07(日) 18:08:33.78ID:vkaHMyOw0
まぁエクセルで管理してる仕事はたいしたことないから いいかもしれない

0448ニューノーマルの名無しさん2021/03/07(日) 18:08:34.79ID:Kr8WIOv00
益々中途半端な人間が不要になる

0449ニューノーマルの名無しさん2021/03/07(日) 18:10:21.93ID:vkaHMyOw0
エクセル検証するより
新しく鯖とエクセル作ったほうが安い (仕様の把握に金がかかる

0450ニューノーマルの名無しさん2021/03/07(日) 18:12:01.39ID:vkaHMyOw0
エクセルはUIで 数式はSUMぐらいにしとけ 
検証に莫大な金がかかるぞ 

0451ニューノーマルの名無しさん2021/03/07(日) 18:21:46.18ID:6tY9Y7a10
>>437
と、見せかけてQBまで戻る

0452ニューノーマルの名無しさん2021/03/07(日) 19:39:32.82ID:Oog6vLut0
>>447
6000行*40列くらいあると中々厳しいものがある(´・ω・`)

0453ニューノーマルの名無しさん2021/03/07(日) 19:58:55.71ID:fZDUYjUY0
32bitの初期は1024行くらいで打ち止めだったかexcel

64bit化になんの意味が…とかさんざんけなされたが、
1000x1000マトリクスくらいまではexcelでもいけるようになって
プロトタイピングの規模と敷居が広がって助かる

python対応もこの調子で頼む

0454ニューノーマルの名無しさん2021/03/07(日) 20:27:28.66ID:sj2nwha80
>>453
65000行くらいだよ
でも65536ではなかった

0455ニューノーマルの名無しさん2021/03/07(日) 20:39:20.07ID:Jz/oJKC10
>>453
MSオフィシャルのpython対応はもうやめたよ
外部のpythonのライブラリは昔からいくらでもあるからやりたければ出来る
マクロ的にExcel内部で使いたければVBAか power fxだね
あとはJavaScriptでアドインを書く方法もあるけど微妙

0456ニューノーマルの名無しさん2021/03/07(日) 23:31:30.42ID:o5jdI/nm0
MSのRPAアプリ全部地雷

0457ニューノーマルの名無しさん2021/03/08(月) 00:36:30.02ID:pSyjkKyt0
会社の規定で勝手にソフト入れられないから標準でPython入れてくれると助かるんだが残念

0458ニューノーマルの名無しさん2021/03/08(月) 02:55:27.80ID:tbBp3BT60
>>455 >>457
Pythonは言語仕様の欠陥のため遅い言語で推奨されない
例えば同じスクリプト言語のJavaScriptと比較するとPythonは一桁遅い
機能面でもJavaScriptはよく考えられて設計されておりだからこそブラウザ上ではJavaScriptだけで何もかも出来ている

0459ニューノーマルの名無しさん2021/03/08(月) 05:31:29.75ID:dDUsVag30
Pythonはselfの存在が面倒くさい
普通の言語なら省略できる状況でも省略できない

0460ニューノーマルの名無しさん2021/03/08(月) 05:52:49.35ID:yp0XP6RZ0
>>459
オブジェクト指向を使うからだろ
Pythonは単なる構造化言語としてBASICやCOBOLの代替にするのが最も適している

0461ニューノーマルの名無しさん2021/03/08(月) 09:33:24.34ID:6SJgt5tS0
javascriptでいいのに

0462ニューノーマルの名無しさん2021/03/08(月) 09:45:21.57ID:A3R05fYA0
>>375
VBAのタスクプロパティーが何故かWordにあってExcelにないんだよなぁ

■ このスレッドは過去ログ倉庫に格納されています