semantic-link-labs 0.5.0__py3-none-any.whl → 0.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of semantic-link-labs might be problematic. Click here for more details.
- semantic_link_labs-0.7.0.dist-info/METADATA +148 -0
- semantic_link_labs-0.7.0.dist-info/RECORD +111 -0
- {semantic_link_labs-0.5.0.dist-info → semantic_link_labs-0.7.0.dist-info}/WHEEL +1 -1
- sempy_labs/__init__.py +45 -15
- sempy_labs/_ai.py +42 -85
- sempy_labs/_bpa_translation/_translations_am-ET.po +828 -0
- sempy_labs/_bpa_translation/_translations_ar-AE.po +860 -0
- sempy_labs/_bpa_translation/_translations_cs-CZ.po +894 -0
- sempy_labs/_bpa_translation/_translations_da-DK.po +894 -0
- sempy_labs/_bpa_translation/_translations_de-DE.po +933 -0
- sempy_labs/_bpa_translation/_translations_el-GR.po +936 -0
- sempy_labs/_bpa_translation/_translations_es-ES.po +915 -0
- sempy_labs/_bpa_translation/_translations_fa-IR.po +883 -0
- sempy_labs/_bpa_translation/_translations_fr-FR.po +938 -0
- sempy_labs/_bpa_translation/_translations_ga-IE.po +912 -0
- sempy_labs/_bpa_translation/_translations_he-IL.po +855 -0
- sempy_labs/_bpa_translation/_translations_hi-IN.po +892 -0
- sempy_labs/_bpa_translation/_translations_hu-HU.po +910 -0
- sempy_labs/_bpa_translation/_translations_is-IS.po +887 -0
- sempy_labs/_bpa_translation/_translations_it-IT.po +931 -0
- sempy_labs/_bpa_translation/_translations_ja-JP.po +805 -0
- sempy_labs/_bpa_translation/_translations_nl-NL.po +924 -0
- sempy_labs/_bpa_translation/_translations_pl-PL.po +913 -0
- sempy_labs/_bpa_translation/_translations_pt-BR.po +909 -0
- sempy_labs/_bpa_translation/_translations_pt-PT.po +904 -0
- sempy_labs/_bpa_translation/_translations_ru-RU.po +909 -0
- sempy_labs/_bpa_translation/_translations_ta-IN.po +922 -0
- sempy_labs/_bpa_translation/_translations_te-IN.po +896 -0
- sempy_labs/_bpa_translation/_translations_th-TH.po +873 -0
- sempy_labs/_bpa_translation/_translations_zh-CN.po +767 -0
- sempy_labs/_bpa_translation/_translations_zu-ZA.po +916 -0
- sempy_labs/_clear_cache.py +12 -8
- sempy_labs/_connections.py +77 -70
- sempy_labs/_dax.py +7 -9
- sempy_labs/_generate_semantic_model.py +75 -90
- sempy_labs/_helper_functions.py +371 -20
- sempy_labs/_icons.py +23 -0
- sempy_labs/_list_functions.py +855 -427
- sempy_labs/_model_auto_build.py +4 -3
- sempy_labs/_model_bpa.py +307 -1118
- sempy_labs/_model_bpa_bulk.py +363 -0
- sempy_labs/_model_bpa_rules.py +831 -0
- sempy_labs/_model_dependencies.py +20 -16
- sempy_labs/_one_lake_integration.py +18 -12
- sempy_labs/_query_scale_out.py +116 -129
- sempy_labs/_refresh_semantic_model.py +23 -10
- sempy_labs/_translations.py +367 -288
- sempy_labs/_vertipaq.py +152 -123
- sempy_labs/directlake/__init__.py +7 -1
- sempy_labs/directlake/_directlake_schema_compare.py +33 -30
- sempy_labs/directlake/_directlake_schema_sync.py +60 -77
- sempy_labs/directlake/_dl_helper.py +233 -0
- sempy_labs/directlake/_get_directlake_lakehouse.py +7 -8
- sempy_labs/directlake/_get_shared_expression.py +5 -3
- sempy_labs/directlake/_guardrails.py +20 -16
- sempy_labs/directlake/_list_directlake_model_calc_tables.py +17 -10
- sempy_labs/directlake/_show_unsupported_directlake_objects.py +3 -2
- sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +10 -5
- sempy_labs/directlake/_update_directlake_partition_entity.py +169 -22
- sempy_labs/directlake/_warm_cache.py +7 -4
- sempy_labs/lakehouse/_get_lakehouse_columns.py +1 -1
- sempy_labs/lakehouse/_get_lakehouse_tables.py +65 -71
- sempy_labs/lakehouse/_lakehouse.py +5 -3
- sempy_labs/lakehouse/_shortcuts.py +20 -13
- sempy_labs/migration/__init__.py +1 -1
- sempy_labs/migration/_create_pqt_file.py +184 -186
- sempy_labs/migration/_migrate_calctables_to_lakehouse.py +240 -269
- sempy_labs/migration/_migrate_calctables_to_semantic_model.py +78 -77
- sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +444 -425
- sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +96 -102
- sempy_labs/migration/_migration_validation.py +2 -2
- sempy_labs/migration/_refresh_calc_tables.py +94 -100
- sempy_labs/report/_BPAReportTemplate.json +232 -0
- sempy_labs/report/__init__.py +6 -2
- sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +9 -0
- sempy_labs/report/_bpareporttemplate/.platform +11 -0
- sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +710 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +11 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +191 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +438 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +127 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +576 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +207 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +506 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +127 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +513 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +8 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +112 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +11 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +513 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +352 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +37 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +542 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +221 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +127 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +576 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +127 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +9 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +38 -0
- sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +10 -0
- sempy_labs/report/_bpareporttemplate/definition/report.json +176 -0
- sempy_labs/report/_bpareporttemplate/definition/version.json +4 -0
- sempy_labs/report/_bpareporttemplate/definition.pbir +14 -0
- sempy_labs/report/_generate_report.py +260 -139
- sempy_labs/report/_report_functions.py +90 -59
- sempy_labs/report/_report_rebind.py +40 -34
- sempy_labs/tom/__init__.py +1 -4
- sempy_labs/tom/_model.py +601 -181
- semantic_link_labs-0.5.0.dist-info/METADATA +0 -22
- semantic_link_labs-0.5.0.dist-info/RECORD +0 -53
- sempy_labs/directlake/_fallback.py +0 -58
- {semantic_link_labs-0.5.0.dist-info → semantic_link_labs-0.7.0.dist-info}/LICENSE +0 -0
- {semantic_link_labs-0.5.0.dist-info → semantic_link_labs-0.7.0.dist-info}/top_level.txt +0 -0
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: semantic-link-labs
|
|
3
|
-
Version: 0.5.0
|
|
4
|
-
Summary: Semantic Link Labs project
|
|
5
|
-
Author: Microsoft Corporation
|
|
6
|
-
License: MIT License
|
|
7
|
-
Project-URL: Repository, https://github.com/microsoft/semantic-link-labs.git
|
|
8
|
-
Classifier: Development Status :: 3 - Alpha
|
|
9
|
-
Classifier: Intended Audience :: Developers
|
|
10
|
-
Classifier: Intended Audience :: Education
|
|
11
|
-
Classifier: Intended Audience :: Science/Research
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
14
|
-
Classifier: Framework :: Jupyter
|
|
15
|
-
Requires-Python: <3.12,>=3.10
|
|
16
|
-
License-File: LICENSE
|
|
17
|
-
Requires-Dist: semantic-link-sempy >=0.7.5
|
|
18
|
-
Requires-Dist: anytree
|
|
19
|
-
Requires-Dist: powerbiclient
|
|
20
|
-
Provides-Extra: test
|
|
21
|
-
Requires-Dist: pytest >=8.2.1 ; extra == 'test'
|
|
22
|
-
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
sempy_labs/__init__.py,sha256=Xpq66PKo8KK7QIP0QYme_X_FyfZnpOBsli2V4bnMNYo,4843
|
|
2
|
-
sempy_labs/_ai.py,sha256=WNCLh8wzZ7brXJWe2CNC79D9NHeS-2KpAWCIAlvZD7U,17784
|
|
3
|
-
sempy_labs/_clear_cache.py,sha256=ELHcD4smBS3EiHEO1Ux97yV_Q7j_zB8TJJ4-kS1ylCU,1394
|
|
4
|
-
sempy_labs/_connections.py,sha256=ghYtHBLTaTmYwgllh6I3zfFjG5lcxM2BAQR52B3z-t0,7795
|
|
5
|
-
sempy_labs/_dax.py,sha256=u4qVxsu2dVaOJmso-ErScNZ5yI4lGQTlon_jmrAzvGs,2148
|
|
6
|
-
sempy_labs/_generate_semantic_model.py,sha256=rBi1jmLQJNq9NOt56AqqYzAXBJ2DX2bpG7FYrHXyiEA,9180
|
|
7
|
-
sempy_labs/_helper_functions.py,sha256=RlLtpEmBpoX285sSFKBBjkPfXqp8_FSIwYcoR4rZG58,14251
|
|
8
|
-
sempy_labs/_icons.py,sha256=WkmhtLcQPO1PlcwFklb253dBLpwGUyXLwxn9_-nu3s0,215
|
|
9
|
-
sempy_labs/_list_functions.py,sha256=Gc49_Q5e9CmdsVntvq0wFv1qdGInhhejxcvn-Vokyds,80791
|
|
10
|
-
sempy_labs/_model_auto_build.py,sha256=SGz3ASfKJBpYdgFRPoofiU7kpsjPDBkeB3qCntKb6qs,5083
|
|
11
|
-
sempy_labs/_model_bpa.py,sha256=xEp5LdqoMLBsUDzGWnfNrFCwr9tz9-2QDSi0NwnvXFI,63191
|
|
12
|
-
sempy_labs/_model_dependencies.py,sha256=S8u0f7AAVL6Zk1Jm35EqbLsIEGD8KwBGc_kH1AlBI1A,12948
|
|
13
|
-
sempy_labs/_one_lake_integration.py,sha256=XlGKghnYtXIprUdUI5fQj0ddshxE_AvUowb9YIrL2CE,6184
|
|
14
|
-
sempy_labs/_query_scale_out.py,sha256=xkyCFz7vchxB6c6cMIhZXUWifOduanSbv1KGQbkmVls,15214
|
|
15
|
-
sempy_labs/_refresh_semantic_model.py,sha256=bTVUNEdQiJDxQh1T0g4aYU3-VHaN9__qFAOYbx85-O0,6622
|
|
16
|
-
sempy_labs/_translations.py,sha256=sH_-W8vdQ632lY68RxM5a2lCmy4MRDFXLxjvMuw4xQg,18054
|
|
17
|
-
sempy_labs/_vertipaq.py,sha256=04hQ-A4wuW6gi4zIccmVoDDByk34Rp-QTkRXSo6XLfI,33266
|
|
18
|
-
sempy_labs/directlake/__init__.py,sha256=HbfHvDvGE4H-xSbV6JO7TUb4HoLGJf2AeuqeQxIuuJ4,1689
|
|
19
|
-
sempy_labs/directlake/_directlake_schema_compare.py,sha256=axqSYQHMs3zAhFAF3DMNdm2SK1k-95j_Zh-pZZXv8SQ,4636
|
|
20
|
-
sempy_labs/directlake/_directlake_schema_sync.py,sha256=EMDPAVn53EN1PM769AxKspb_cVDcCazz4kHMKvWqJMQ,5119
|
|
21
|
-
sempy_labs/directlake/_fallback.py,sha256=2dX5MRU2d04_jA799TaPezSQJWW-NrflDtdURge6Ceo,1995
|
|
22
|
-
sempy_labs/directlake/_get_directlake_lakehouse.py,sha256=vEY1QBU7gAdoVQIGl59T_1TTYuXbHgk3pZA41EkVkl8,2358
|
|
23
|
-
sempy_labs/directlake/_get_shared_expression.py,sha256=ngZCnoOjj278n6Yql7TVZ36z89HDej9JSRuoRWALxDs,1926
|
|
24
|
-
sempy_labs/directlake/_guardrails.py,sha256=iReOycR6caBuBWpEOIpicZS_7kkSGJLTUDf2Ch0QUCE,2280
|
|
25
|
-
sempy_labs/directlake/_list_directlake_model_calc_tables.py,sha256=C6C8WycGV4NQOQifh3XexBZx9hm30-Ac56sCo4MfqgI,2082
|
|
26
|
-
sempy_labs/directlake/_show_unsupported_directlake_objects.py,sha256=oumzh7mXghkFFqFDDK7bBmNMRWnOZeE1DxuMsEPSBzo,3365
|
|
27
|
-
sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py,sha256=lY4JlbKwow664sXK4cZ22PFTy9Gw79R-6TYx36uz8SY,3183
|
|
28
|
-
sempy_labs/directlake/_update_directlake_partition_entity.py,sha256=KzUvP4r0-UOylXgM46cVKoUlbIFEpxO3ThMQl9JU-Gw,3140
|
|
29
|
-
sempy_labs/directlake/_warm_cache.py,sha256=codsJhifbn8yO8Cjo40syRtFnIArIvpWQ726WZ88ZsQ,8211
|
|
30
|
-
sempy_labs/lakehouse/__init__.py,sha256=i6VRx4dR1SIN-1GxioiNwhC4FxbozRCIz5TfXjb9rKc,587
|
|
31
|
-
sempy_labs/lakehouse/_get_lakehouse_columns.py,sha256=QGmuH3uFuxv_mIjm4HTXaX-s1UFb9BbHnaCx9kTHgy8,2594
|
|
32
|
-
sempy_labs/lakehouse/_get_lakehouse_tables.py,sha256=g_kKtntm5uPbIxNrunOVhzuKvJfC-9g5awxul2KSmUI,9085
|
|
33
|
-
sempy_labs/lakehouse/_lakehouse.py,sha256=ovm5S4hk3aLChFCzUGWIJmL3wJ47wRycoh0mbBd8pRA,2774
|
|
34
|
-
sempy_labs/lakehouse/_shortcuts.py,sha256=voKile93krzWK7ccmKVk2_fv1lioyAq5rk8YrJ6qy6k,6895
|
|
35
|
-
sempy_labs/migration/__init__.py,sha256=l5v8pC2INdNwbAKVmvWpuVxs6lpb6omim_4BPOmNo4E,1042
|
|
36
|
-
sempy_labs/migration/_create_pqt_file.py,sha256=PGC21nhIsE9TKyz110tYaf4Nle6-eV1xqvBOqUSEDQY,8986
|
|
37
|
-
sempy_labs/migration/_migrate_calctables_to_lakehouse.py,sha256=ajFvHauFdEsbgxvn9JXj2kiXaRtJLEjwX4hWQG7FQy0,20609
|
|
38
|
-
sempy_labs/migration/_migrate_calctables_to_semantic_model.py,sha256=Co2f579vSwkWZ95SlBStS-XJ73YwgcdfAMlJbUv_pkk,6343
|
|
39
|
-
sempy_labs/migration/_migrate_model_objects_to_semantic_model.py,sha256=q4oYBDHXvcTExeufmcOOeK3jv_9A2Xef5ksyEwG0PfA,23801
|
|
40
|
-
sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py,sha256=qohJC6ARjM8NiMH7nZEKqUEXMrh-IqhdeUzgrBNZ1DQ,7028
|
|
41
|
-
sempy_labs/migration/_migration_validation.py,sha256=R7xz_OFmYRO4fxFWxvdl_ORZQKzqflsSBnGapmS067c,2508
|
|
42
|
-
sempy_labs/migration/_refresh_calc_tables.py,sha256=VumJaTiA3bTfm8jWwyIl7gxW4-a7W_3auGjWRcvd65g,6043
|
|
43
|
-
sempy_labs/report/__init__.py,sha256=fkjbkAXZuH7VnAn-k3iB4dngWZKaX-k0bxS6mBa9iAs,846
|
|
44
|
-
sempy_labs/report/_generate_report.py,sha256=uFbTO_7GSItt5wM_yZrKybEQ3kQoqXKbY1bGzlOW5c0,8502
|
|
45
|
-
sempy_labs/report/_report_functions.py,sha256=5rzYaS_8Gj9FEyCgysWIsLxiE-DaCgPNArI9YIe4Jvo,29515
|
|
46
|
-
sempy_labs/report/_report_rebind.py,sha256=hsXXOl6C06hH-SU_TaKBInjIXHf-uRZru7uCHpbRJYA,4756
|
|
47
|
-
sempy_labs/tom/__init__.py,sha256=hFwkmWk5AZ7GK1LWqoqaK1g4gDmu9mZMkfLQvLsR_eE,130
|
|
48
|
-
sempy_labs/tom/_model.py,sha256=a3EXOj_yXxl0aQQfWa5bolC2q-KdCgQMF8CrrQ6aPrU,136859
|
|
49
|
-
semantic_link_labs-0.5.0.dist-info/LICENSE,sha256=ws_MuBL-SCEBqPBFl9_FqZkaaydIJmxHrJG2parhU4M,1141
|
|
50
|
-
semantic_link_labs-0.5.0.dist-info/METADATA,sha256=TINv_gW59FHx2uvyUwYSH9MxKls6eO7XYji03ab-kYk,764
|
|
51
|
-
semantic_link_labs-0.5.0.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
|
|
52
|
-
semantic_link_labs-0.5.0.dist-info/top_level.txt,sha256=kiQX1y42Dbein1l3Q8jMUYyRulDjdlc2tMepvtrvixQ,11
|
|
53
|
-
semantic_link_labs-0.5.0.dist-info/RECORD,,
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import sempy
|
|
2
|
-
import sempy.fabric as fabric
|
|
3
|
-
import numpy as np
|
|
4
|
-
from typing import List, Optional, Union
|
|
5
|
-
import sempy_labs._icons as icons
|
|
6
|
-
|
|
7
|
-
def check_fallback_reason(dataset: str, workspace: Optional[str] = None):
|
|
8
|
-
"""
|
|
9
|
-
Shows the reason a table in a Direct Lake semantic model would fallback to DirectQuery.
|
|
10
|
-
|
|
11
|
-
Parameters
|
|
12
|
-
----------
|
|
13
|
-
dataset : str
|
|
14
|
-
Name of the semantic model.
|
|
15
|
-
workspace : str, default=None
|
|
16
|
-
The Fabric workspace name.
|
|
17
|
-
Defaults to None which resolves to the workspace of the attached lakehouse
|
|
18
|
-
or if no lakehouse attached, resolves to the workspace of the notebook.
|
|
19
|
-
|
|
20
|
-
Returns
|
|
21
|
-
-------
|
|
22
|
-
pandas.DataFrame
|
|
23
|
-
The tables in the semantic model and their fallback reason.
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
workspace = fabric.resolve_workspace_name(workspace)
|
|
27
|
-
|
|
28
|
-
dfP = fabric.list_partitions(dataset=dataset, workspace=workspace)
|
|
29
|
-
dfP_filt = dfP[dfP["Mode"] == "DirectLake"]
|
|
30
|
-
|
|
31
|
-
if len(dfP_filt) == 0:
|
|
32
|
-
raise ValueError(f"{icons.red_dot} The '{dataset}' semantic model is not in Direct Lake. This function is only applicable to Direct Lake semantic models.")
|
|
33
|
-
else:
|
|
34
|
-
df = fabric.evaluate_dax(
|
|
35
|
-
dataset=dataset,
|
|
36
|
-
workspace=workspace,
|
|
37
|
-
dax_string="""
|
|
38
|
-
SELECT [TableName] AS [Table Name],[FallbackReason] AS [FallbackReasonID]
|
|
39
|
-
FROM $SYSTEM.TMSCHEMA_DELTA_TABLE_METADATA_STORAGES
|
|
40
|
-
""",
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
value_mapping = {
|
|
44
|
-
0: "No reason for fallback",
|
|
45
|
-
1: "This table is not framed",
|
|
46
|
-
2: "This object is a view in the lakehouse",
|
|
47
|
-
3: "The table does not exist in the lakehouse",
|
|
48
|
-
4: "Transient error",
|
|
49
|
-
5: "Using OLS will result in fallback to DQ",
|
|
50
|
-
6: "Using RLS will result in fallback to DQ",
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
# Create a new column based on the mapping
|
|
54
|
-
df["Fallback Reason Detail"] = np.vectorize(value_mapping.get)(
|
|
55
|
-
df["FallbackReasonID"]
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
return df
|
|
File without changes
|
|
File without changes
|