Учитывается ли это жесткое кодирование в функциях холста приложения Powerapps? - PullRequest
0 голосов
/ 12 декабря 2018

Ниже приведено то, что я написал, могу ли я узнать, считаются ли функции приложения canvas жестко закодированными ...:

If(
    "EC - Empire Complex" in BuildingDropdown.Selected.Value &&
        "Storey 1" in StoreyDropdown.Selected.Value &&
        "Office" in AreaNameDropdown.Selected.Value,
    Distinct(
        Filter(
            Area,
            "1" in buildingID,
            "Storey 1" in storey_x0020_,
            "Office" in areaName_x0020_),
        areaDescription_x0020_)))

1 Ответ

0 голосов
/ 12 декабря 2018

Исходя из вашего первого редактирования (где у вас было все выражение, а не только упрощенная версия), это, безусловно, можно улучшить.Чтобы ответить на главный вопрос - да, выражение жестко кодирует значения в выражениях in там, где это не нужно.

Например, посмотрите на начало этого выражения:

If(
    "EC - Empire Complex" in BuildingDropdown.Selected.Value &&
        "Storey 1" in StoreyDropdown.Selected.Value &&
        "Office" in AreaNameDropdown.Selected.Value,
    Distinct(
        Filter(
            Area,
            "1" in buildingID,
            "Storey 1" in storey_x0020_,
            "Office" in areaName_x0020_),
        areaDescription_x0020_),
    If(
        "EC - Empire Complex" in BuildingDropdown.Selected.Value &&
            "Storey 1" in StoreyDropdown.Selected.Value &&
            "Meeting rooms" in AreaNameDropdown.Selected.Value,
        Distinct(
            Filter(
                Area,
                "1" in buildingID,
                "Storey 1" in storey_x0020_,
                "Meeting rooms" in areaName_x0020_),
            areaDescription_x0020_),
        If(
            "EC - Empire Complex" in BuildingDropdown.Selected.Value &&
                "Storey 1" in StoreyDropdown.Selected.Value &&
                "Pantry" in AreaNameDropdown.Selected.Value,
            Distinct(
                Filter(
                    Area,
                    "1" in buildingID,
                    "Storey 1" in storey_x0020_,
                    "Pantry" in areaName_x0020_),
                areaDescription_x0020_),
            // And many more lines

Выражения в операторах Filter, кажется, происходят непосредственно из условий в предложении If, поэтому они могут использоваться непосредственно в них:

If(
    "EC - Empire Complex" in BuildingDropdown.Selected.Value,
    Distinct(
        Filter(
            Area,
            "1" in buildingID,
            StoreyDropdown.Selected.Value in storey_x0020_,
            AreaNameDropdown.Selected.Value in areaName_x0020_),
        areaDescription_x0020_))
...