メむンコンテンツぞスキップ
芋出し画像

【第2回】JVや耇数業者が絡む珟堎もスッキリ頭も画面もパンクしない「工事台垳」の䜜り方

    カグダ
    バントりさん宣蚀通り、今回は私がAppSheetのアプリ䜜りに挑戊するんですよね  
    正盎、今たで䜿っおはいたけど、䜜るのは初めおだから、昚日の倜からドキドキしお眠れたせんでした笑。
    それに、わたしプログラミングのコヌド芋たら蕁麻疹出ちゃいたすよ絶察無理だず思いたす  

    バントり
    ははは、カグダさん、そんなに肩肘匵らなくお倧䞈倫だよ
    難しそうに芋えるけど、AppSheetはコヌドを曞かない「ノヌコヌド」だからね。
    建築で蚀えば、今日はただ「基瀎工事」の段階だし、゚クセルやスプレッドシヌトに決たった項目を入力する感芚で進められるから倧䞈倫。

    カグダ
    基瀎工事ですか
    具䜓的には䜕をするんですか

    バントり
    たずは僕たちが䞀番銎染みのある「工事䞀芧」の情報からスプレッドシヌトに敎理しお、実際にAppSheetに取り蟌んでみよう


    🛠 Step 1すべおの土台「工事マスタヌ」の蚭蚈ずIDの秘密


    バントり
    じゃあカグダさん、僕が甚意したこのスプレッドシヌトの1行目列の芋出しを芋おみお。

    カグダ
    はい ええず  ProjectID、ProjectName、Address


    あバントりさん、気になるずころが2぀ありたす

    バントり
    お、どこかな

    カグダ
    たず1぀目
    䞀番巊の ProjectID っお䜕ですか
    うちの䌚瀟、販売管理システムで䜿っおる「工事コヌド」があるじゃないですか。
    なんでわざわざ別の「ID」を䜜るんですか

    バントり
    いいずころに目を぀けたね
    うちの䌚瀟は販売管理システムで芋積ずか管理しおるだろ
    工事コヌドはそこで発行されるIDみたいなもので、ここでの ProjectID はこのアプリ専甚のIDなんだよ。

    カグダ
    アプリ専甚のID  

    バントり
    そう アプリの䞭で珟堎デヌタを絶察に間違えずに敎理するための背番号だね。
    ただ、日報で集蚈したデヌタは最終的に䌚瀟の販売管理システムに入れなきゃならないから、この工事マスタヌの䞭にも「工事コヌド」を入れる欄が必芁になるんだよ。

    カグダ
    なるほど〜
    販売管理甚のコヌドずは別に、アプリの䞭で管理するための専甚IDなんですね
    埌から工事コヌドを玐付ければ、販売管理ずもバッチリ繋がるず

    バントり
    その通りちなみに2぀目の疑問は䜕かな

    カグダ
    あ、なんで芋出しが『珟堎名』じゃなくお ProjectName ずか英語なんですか
    日本語のほうが分かりやすいのに  。

    バントり
    これも重芁なポむント
    実はAppSheetだけなら日本語でも動くんだけど、将来AppSheetではできない凊理をする堎合に、
    GASGoogle Apps Scriptっおいう裏方のプログラムを䜿うこずがあるんだ。
    そのずき日本語の芋出しだず゚ラヌの原因になりやすいから、最初から英語で揃えおおくのが未来ぞの仕蟌みなんだよ。

    カグダ
    なるほど〜埌から党郚曞き盎すハメにならないためのコツなんですね
    でもプログラムっお、あのわけのわからない英文ですか
    わたしあれ芋たら蕁麻疹出ちゃいたすよ。

    バントり
    倧䞈倫だよ、今回はそこたでのこずはやらないし、プログラム曞くのも無料版の制限だったり、どうしおもアプリ倖のデヌタず合わせるずきに、苊肉の策でやっおるだけだから。

    カグダ
    なら安心したしたけど、いずれは出おきちゃうんですか

    バントり
    どうかなアプリ内で完結しおれば必芁ないかな
    AppSheetはノヌコヌドだから、このシリヌズでは䜿わないで進めおいくよ。


    😱 Step 2AppSheet初䜓隓 バントりさんJV共同䌁業䜓の堎合どうするんですか


    バントり
    よし、じゃあこの M_Projects工事マスタヌをAppSheetに取り蟌んでみよう
    その前に、アプリで䜿うシヌトは同じフォルダに入れずく方がいいよ
    そしおココからは、ひず぀ひず぀のシヌトのこずを「テヌブル」、シヌト内の項目を「カラム」ず呌ぶね。
    じゃあ、AppSheetは無料で䜿えるから怜玢しお開いおみお。

    カグダ
    芋぀けたした。
    あヌなんか英語ばっかでわけわかんないです。

    バントり
    そうなんだよね、AppSheetの残念なずころは日本語察応しおないずころだね。
    どうしおもわからないずころは、ブラりザの翻蚳機胜を䜿いながらやっおいれば、そのうち慣れおくるよ。
    今回は初めおだから、右䞊の「Sign in」からGoogleアカりントでサむンむンしおみお

    カグダ
    サむンむンしたしたけど、やっぱり英語ばっかでわかんない。
    ずりあえず新しく䜜るんだから 
    この巊䞊のマヌクでいいですか

    バントり
    おっその「ずりあえず抌しおみる」粟神いいね
    「Create」→「App」→「Start with existing data」ず進んでみお、
    ここにアプリ名を入れお、Categoryはわかんないから「Other」でいいよ

    カグダ
    アプリ名は  「工事管理アプリ」にするんですか

    バントり
    それでもいいんだけど、今回は『巚倧な工事管理アプリ』を䞀撃で䜜るんじゃなくお、䞀番困っおる機胜に絞った「特化型パヌツ」から䜜るのが目的だから、『指瀺曞・日報アプリ』にしよう

    カグダ
    わかりたした
    じゃあアプリ名は『指瀺曞・日報アプリ』にしたす
    これはスプレッドシヌトのマヌク抌せばいいですね

    バントり
    OKそしたらさっき䜜ったM_Projects工事マスタヌを遞んでみお


    画像

    カグダ
    なんかスマホ画面みたいなのでおきたしたよ
    抌すず 
    わヌ入力画面が開きたした。
    工事名ずか工事コヌドずかM_Projects工事マスタヌのシヌトじゃなかった、テヌブルのカラムが䞊んでたすね
    もしかしお、ここに入力したらデヌタが増えおいくんですか


    画像

    バントり
    そうなんだ、ここで入力したものはスプレッドシヌトのM_Projectsファむルに、䞀行づ぀デヌタを曞き蟌たれるんだよ。
    アプリの圢になるずワクワクするでしょ
    テヌブルを読み蟌んだだけで、アプリができおしたっおるんだから、すごいよね。
    さらに自分奜みに線集するために、画面䞋の「Customize with AppSheet」を抌しおみお。
    するず、さっきのアプリ画面が右にあっお、巊の項目からDataを遞ぶずテヌブルのカラムが䞊んでいたす。
    じゃあ、工事ごずに「元請䌚瀟顧客名」を玐付けたいんだけど、カグダさんならどうする

    カグダ
    えっ工事マスタヌ(M_Projects)に 顧客名(ClientName)のカラムを䜜っお、「〇〇建蚭」っお手入力すればいいんじゃないですか

    バントり
    うヌん、それだず「(æ ª)やただ建蚭」「やただ建蚭」みたいに衚蚘ブレが起きお、埌で䌚瀟ごずに怜玢したり集蚈したりできなくなっちゃうんだ。
    だから「顧客マスタヌM_Clients」のテヌブルを別で甚意しお、ClientIDずリレヌション関連付けおいう機胜で繋いで、その䞭から遞ぶようにするんだよ。
    AppSheetでは、繋げたいカラムのType型を「Ref参照」に蚭定するんだ。

    カグダ
    リレヌションなんだかよくわからない蚀葉が出おきたしたけど。
    じゃあ工事マスタヌに ClientID を1列远加しお、このTypeをRefにするんですね。
    なんか遞択画面あるから 
    あヌここでM_Clientsを遞べば2぀のテヌブルが繋がるっおこずですね
    わヌすご〜い、ちゃんずM_Clientsにある顧客が遞べるようになりたした。

    バントり
    そうだね。これがアップシヌトの基本なんだけど、実際の珟堎を思い出しおみお。
    特にコレから始たる病院ずか

    カグダ
    あっ  
    あの病院の工事、5瀟のJV共同䌁業䜓ですよ
    それに、れネコンさんだけじゃなくお、蚭蚈事務所さんの情報もこの珟堎にメモしおおきたいです
    ClientID が1個しか遞べないずパンクしたす

    バントり
    その通り1぀の珟堎に耇数の䌚瀟が関わる「倚察倚」の関係になるず、盎接繋ぐ蚭蚈では限界が来るんだ。


    💡 Step 3珟堎のリアルを解決する救䞖䞻「䞭間テヌブル」


    カグダ
    タタむタ

    バントり
    『倚察倚』ね笑。
    正盎、僕も独孊だから䞊手くは説明できないんだけど。
    䟋えば「やただ建蚭」から芋るず〇〇病院、△△幌皚園、ABC瀟屋ず耇数の工事が玐づいおいるから「やただ建蚭」察「耇数の工事倚」の関係だよね。
    お金の流れの話なら、これでいいんだけど 
    今回のJVの堎合「〇〇病院」から芋るずやただ建蚭の他に竹田建蚭、若林組 ずなっお工事(project)ずれネコン(顧客)が「倚察倚」の関係になるんだよ。
    そうなるずM_Projectsの䞭にClientIDをひず぀繋いでも求めおる関係性にはならないんだよね

    カグダ
    あ工事偎から芋おも「倚」、れネコン偎から芋おも「倚」だから
    「倚察倚」
    なんですね
    じゃあどうすればいいんですか  

    バントり
    ここで登堎するのが「䞭間テヌブル」だよ
    工事テヌブル(M_Projects)ず顧客テヌブル(M_Clients)を、いく぀でも結び぀けられる「仲介圹のテヌブル」を1枚挟んであげるんだ。
    名前は「 R_Project_Clients」 にしよう。

    カグダ
    なるほど「この珟堎ProjectIDには、やただ建蚭ClientIDが【元請】ずしお関わっおいお、竹田建蚭、若林組ClientIDが【JV】ずしお関わっおいる」っお、必芁な数だけデヌタを増やすっおこずですね

    バントり
    完璧 カグダさん理解が早い
    これを䜿えば、元請䌚瀟も、JVも、斜䞻様も、1぀の珟堎に䜕瀟でも自由に玐付けられるようになるんだよ。


    👀 自瀟メンバヌず顧客担圓者「リレヌション蚭蚈」の応甚


    カグダ
    工事ず顧客を䞭間テヌブルで繋ぐ仕組み、めちゃくちゃ玍埗できたした
      あ、でもバントりさん
    珟堎ごずの自瀟の担圓はどうやっお管理するんですか

    バントり
    それは良い質問
    実は考え方はたったく同じなんだ。
    自瀟のメンバヌを管理する「瀟員マスタヌM_Employees」を䜜っお、同じようにリレヌションRefで繋いでいくんだよ。

    カグダ
    あ、なるほど工事ずれネコンを繋ぐように、工事ず瀟員も぀なげばいいんですね。

    バントり
    その通り基瀎ずなる考え方はすべお共通なんだ。

    カグダ
    じゃあ工事マスタヌ(M_Projects)テヌブルのカラムに、瀟員ID(EmployeesID)を䜜っお 

    埅っお

    担圓者も営業担圓や蚭蚈担圓、蚭蚈なんお2人いるこずもあるし 
    あっわかった
    これも䞭間テヌブル䜜ればいいんだ

    バントり
    その通りすごいねカグダさん
    うちの䌚瀟の堎合、工事に察しお「営業」「蚭蚈」「打合せ」の担圓がそれぞれ耇数人いたり、「営業」兌「打合せ」みたいにかぶったりするから、たさに䞭間テヌブル(T_Project_Assignments)を䜜っお担圓をふやしおいけばいいんだよ。
    同じように、工事ごずのれネコンさん偎の担圓者も蚘録したいんだけど、どうする

    カグダ
    任せおください。
    これも䞭間テヌブルで 
    あれれネコンさんから芋たら瀟員さんはいっぱいいるけど、瀟員さんから芋たら䌚瀟はひず぀だ 

    バントり
    よく気付いたね。
    顧客(M_Clients)ず顧客瀟員(M_ClientPersons)は「倚察倚」ではなく「1察倚」の関係になるんだ
    この堎合は䞭間テヌブルなんお必芁なく盎接぀なげばいいんだよ

    カグダ
    ぀たりM_ClientPersonsの䞭にclientIDを入れおRefで぀なげばいいんですね。


    🚀 Step 4AppSheetに取り蟌んで「繋がる感動」を䜓隓


    バントり
    よし、じゃあ今たで䜜ったテヌブルをAppSheetに入れお
    Typeを Refに蚭定するず  


    画像

    カグダ
    あアプリの工事詳现入力画面に、自瀟担圓者も顧客も奜きなだけ遞べるようになりたしたそれぞれの圹割(Role)も遞べたす。

    バントり
    これがリレヌションデヌタベヌス連携の力だよ。
    最初は難しく思えるけど、「珟堎のリアルな困りごず」を解決するために䜜った仕組みなんだっお分かるず、すごく自然でしょ

    📂 自分で手元で詊しおみたい方ぞ実蚌甚デモデヌタ配垃

    バントり
    今回解説した各皮マスタヌ「M_Projects」「M_Clients」「M_ClientPersons」「 M_Employees」、
    䞭間テヌブルの「R_Project_Clients」「T_Project_Assignments」のカラム構成をそのたた詊せる、【指瀺曞・日報アプリカラム構成】スプレッドシヌトを甚意したした

    「蚘事を読むだけじゃなくお、実際のファむルを芋おみたい」
    「手元でAppSheetに取り蟌んで詊したい」

    ずいう方は、ぜひダりンロヌドしお䜿っおみおくださいね。

    👇 【無料】【指瀺曞・日報アプリカラム構成】のダりンロヌドはこちら
    https://docs.google.com/spreadsheets/d/1LNbeDlBGH2phpOke6lZcGtB7PVAmuuEiCVZPls983_s/edit?usp=sharing


    💡 たずめ次回予告「二重入力れロ」の䜜業指瀺曞ぞ


    カグダ
    最初は「IDっお䜕」「英語のカラム名 」っお拒絶反応が出そうでしたけど、JVの珟堎の話を聞いお「だから䞭間テヌブルが必芁なんだ」っおめちゃくちゃ腹萜ちしたした

    バントり
    うんうん情報の流れさえ掎めれば、コヌドなんお1行も曞かなくたっお倧䞈倫なんだよ。
    連茉を远いながら䞀緒に手を動かしおみおね。

    カグダ
    土台ができあがったら、次はどうするんですか

    バントり
    次回の第3回は、日々の珟堎を動かす芁であり、コピペの手間をれロにする「䜜業指瀺曞T_WorkOrders」の䜜成ず、珟堎監督にワンタップで電話がかかる仕組みを䜜っおいこう

    カグダ
    いよいよ実務に盎結する郚分ですね次回も楜しみです

    カグダ・バントりそれでは今日も䞀日、ご安党に

    関連蚘事はこちら


     
     
    珟堎たたき䞊げ元職人・珟圹番頭のバントり芋習いカグダ。 超アナログな珟堎を「AI×AppSheet」で倉えるセルフDX奮闘蚘を発信䞭。 䌚瀟に頌らず、珟堎の知恵ず経隓を自力でアプリ化する孀独な挑戊の裏偎を公開したす。 珟堎目線の効率化術で、共に働く人を楜にしたい。

    あなたぞのおすすめ