65.9K
CodeProject 正在变化。 阅读更多。
Home

DnB 风险分析

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013年7月18日

CPOL

2分钟阅读

viewsIcon

10258

downloadIcon

8

通过使用 DnB Marketplace 数据子集来分析与拥有、投资或与企业合作相关的风险。

引言

变化是不可避免的,不断增长的市场和各种各样的企业也是如此。 因此,分析公司以了解当前的市场趋势、不可预见的事件或处罚对于商业成功的路线图至关重要。

由于 DnB 拥有关于破产、留置权和判决、取消资格、停业指标、年度销售额、环境危害风险区域、绿色认证指标以及世界各地企业的净值的最新信息。 所有这些因素都会经常更新,并为企业的绩效、未来前景和行为准则提供有价值的见解。

我提出的应用程序是一个工具,可用于根据公司名称或 DUNS 编号提取企业的这些各种因素,并列出其他具有相同业务范围的公司。

Web 应用程序链接: http://dnbriskanalysis.cloudapp.net/  

使命  

该应用程序具有双重使命。 这里实现的第一个目标是检索风险决定因素,例如破产、留置权、判决、取消资格、停业指标、年度销售额、环境危害风险区域、绿色认证指标以及给定公司名称或 DUNS 编号的业务净值。

第二个目标是列出具有更好绩效和未来前景的同等业务。 这是通过计算风险因素来实现的。

结果将发布在 Google 地图上。 这将方便用户比较附近业务的各种因素。

目标读者

  1. 供应商 一直以来,供应商都关注寻找买家的信誉并寻找具有相同供应需求的新业务。
  2. 买家 可以基于对提取的各种风险因素的评估,从企业获得商品。
  3. 投资者 可以在将数十亿美元的资金分配到企业的股票、证券或债券之前,观察企业的各种风险因素。
  4. 贷款方 根据取消资格、停业指标、年度销售额和净值确定 LGD(违约损失率)和 PD(违约概率)以分配贷款金额。

Using the Code

  1. 创建一个方法来初始化与 DNBDeveloperSandboxContainer 的连接。
    DNBDeveloperSandboxContainer clntDnN = new DNBDeveloperSandboxContainer(
              new Uri("https://api.datamarket.azure.com/DNB/DeveloperSandbox/v1"));
    public void fnInitializeDnNSandboxData()
    {
        string AccountKey = "YourKey”
        clntDnN.Credentials = new System.Net.NetworkCredential(AccountKey,AccountKey );
        List<string > lstDUNSNo = getDUNSNo();
        getCompanydata(lstDUNSNo);
    }
  2. 创建一个函数来从 Windows Azure Marketplace 获取数据,此函数将为我们感兴趣的每个实体创建一个任务,并将并行执行所有这些任务。
    public void getCompanydata(List<string> strDUNSNo)
    {
        {
            tskGetLatLong = Task<List<LocationLatLong>>.Factory.StartNew(() => getLocationLatLongdata(strDUNSNo));
            tskGetFamilyData = Task<List<FamilyHierarchy>>.Factory.StartNew(() => getFamilyHierarchydata(strDUNSNo));
            tskGetFirmograpgyData = Task<List<Firmographics>>.Factory.StartNew(() => getFirmographicsdata(strDUNSNo));
            tskGetDemographicsData = Task<List<Demographics>>.Factory.StartNew(() => getDemographicsdata(strDUNSNo));
            tskGetPublicRecordsData = Task<List<PublicRecords>>.Factory.StartNew(() => getPublicRecordsdata(strDUNSNo));
            tskGetGreenData = Task<List<Green>>.Factory.StartNew(() => getGreendata(strDUNSNo));
            tskGetMinorityData = Task<List<Minority>>.Factory.StartNew(() => getMinoritydata(strDUNSNo));
            tskGetWomenData = Task<List<Women>>.Factory.StartNew(() => getWomendata(strDUNSNo));
            tskGetVeteranData = Task<List<Veteran>>.Factory.StartNew(() => getVeterandata(strDUNSNo));
            tskGetDisadvantagedData = Task<List<Disadvantaged>>.Factory.StartNew(() => getDisadvantageddata(strDUNSNo));
            Task.WaitAll(tskGetFamilyData, tskGetFirmograpgyData, tskGetLatLong, tskGetPublicRecordsData, 
              tskGetVeteranData, tskGetWomenData, tskGetGreenData, tskGetDisadvantagedData, tskGetMinorityData);
        }
    }
  3. 使用 jQuery AJAX 调用从代码隐藏中获取数据,并利用这些数据在 Google 地图上点击标记时在侧边栏中显示详细信息。
            function showDetails() {
                $(document).ready(function () {
                    var valFromNameBox = $("#txtValueEntered").val();
                    var jsonObj = '{strCompanyorDUNS: "' + valFromNameBox + '"}';
    
                    if (geocoder) {
                        
                       
    
    
                        $.ajax({
                            type: 'POST',
                            contentType: "application/json",
                            url: "DnBRiskAnalysis.aspx/MarkerData",
                            data: jsonObj,
                            dataType: "json",
                            success: function (data) {
                           
                                 $(data.d).each(function (index, item) {
                                  var data = item.split(",");
                                  
                                
                                  var marker = new GMarker(new GLatLng(data[1], data[2]));
                                  map.setCenter(new GLatLng(data[1], data[2]), 6);
                                    GEvent.addListener(marker, "click", function () {
                                        //alert('showed');
                                        getBasicData(data[0]);
                                        getAdvancedData(data[0]);
                                        $('#dynamicTable').show();
                                        
                                    });
                                    
                                    map.addOverlay(marker);
                                   
                                })
                            },
                            error: function (xhr, ajaxOptions, thrownError) {
                                alert(xhr.status);
                                alert(xhr.responseText);
                                alert(thrownError);
                            }
    
                        });
    
                    }
                });
            };
    
            function getBasicData(valFromNameBox) {
                        $(document).ready(function () {
            
                           // var valFromNameBox = $("#txtValueEntered").val();
                            var jsonObj = '{strCompanyorDUNS: "' + valFromNameBox + '"}';
                            $.ajax({
                                type: 'POST',
                                contentType: "application/json",
                                url: "DnBRiskAnalysis.aspx/DisplayBasicDetails",
                                data:jsonObj,
                                dataType: "json",
                                success: function (data) {
                                    var div = $('#dynamicTable');
                                    
                                    var i = 1;
                                    //var tde = $('#basicdata tr:nth-child(2) td:last');
                                    //alert(tde.val());
                                    //alert(tde.text());
                                    //alert(tde.html());
                                    //var index = tde.index('td');
                         
                                    //alert(index);
                                        $(data.d).each(function (index, item) {
                                            i++;
                                            if (item == null)
                                                item = 'NA';
                                            $(div).find('#basicdata tr:nth-child(' + i + ') td:eq(1)').remove();
                                            $(div).find('#basicdata tr:nth-child(' + i + ') td:last').after('<td>' + item + '</td>');
    
                                        });
                                
                                    
                                },
                        
                                error: function (xhr, ajaxOptions, thrownError) {
                                    alert(xhr.status);
                                    alert(xhr.responseText);
                                    alert(thrownError);
                                }
    
                            });
    
                        })
                    };
    
            function getAdvancedData(valFromNameBox) {
                        $(document).ready(function () {
    
                           // var valFromNameBox = $("#txtValueEntered").val();
                            var jsonObj = '{strCompanyorDUNS: "' + valFromNameBox + '"}';
    
                            $.ajax({
                                type: 'POST',
                                contentType: "application/json",
                                url: "DnBRiskAnalysis.aspx/AdvancedDetailsData",
                                data: jsonObj,
                                dataType: "json",
                                success: function (data) {
                                    var div = $('#dynamicTable');
                                    var i = 1;
    
                                    if (div.find('#basicdata tr:nth-child(2) td:last').index != 2) {
                                        $(data.d).each(function (index, item) {
    
                                            if (item == null)
                                                item = 'NA';
                                            i++;
                                            $(div).find('#advanceddata tr:nth-child(' + i + ') td:eq(1)').remove();
                                            $(div).find('#advanceddata tr:nth-child(' + i + ') td:last').after('<td>' + item + '</td>');
    
                                        });
                                    }
                            
                                },
                                error: function (xhr, ajaxOptions, thrownError) {
                                    alert(xhr.status);
                                    alert(xhr.responseText);
                                    alert(thrownError);
                                }
    
                            });
    
                        })
                    };
    
    

UI 快照

1. 输入公司名称或 DUNS 编号,然后单击搜索图像。

   

2. 选中比较复选框,然后点击搜索按钮以显示附近相同的业务。  

3. 点击标记以获取公司的基本和高级详细信息。

 

背景 

风险评估的重要性不应被低估。 风险评估可以简化决策过程,并使企业免于灾难。 风险评估应成为每个组织战略计划的一部分。

© . All rights reserved.