小编Nat*_*her的帖子

iif函数是否计算SSRS中的两个路径或者它是否已短路?

我试图根据产品的销售额来评估每公斤价格($/Kg).如果产品在指定期间内实际销售,则此方法可以正常工作.但是,如果产品未售出,则Kg(分母)最终为0(零)并产生错误. - 除以零错误.

我试过这个

=iif(KgSold=0,0,Revenue/KgSold)
Run Code Online (Sandbox Code Playgroud)

似乎该iif函数正在计算真假结果.我该如何解决这个问题.

我应该使用该switch功能吗?

=switch(KgSold=0,0
        KgSold<>0,Revenue/KgSold)
Run Code Online (Sandbox Code Playgroud)

iif-function reportingservices-2005 reporting-services

19
推荐指数
2
解决办法
3988
查看次数

NHibernate中映射视图的策略

似乎NHibernate需要将一个id标记指定为映射的一部分.这给视图带来了问题,因为大多数时候(根据我的经验)视图都没有Id.我之前在nhibernate中映射了视图,但是我这样做的方式对我来说似乎很混乱.

这是我目前如何做的一个人为的例子.

制图

  <class name="ProductView" table="viewProduct" mutable="false" >
    <id name="Id" type="Guid" >
      <generator class="guid.comb" />
    </id>
    <property name="Name" />
<!-- more properties -->
  </class>
Run Code Online (Sandbox Code Playgroud)

查看SQL

Select NewID() as Id, ProductName as Name, --More columns
From Product  
Run Code Online (Sandbox Code Playgroud)

public class ProductView
{
    public virtual Id {get; set;}
    public virtual Name {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我不需要产品的ID或者在某些视图的情况下我可能没有视图的ID,这取决于我是否可以控制View

有没有更好的方法将视图映射到nhibernate中的对象?

编辑
答案到目前为止

制图

  <class name="ProductView" table="viewProduct" mutable="false" >
    <id name="Id" type="Guid" />
    <property name="Name" />
    <!-- more properties -->
  </class>
Run Code Online (Sandbox Code Playgroud)

 public class ProductView …
Run Code Online (Sandbox Code Playgroud)

nhibernate views nhibernate-mapping

8
推荐指数
1
解决办法
1万
查看次数

审计记录策略

我试图在我的应用程序中决定审计日志记录的最佳方法.日志的主要原因是报告事件序列(更改).

我有一个对象的层次结构,我需要在后一个日期在该层次结构的任何部分发生变化时创建报告.

我认为我有三个选择:

  1. 为每个表创建一个日志,从而匹配对象的层次结构,然后为报告创建一个视图.
  2. 展平层次结构并对表进行反规范化,使报告更容易 - 简单的选择语句.
  3. 有一个日志表并记录每个更改,使报告更难,但更灵活.

我目前倾向于选项1.

nhibernate audit logging

7
推荐指数
2
解决办法
2931
查看次数

如何绕过Sum(First(...))不允许的限制是SSRS2005

我遇到的问题是SQL Server Reporting Services不喜欢Sum(First())表示法.它只允许Sum()或First().

上下文
我正在创建对帐报告.即.什么袜子我们有一个时期的开始,订购什么和我们最后有什么股票.

数据集返回类似的内容

Type,Product,Customer,Stock at Start(SAS), Ordered Qty, Stock At End (SAE)
Export,1,1,100,5,90
Export,1,2,100,5,90
Domestic,2,1,200,10,150
Domestic,2,2,200,20,150
Domestic,2,3,200,30,150

我按类型分组,然后选择产品并列出购买该产品的客户.我想显示SAS,Ordered Qty和SAE的总数,但如果我在SAS或SAE上做了总和,那么当产品1和2分别为100和200时,我得到的值分别为200和600.

我认为我可以做一个Sum(First())但是SSRS抱怨我不能在聚合中有一个聚合.

理想情况下SSRS需要一个Sum(Distinct())

迄今为止的解决方案
1.不要将开始时的库存和最后的库存显示为总计的一部分.
2.直接在报告中编写一些代码来进行计算.尝试过这个 - 没有按照我的预期工作.3.编写程序集进行计算.(没试过这个)

编辑 - 问题澄清
问题源于这样的事实,即实际上两个报告合并为一个(我看到它).生产报告和销售报告.
该报告试图解决这些标准

  • 我们卖给它的市场(出口,国内)
  • 我们有多少库存,
  • 生产了多少,
  • 卖多少钱,
  • 是谁把它卖给了,
  • 我们剩下多少钱.

复杂因素是我们将它卖给谁.不管怎样,它本来就很容易.但包括它意味着其他顶线数字(开始时的库存和最后的库存)与销售的产品无关,而不是特定的产品.

sql-server reportingservices-2005 reporting-services

5
推荐指数
2
解决办法
5595
查看次数

你可以在MySql中使用自动增量而不是主键

我使用GUID作为我所有其他表的主键,但我有一个需要增加数字的要求.我尝试使用自动增量在表中创建一个字段,但MySql抱怨它需要是主键.

我的应用程序使用MySql 5,nhibernate作为ORM.

我想到的可能的解决方案是:

  • 将主键更改为自动增量字段,但仍将Id作为GUID,以便我的应用程序的其余部分保持一致.

  • 使用GUID和自动增量字段创建复合键.

我现在的想法是倾向于复合的关键想法.

编辑:行ID(主键)是当前的GUID.我想添加一个自动增量的INT字段,以便它是人类可读的.我只是不想放弃使用GUID作为主键的应用程序中的当前标准.

mysql sql nhibernate primary-key auto-increment

3
推荐指数
2
解决办法
2万
查看次数

调试SSRS的最佳策略是什么?

我正在寻找方法来追踪SSRS错误发生的位置.

我有一个大约90列宽的报告,包含多个公式.我遇到的问题是,在其中一个公式中存在除零误差.我已经在这个问题中实现了Robert Harvey的答案,但我仍然得到错误.我知道答案是有效的,因为我在一份小报告中对其进行了测试.

所以问题是:当SSRS仅报告发生错误时,您究竟如何确定SSRS中发生错误的位置?

编辑显示的错误是

本地报告处理期间发生错误报告处理期间
出现错误
无法读取数据集的下一个数据行MainReport
Divide By Zero错误已装入

bug-tracking reporting-services

3
推荐指数
1
解决办法
8181
查看次数

在Infopath中检索共享点列表仅显示前100条记录

我正在从sharepoint列表中检索值列表,这很有效但我的问题是它只检索前100条记录.目前有500条记录应该可用.

场景:我在infopath表单上有两个组合框:

  1. 地点列表
  2. 位置内的区域列表

位置列表将过滤区域列表,但由于infopath似乎只检索前100个记录,因此大多数位置不显示任何区域,因为没有任何要过滤的区域.

sharepoint infopath

3
推荐指数
1
解决办法
7426
查看次数

如何使用具有BASIC身份验证的服务工作者(NTLM,协商)

我一直在尝试使用IIS托管网站中的服务工作者来缓存网站的一些静态内容.该站点是使用Windows身份验证的内部应用程序.我已经能够在没有太多麻烦的情况下注册和运行服务工作者,但是只要我打开缓存并开始向缓存添加文件,承诺就会因授权失败而失败.返回的HTTP结果是401 Unauthorized.这是对浏览器和服务器能够协商授权之前的前几个请求的通常响应.

我会尽快发布一些代码来帮助解释.

编辑

var staticCacheName = 'app-static-v1';
console.log("I AM ALIVE");
this.addEventListener('install', function (event) {
    console.log("AND I INSTALLED!!!!");
    var urlsToCache = [
        //...many js files to cache
        '/scripts/numeral.min.js?version=2.2.0',
        '/scripts/require.js',
        '/scripts/text.js?version=2.2.0',
        '/scripts/toastr.min.js?version=2.2.0',
    ];


    event.waitUntil(
        caches.open(staticCacheName).then(function (cache) {
            cache.addAll(urlsToCache);
        }).catch(function (error) {
            console.log(error);
        })
    );
});
Run Code Online (Sandbox Code Playgroud)

ntlm http-negotiate service-worker

3
推荐指数
1
解决办法
1844
查看次数