Tuesday, July 7, 2020

Power Automate: Calculate Soundex of a word with a flow

In this video, I will be showing you how to use Power Automate to calculate the Soundex value of a word using a flow. This calculation uses the American standard algorithm, but can be adapted to support other algorithms developed for the English language.

 

In building the workflow you will learn how to use the ScopeCompose, and Append To String actions, the Do Until and If Then control structures, along with the substring(), replace(), add(), and mult() functions. Please leave your comments below.

References:
Wikipedia Soundex entry - https://en.wikipedia.org/wiki/Soundex

Downloads:
Power Automate Cookbook: Click here

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Friday, June 19, 2020

Power Automate: Building a REST endpoint with the HTTP Request connector

In this video I show you how to build a REST endpoint with the Power Automate HTTP Request connector to be used as a web service to transfer data to a on-premises SQL database. In the process, I will be using Postman API development platform to test the endpoint and submit data to a Microsoft Dynamics GP company database via its eConnect API stored procedures.

 

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Wednesday, June 10, 2020

Power Apps: Calculating various dates with date functions

In this article, I will show you how to leverage the DateDiff(), DateAdd(), Weekday(), DateValue(), and Day(), and Today() functions to calculate all sort of dates that are typical to business applications: first and last day of previous month, first and last day of previous quarter, first and last day of previous week, first and last day of current month, first and last day of current quarter, first and last day of current week, first and last day of next month, first and last day of next quarter, first and last day of next week, etc.



Let's begin:

Each calculation is self-contained for convenience sake, which means the only dependency is on the cdt context variable.

Current Date
UpdateContext({cdt:Today()});
Note: you could also use the Now() function, but be aware that this function also includes the timestamp.

First Day of Previous Month
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            mts: DateDiff(
                rootdate,
                cdt,
                Months
            ) - 1
        },
        DateAdd(
            rootdate,
            mts,
            Months
        )
    )
)

Last Day of Previous Month
DateAdd(cdt, -Day(cdt), Days)

First Day of Current Month
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            mts: DateDiff(
                rootdate,
                cdt,
                Months
            )
        },
        DateAdd(
            rootdate,
            mts,
            Months
        )
    )
)

Last Day of Current Month
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            mts: DateDiff(
                rootdate,
                cdt,
                Months
            ) + 1
        },
        With(
            {
                FirstNxtMonth: DateAdd(
                    rootdate,
                    mts,
                    Months
                )
            },
            DateAdd(
                FirstNxtMonth,
                -1,
                Days
            )
        )
    )
)

First Day of Next Month
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            mts: DateDiff(
                rootdate,
                cdt,
                Months
            ) + 1
        },
        DateAdd(
            rootdate,
            mts,
            Months
        )
    )
)

Last Day of Next Month
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            mts: DateDiff(
                rootdate,
                cdt,
                Months
            ) + 2
        },
        With(
            {
                FirstNxtMonth: DateAdd(
                    rootdate,
                    mts,
                    Months
                )
            },
            DateAdd(
                FirstNxtMonth,
                -1,
                Days
            )
        )
    )
)

First Day of Previous Quarter
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            qtrs: DateDiff(
                rootdate,
                cdt,
                Quarters
            )
        },
        DateAdd(
            rootdate,
            qtrs - 1,
            Quarters
        )
    )
)

Last Day of Previous Quarter
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            qrtr: DateDiff(
                rootdate,
                cdt,
                Quarters
            )
        },
        With(
            {
                NxtQrtr: DateAdd(
                    rootdate,
                    qrtr,
                    Quarters
                )
            },
            DateAdd(
                NxtQrtr,
                -1,
                Days
            )
        )
    )
)

First Day of Current Quarter
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            qtrs: DateDiff(
                rootdate,
                cdt,
                Quarters
            )
        },
        DateAdd(
            rootdate,
            qtrs,
            Quarters
        )
    )
)

Last Day of Current Quarter
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            qrtr: DateDiff(
                rootdate,
                cdt,
                Quarters
            ) + 1
        },
        With(
            {
                NxtQrtr: DateAdd(
                    rootdate,
                    qrtr,
                    Quarters
                )
            },
            DateAdd(
                NxtQrtr,
                -1,
                Days
            )
        )
    )
)

First Day of Next Quarter
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            qrtr: DateDiff(
                rootdate,
                cdt,
                Quarters
            ) + 1
        },
        With(
            {
                NxtQrtr: DateAdd(
                    rootdate,
                    qrtr,
                    Quarters
                )
            },
            DateAdd(
                NxtQrtr,
                0,
                Days
            )
        )
    )
)

Last Day of Next Quarter
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            qrtr: DateDiff(
                rootdate,
                cdt,
                Quarters
            ) + 2
        },
        With(
            {
                NxtQrtr: DateAdd(
                    rootdate,
                    qrtr,
                    Quarters
                )
            },
            DateAdd(
                NxtQrtr,
                -1,
                Days
            )
        )
    )
)

First Day of Previous Week
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            diffval: DateDiff(
                rootdate,
                cdt,
                Days
            ),
            Offset: 1 - Weekday(cdt)
        },
        DateAdd(
            cdt,
            Offset - 7,
            Days
        )
    )
)

Last Day of Previous Week
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            diffval: DateDiff(
                rootdate,
                cdt,
                Days
            ),
            Offset: 1 - Weekday(cdt)
        },
        DateAdd(
            cdt,
            Offset - 1,
            Days
        )
    )
)

First Day of Current Week
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            diffval: DateDiff(
                rootdate,
                cdt,
                Days
            ),
            Offset: 1 - Weekday(cdt)
        },
        DateAdd(
            cdt,
            Offset,
            Days
        )
    )
)

Last Day of Current Week
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            diffval: DateDiff(
                rootdate,
                cdt,
                Days
            ),
            Offset: 1 - Weekday(cdt)
        },
        DateAdd(
            cdt,
            Offset + 6,
            Days
        )
    )
)

First Day of Next Week
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            diffval: DateDiff(
                rootdate,
                cdt,
                Days
            ),
            Offset: 1 - Weekday(cdt)
        },
        DateAdd(
            cdt,
            Offset + 7,
            Days
        )
    )
)

Last Day of Next Week
With(
    {rootdate: DateValue("01/01/1900")},
    With(
        {
            diffval: DateDiff(
                rootdate,
                cdt,
                Days
            ),
            Offset: 1 - Weekday(cdt)
        },
        DateAdd(
            cdt,
            Offset + 13,
            Days
        )
    )
)

You can download the application on the Power Apps Community apps gallery

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1
LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Monday, June 8, 2020

Power Apps: Mixed Reality spatial controls

For the final installment of the Power Apps Mixed Reality series, I'm going to show you how to use the MR spatial controls, Shape in MR and Measure in MR. You will get to understand a bit more about the available properties for these controls and how they interact with collections and galleries to produce an app.


To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Thursday, May 28, 2020

Power Apps - Mixed Reality 3D Viewer and MR Viewer controls

In this video, I show you how Power Apps Mixed Reality works from the ground up. We will build a simple app that leverages the 3D Viewer and MR Viewer controls to display a 3D model of Star Trek's USS Endeavour. Somewhere, I also introduce the use of the Power Apps Self operator and show you how you can capture images from your Augmented Reality (AR) experience and store them in a collection

 

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Fun and Non-Traditional uses for Power BI, Power Apps and Power Automate

In this video, I teamed up with fellow Microsoft MVPs, Belinda Allen and Daniel Christian, to show some non-traditional use cases for Power Platform. You will see examples on motion and creating motion patterns for things like the Solar System in Power Apps, cool data analysis of everything from the lottery numbers to UFO sightings to fact checking politicians in Power BI, and a showcase of Star Trek's Starfleet with using mixed reality, along with some Galaga game concepts, all in Power Apps.

 

Recorded at the Virtual Power Platform World Tour held on May 14, 2020.

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Wednesday, May 6, 2020

#Hack4GoodMBAS 2020 Global Hackaton

This past weekend, I was privileged to participate on the 24-hour Hack4Good MBAS 2020 global hackathon, carried out prior to the Microsoft Business Applications Summit 2020.

The theme for this hackathon revolved around COVID-19 and challenged all participating teams to create innovative solutions leveraging the entire Microsoft stack to solve a single problem. The hackathon involved teams from across all continents.




From left to right and top to bottom, me, Vivek Bavishi, Jon Levesque, April Dunnam, Geetha Sivasailam, and Joe Unwin, collectively Team FlowFam.

Our use of Microsoft Power Platform, Mixed/Augmented Reality, and advanced search and location services and data storage allows this solution to be used in several settings, but we decided to build a tool that could potentially help government and city planning officials, along with military engineers to quickly locate facilities and public spaces, measure and create floor plans, quickly calculate and plan bed space requirements, and place a request for beds to fill the space.

This 5 minutes video summarizes our 24 hour effort - more to come!



Here's the announcement by the judges evaluating the #Hack4GoodMBAS hackathon solutions. Our solution, SpaceR, was selected with one other among 11 teams participating across the Americas and has been entered into a pool of world finalists (APAC, EMEA, AMER) where it will be evaluated by a team of Microsoft judges.

Winner will be announced at the next Microsoft Business Applications Summit which you can register and attend for free.

 

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Friday, May 1, 2020

Power Platform Share with Steve, Mariano, and Belinda (Episode 7)

I caught up with fellow MVP’s Steve Endow and Belinda Allen again for our Power Platform Share and have invited a special guest, fellow MVP Reza Dorrani to present some of the latest Power Platform features and stuff he's been working on. Suffice to say Reza blew us away with his COVID-19 tracker while showing some of the new mapping and geospatial capabilities available with Power Apps.

 

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Working Remotely with Microsoft Dynamics GP

I had a chance to sit down with fellow MVPs Belinda Allen and Shawn Dorward, GPUG All*Star Amber Bell, and Zubin Gidwani from Dynamic Budgets to talk about "Work from Home" strategies with Dynamics GP amidst the Coronavirus stay at home orders

Each one of us was tasked with presenting a rapid fire session outlining an approach to work remotely with Microsoft Dynamics GP.


To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Friday, April 17, 2020

Power Apps - Introduction to Mixed Reality

This is the first video in a 2-part series that explains some of the basic concepts behind Mixed Reality. Learn what is a model, how you can compose a model file, pack it for consumption by Power Apps and having fun while doing it all.

 

Disclaimer:

I am no mixed reality expert. This is just my personal experience trying to understand the elements and concepts behind it for the everyday citizen developer. I don't talk about Azure Mixed Reality or anything the Azure platform has to offer to developers. This is a simple "here's how you compose and pack a model for use with Power Apps Mixed Reality" video.

References:

GLTF to GLB Packer - click here
Microsoft 3D Viewer - click here
Microsoft Paint 3D support documentation - click here

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Monday, March 23, 2020

Power Virtual Agents - Create a Chat Bot for your on-premises ERP

This video shows how you can combine the power of Microsoft Power Virtual Agents chat bots and Power Automate flows with your on-premises data to provide an all around navigation-free user experience.

While this video features Microsoft Dynamics GP as the on-premises ERP, technically speaking, you could create a chat bot for just about any ERP system in the market, whether on-premises or in the cloud. In fact, why stop at ERPs?

 

Reference:

Power Virtual Agents page - click here
Use Power Virtual Agents Connector to build Power Automate flows for your bot - click here

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Saturday, March 14, 2020

Power Apps - Using Azure Text Analytics to monitor Coronavirus COVID-19 updates

In this video I describe a Disease Monitor App I created as part of the #TemplatesForHumanity effort championed by Keith Wathling (Twitter: @KeithWathling) a couple years ago and that I have completely rehauled to support Coronavirus with an updated interface and approach to retrieve sentiment analysis with Azure Text Analytics.

You will learn about:
  • Using Text Analytics API in Power Apps (click here)
  • Power Apps Collections (click here)
  • Power Apps UpdateIf() function (click here)


References:

Download this app from my GitHub repo here.
#TemplatesForHumanity on Twitter here.

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Thursday, March 5, 2020

Using Power Apps & Power Automate with On-Premises Data

Hello everyone!

I sit down with Samuel Adranyi (@sadranyi) from Ghana, on his Power Series show, to demystify the user of Microsoft Power Apps and Power Automate with on-premises data. We cover the On-premises Data Gateway, its architecture, hybrid connectors, and provide a couple samples on accessing on-premises ERP data with both Power Apps and Power Automate.

 

References:

What is the On-premises Data Gateway? - click here
Install an on-premises data gateway - click here


To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Saturday, February 22, 2020

Power Automate - Affirmation messages with Flic and the Twilio connector

In this video you will learn how to setup a Twilio account, provision a phone number, and combine this with Flic and Power Automate to create an affirmation messaging system. You will also learn about the HTTP connector and the Parse JSON action. The result is this fun application of technology to deal with the everyday tensions in life. However, you can apply this to any areas of the enterprise, i.e., to create an emergency alert system or a company wide notification system.

 

References: Power Automate - Setting up and registering Flic hubs and buttons - https://youtu.be/PJbiS02pvEs

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Friday, February 14, 2020

Power Automate - UI flows Introduction

Hello Friends!

I had a chance to sit down with the incredible Jon Levesque, Senior Program Manager on the Microsoft Power Automate team to do a UI Flows 101 session. The result? A video with over 8K views!



This video covers the basics:

1. How to get started
2. Where to find the On-premises Data Gateway
3. Installing the UI Flows desktop plug-in
4. Types of UI flows
5. A simple demo on how to automate a desktop application

References:

UI Flows Setup documentation: https://docs.microsoft.com/en-us/power-automate/ui-flows/setup
To download UI Flows Installer: click here
To download Selenium IDE for Web Automation: click here
To download the On-premises Data Gateway: click here

With these items installed, you should be all set to follow along with me and Jon in this tutorial!

To check out my YouTube channel visit: https://youtube.com/user/mgomezb1

LIKE AND SUBSCRIBE!!!

Until next post!

MG.-
Mariano Gomez, MVP

Power Automate - Setting Up and registering Flic hubs and buttons

Most videos about this subject show you how to create all sort of Flic demos, but most don't stop to show you how to get the Flic hub and buttons set up and registered with Power Automate. This video will explain where to obtain the software, how and where to install it, the Flic hub and buttons pairing and registration with Power Automate, and how to get a flow started that leverages the hub and buttons.

 

References:

Flic 2 Smart Button website: https://flic.io/

Until next post!

MG.-
Mariano Gomez, MVP